Template Function pinocchio::cholesky::decompose

Function Documentation

template<typename Scalar, int Options, template<typename, int> class JointCollectionTpl>
inline const DataTpl<Scalar, Options, JointCollectionTpl>::MatrixXs &pinocchio::cholesky::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.

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.

Note

The Cholesky decomposition corresponds to \( M = U D U^{\top}\) with \(U\) an upper triangular matrix with ones on its main diagonal and \(D\) a diagonal matrix.

Template Parameters:

JointCollection – Collection of Joint types.

Parameters:
  • model[in] The model structure of the rigid body system.

  • data[in] The data structure of the rigid body system.

Returns:

A reference to the upper triangular matrix \(U\).