Cholesky decompositions. More...
Functions | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Mat > | |
Mat & | computeMinv (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &Minv) |
PComputes the inverse of the joint inertia matrix M from its Cholesky factorization. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl> | |
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. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Mat > | |
Mat | Mv (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &min) |
Performs the multiplication \( M v \) by using the sparsity pattern of the M matrix. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Mat , typename MatRes > | |
MatRes & | Mv (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &min, const Eigen::MatrixBase< MatRes > &mout) |
Performs the multiplication \( M v \) by using the sparsity pattern of the M matrix. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Mat > | |
Mat & | solve (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &y) |
Return the solution \(x\) of \( M x = y \) using the Cholesky decomposition stored in data given the entry \( y \). Act like solveInPlace of Eigen::LLT. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Mat > | |
Mat & | UDUtv (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &m) |
Performs the multiplication \( M v \) by using the Cholesky decomposition of M stored in data. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Mat > | |
Mat & | Uiv (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &v) |
Perform the pivot inversion \( U^{-1}v \) using the Cholesky decomposition stored in data and acting in place. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Mat > | |
Mat & | Utiv (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &v) |
Perform the pivot inversion \( U^{-\top}v \) using the Cholesky decomposition stored in data and acting in place. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Mat > | |
Mat & | Utv (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &v) |
Perform the sparse multiplication \( U^{\top}v \) using the Cholesky decomposition stored in data and acting in place. More... | |
template<typename Scalar , int Options, template< typename, int > class JointCollectionTpl, typename Mat > | |
Mat & | Uv (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, const DataTpl< Scalar, Options, JointCollectionTpl > &data, const Eigen::MatrixBase< Mat > &v) |
Perform the sparse multiplication \( Uv \) using the Cholesky decomposition stored in data and acting in place. More... | |
Cholesky decompositions.
Mat& pinocchio::cholesky::computeMinv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const Eigen::MatrixBase< Mat > & | Minv | ||
) |
PComputes the inverse of the joint inertia matrix M from its Cholesky factorization.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[out] | Minv | The output matrix where the result is stored. |
|
inline |
Compute the Cholesky decomposition of the joint space inertia matrix M contained in data.
The result stored in data.U and data.D matrices. One can retrieve the matrice M by performing the computation data.U * data.D * data.U.transpose() See https://en.wikipedia.org/wiki/Cholesky_decomposition for futher details.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
Mat pinocchio::cholesky::Mv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const Eigen::MatrixBase< Mat > & | min | ||
) |
Performs the multiplication \( M v \) by using the sparsity pattern of the M matrix.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | min | The input matrix to multiply with data.M. |
MatRes& pinocchio::cholesky::Mv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const Eigen::MatrixBase< Mat > & | min, | ||
const Eigen::MatrixBase< MatRes > & | mout | ||
) |
Performs the multiplication \( M v \) by using the sparsity pattern of the M matrix.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in] | min | The input matrix to multiply with data.M. |
[out] | mout | The output matrix where the result of \( Mv \) is stored. |
Mat & solve | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const Eigen::MatrixBase< Mat > & | y | ||
) |
Return the solution \(x\) of \( M x = y \) using the Cholesky decomposition stored in data given the entry \( y \). Act like solveInPlace of Eigen::LLT.
Perform the sparse inversion \( M^{-1}v \) using the Cholesky decomposition stored in data and acting in place.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in,out] | y | The input matrix to inverse which also contains the result \(x\) of the inversion. |
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in,out] | v | The input matrix to multiply with data.M^{-1} and also storing the result. |
Mat& pinocchio::cholesky::UDUtv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const Eigen::MatrixBase< Mat > & | m | ||
) |
Performs the multiplication \( M v \) by using the Cholesky decomposition of M stored in data.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in,out] | m | The input matrix where the result of \( Mv \) is stored. |
Mat& pinocchio::cholesky::Uiv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const Eigen::MatrixBase< Mat > & | v | ||
) |
Perform the pivot inversion \( U^{-1}v \) using the Cholesky decomposition stored in data and acting in place.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in,out] | v | The input matrix to multiply with data.U^{-1} and also storing the result. |
Mat& pinocchio::cholesky::Utiv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const Eigen::MatrixBase< Mat > & | v | ||
) |
Perform the pivot inversion \( U^{-\top}v \) using the Cholesky decomposition stored in data and acting in place.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in,out] | v | The input matrix to multiply with data.U^{-} and also storing the result. |
Mat& pinocchio::cholesky::Utv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const Eigen::MatrixBase< Mat > & | v | ||
) |
Perform the sparse multiplication \( U^{\top}v \) using the Cholesky decomposition stored in data and acting in place.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in,out] | v | The input matrix to multiply with data.U.tranpose() and also storing the result. |
Mat& pinocchio::cholesky::Uv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
const Eigen::MatrixBase< Mat > & | v | ||
) |
Perform the sparse multiplication \( Uv \) using the Cholesky decomposition stored in data and acting in place.
JointCollection | Collection of Joint types. |
[in] | model | The model structure of the rigid body system. |
[in] | data | The data structure of the rigid body system. |
[in,out] | v | The input matrix to multiply with data.U and also storing the result. |