5 #ifndef __pinocchio_cholesky_hpp__
6 #define __pinocchio_cholesky_hpp__
8 #include "pinocchio/multibody/model.hpp"
9 #include "pinocchio/multibody/data.hpp"
36 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
37 inline const typename DataTpl<Scalar, Options, JointCollectionTpl>::MatrixXs &
decompose(
62 template<
typename,
int>
class JointCollectionTpl,
67 const Eigen::MatrixBase<Mat> & y);
84 template<
typename,
int>
class JointCollectionTpl,
86 typename PINOCCHIO_EIGEN_PLAIN_TYPE(Mat)
Mv(
89 const Eigen::MatrixBase<Mat> & min);
107 template<
typename,
int>
class JointCollectionTpl,
113 const Eigen::MatrixBase<Mat> & min,
114 const Eigen::MatrixBase<MatRes> & mout);
131 template<
typename,
int>
class JointCollectionTpl,
136 const Eigen::MatrixBase<Mat> & m);
153 template<
typename,
int>
class JointCollectionTpl,
158 const Eigen::MatrixBase<Mat> & v);
176 template<
typename,
int>
class JointCollectionTpl,
181 const Eigen::MatrixBase<Mat> & v);
201 template<
typename,
int>
class JointCollectionTpl,
206 const Eigen::MatrixBase<Mat> & v);
227 template<
typename,
int>
class JointCollectionTpl,
232 const Eigen::MatrixBase<Mat> & v);
251 template<
typename,
int>
class JointCollectionTpl,
256 const Eigen::MatrixBase<Mat> & v);
273 template<
typename,
int>
class JointCollectionTpl,
278 const Eigen::MatrixBase<Mat> & Minv);
292 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
293 const typename DataTpl<Scalar, Options, JointCollectionTpl>::RowMatrixXs &
computeMinv(
306 #include "pinocchio/algorithm/cholesky.hxx"
308 #if PINOCCHIO_ENABLE_TEMPLATE_INSTANTIATION
309 #include "pinocchio/algorithm/cholesky.txx"
Mat & UDUtv(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &m)
Performs the multiplication by using the Cholesky decomposition of M stored in data.
Mat & Utiv(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &v)
Perform the pivot inversion using the Cholesky decomposition stored in data and acting in place.
Mat & Uv(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &v)
Perform the sparse multiplication using the Cholesky decomposition stored in data and acting in plac...
Mat & Uiv(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &v)
Perform the pivot inversion using the Cholesky decomposition stored in data and acting in place.
Mat & Utv(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &v)
Perform the sparse multiplication using the Cholesky decomposition stored in data and acting in plac...
Mat & solve(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &y)
Return the solution of using the Cholesky decomposition stored in data given the entry ....
const DataTpl< Scalar, Options, JointCollectionTpl >::MatrixXs & decompose(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data)
Compute the Cholesky decomposition of the joint space inertia matrix M contained in data.
Mat & computeMinv(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &Minv)
Computes the inverse of the joint space inertia matrix M from its Cholesky factorization.
Mat Mv(const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &min)
Performs the multiplication by using the sparsity pattern of the M matrix.
Main pinocchio namespace.
RowMatrixXs Minv
The inverse of the joint space inertia matrix (a square matrix of dim model.nv).