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) |
| Computes the inverse of the joint space inertia matrix M from its Cholesky factorization. | |
| template<typename Scalar, int Options, template< typename, int > class JointCollectionTpl> | |
| const DataTpl< Scalar, Options, JointCollectionTpl >::RowMatrixXs & | computeMinv (const ModelTpl< Scalar, Options, JointCollectionTpl > &model, DataTpl< Scalar, Options, JointCollectionTpl > &data) |
| Computes the inverse of the joint space inertia matrix M from its Cholesky factorization. The results is then directly stored in data.Minv. | |
| 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. | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
| 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 | |
Cholesky decompositions.
| 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.
| 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. |
| const DataTpl< Scalar, Options, JointCollectionTpl >::RowMatrixXs & computeMinv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
| DataTpl< Scalar, Options, JointCollectionTpl > & | data ) |
Computes the inverse of the joint space inertia matrix M from its Cholesky factorization. The results is then directly stored in data.Minv.
| 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. |
Definition at line 293 of file cholesky.hpp.
| 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 Mv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
| const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
| const Eigen::MatrixBase< Mat > & | min ) |
Performs the multiplication
| 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 & 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
| 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 |
| Mat & solve | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
| const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
| const Eigen::MatrixBase< Mat > & | y ) |
Return the solution
Perform the sparse 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] | y | The input matrix to inverse which also contains the result |
| 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 & UDUtv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
| const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
| const Eigen::MatrixBase< Mat > & | m ) |
Performs the multiplication
| 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 |
| Mat & Uiv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
| const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
| const Eigen::MatrixBase< Mat > & | v ) |
Perform the pivot 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.U^{-1} and also storing the result. |
| Mat & Utiv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
| const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
| const Eigen::MatrixBase< Mat > & | v ) |
Perform the pivot 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.U^{-\top} and also storing the result. |
| Mat & Utv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
| const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
| const Eigen::MatrixBase< Mat > & | v ) |
Perform the sparse multiplication
| 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 & Uv | ( | const ModelTpl< Scalar, Options, JointCollectionTpl > & | model, |
| const DataTpl< Scalar, Options, JointCollectionTpl > & | data, | ||
| const Eigen::MatrixBase< Mat > & | v ) |
Perform the sparse multiplication
| 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. |