15 #include "pinocchio/macros.hpp"
16 #include "pinocchio/eigen-common.hpp"
18 #include "pinocchio/multibody.hpp"
20 #include "pinocchio/algorithm/check-model.hpp"
48 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
49 inline const typename DataTpl<Scalar, Options, JointCollectionTpl>::MatrixXs &
decompose(
50 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
51 DataTpl<Scalar, Options, JointCollectionTpl> & data);
74 template<
typename,
int>
class JointCollectionTpl,
77 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
78 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
79 const Eigen::MatrixBase<Mat> & y);
96 template<
typename,
int>
class JointCollectionTpl,
98 typename PINOCCHIO_EIGEN_PLAIN_TYPE(Mat)
Mv(
99 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
100 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
101 const Eigen::MatrixBase<Mat> & min);
119 template<
typename,
int>
class JointCollectionTpl,
123 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
124 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
125 const Eigen::MatrixBase<Mat> & min,
126 const Eigen::MatrixBase<MatRes> & mout);
143 template<
typename,
int>
class JointCollectionTpl,
146 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
147 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
148 const Eigen::MatrixBase<Mat> & m);
165 template<
typename,
int>
class JointCollectionTpl,
168 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
169 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
170 const Eigen::MatrixBase<Mat> & v);
188 template<
typename,
int>
class JointCollectionTpl,
191 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
192 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
193 const Eigen::MatrixBase<Mat> & v);
213 template<
typename,
int>
class JointCollectionTpl,
216 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
217 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
218 const Eigen::MatrixBase<Mat> & v);
239 template<
typename,
int>
class JointCollectionTpl,
242 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
243 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
244 const Eigen::MatrixBase<Mat> & v);
261 template<
typename,
int>
class JointCollectionTpl,
264 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
265 const DataTpl<Scalar, Options, JointCollectionTpl> & data,
266 const Eigen::MatrixBase<Mat> & Minv);
280 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
281 const typename DataTpl<Scalar, Options, JointCollectionTpl>::RowMatrixXs &
computeMinv(
282 const ModelTpl<Scalar, Options, JointCollectionTpl> & model,
283 DataTpl<Scalar, Options, JointCollectionTpl> & data)
295 #include "pinocchio/src/algorithm/cholesky.hxx"
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...
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 & 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 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.