5 #ifndef __pinocchio_cholesky_hpp__
6 #define __pinocchio_cholesky_hpp__
8 #include "pinocchio/multibody/model.hpp"
9 #include "pinocchio/multibody/data.hpp"
34 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
35 inline const typename DataTpl<Scalar,Options,JointCollectionTpl>::MatrixXs &
36 decompose(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
37 DataTpl<Scalar,Options,JointCollectionTpl> & data);
53 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat>
54 Mat &
solve(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
55 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
56 const Eigen::MatrixBase<Mat> & y);
69 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat>
70 typename PINOCCHIO_EIGEN_PLAIN_TYPE(Mat)
71 Mv(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
72 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
73 const Eigen::MatrixBase<Mat> & min);
87 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat,
typename MatRes>
88 MatRes &
Mv(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
89 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
90 const Eigen::MatrixBase<Mat> & min,
91 const Eigen::MatrixBase<MatRes> & mout);
105 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat>
106 Mat &
UDUtv(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
107 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
108 const Eigen::MatrixBase<Mat> & m);
121 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat>
122 Mat &
Uv(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
123 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
124 const Eigen::MatrixBase<Mat> & v);
137 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat>
138 Mat &
Utv(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
139 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
140 const Eigen::MatrixBase<Mat> & v);
155 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat>
156 Mat &
Uiv(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
157 const DataTpl<Scalar,Options,JointCollectionTpl> & data ,
158 const Eigen::MatrixBase<Mat> & v);
173 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat>
174 Mat &
Utiv(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
175 const DataTpl<Scalar,Options,JointCollectionTpl> & data ,
176 const Eigen::MatrixBase<Mat> & v);
189 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat>
190 Mat &
solve(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
191 const DataTpl<Scalar,Options,JointCollectionTpl> & data ,
192 const Eigen::MatrixBase<Mat> & v);
205 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl,
typename Mat>
206 Mat &
computeMinv(
const ModelTpl<Scalar,Options,JointCollectionTpl> & model,
207 const DataTpl<Scalar,Options,JointCollectionTpl> & data,
208 const Eigen::MatrixBase<Mat> & Minv);
221 template<
typename Scalar,
int Options,
template<
typename,
int>
class JointCollectionTpl>
222 const typename DataTpl<Scalar,Options,JointCollectionTpl>::RowMatrixXs &
235 #include "pinocchio/algorithm/cholesky.hxx"
237 #endif // ifndef __pinocchio_cholesky_hpp__