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 & 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 & 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.
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 & 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 & 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 ....
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 & 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 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.
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...
Main pinocchio namespace.
RowMatrixXs Minv
The inverse of the joint space inertia matrix (a square matrix of dim model.nv).