pinocchio  3.9.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
Loading...
Searching...
No Matches
DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition > Struct Template Reference
Inheritance diagram for DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition >:
Collaboration diagram for DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition >:

Public Types

enum  { Options = traits<Self>::Options , RowsAtCompileTime = traits<Self>::RowsAtCompileTime }
typedef DelassusOperatorBase< SelfBase
typedef SparseCholeskyDecomposition CholeskyDecomposition
typedef traits< Self >::DenseMatrix DenseMatrix
typedef traits< Self >::Scalar Scalar
typedef DelassusOperatorSparseTpl Self
typedef traits< Self >::SparseMatrix SparseMatrix
typedef traits< Self >::Vector Vector
Public Types inherited from DelassusOperatorBase< DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition > >
typedef PowerIterationAlgoTpl< Vector > PowerIterationAlgo
typedef traits< DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition > >::Scalar Scalar
typedef traits< DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition > >::Vector Vector

Public Member Functions

template<typename MatrixDerived>
 DelassusOperatorSparseTpl (const Eigen::SparseMatrixBase< MatrixDerived > &mat)
template<typename MatrixIn, typename MatrixOut>
void applyOnTheRight (const Eigen::MatrixBase< MatrixIn > &x, const Eigen::MatrixBase< MatrixOut > &res_) const
Eigen::DenseIndex cols () const
SparseMatrix inverse () const
SparseMatrix matrix () const
template<typename MatrixDerived>
MatrixDerived operator* (const Eigen::MatrixBase< MatrixDerived > &x) const
Eigen::DenseIndex rows () const
Eigen::DenseIndex size () const
template<typename MatrixDerivedIn, typename MatrixDerivedOut>
void solve (const Eigen::MatrixBase< MatrixDerivedIn > &x, const Eigen::MatrixBase< MatrixDerivedOut > &res) const
template<typename MatrixLike>
MatrixLike solve (const Eigen::MatrixBase< MatrixLike > &mat) const
template<typename MatrixLike>
void solveInPlace (const Eigen::MatrixBase< MatrixLike > &mat) const
template<typename VectorLike>
void updateDamping (const Eigen::MatrixBase< VectorLike > &vec)
void updateDamping (const Scalar &mu)
Public Member Functions inherited from DelassusOperatorBase< DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition > >
 DelassusOperatorBase (const Eigen::DenseIndex size)
void applyOnTheRight (const Eigen::MatrixBase< MatrixIn > &x, const Eigen::MatrixBase< MatrixOut > &res) const
Eigen::DenseIndex cols () const
Scalar computeLargestEigenValue (const bool reset=true, const int max_it=10, const Scalar rel_tol=Scalar(1e-8)) const
Scalar computeLowestEigenValue (const bool reset=true, const bool compute_largest=true, const int max_it=10, const Scalar rel_tol=Scalar(1e-8)) const
DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition > & derived ()
PowerIterationAlgogetPowerIterationAlgo ()
MatrixDerived operator* (const Eigen::MatrixBase< MatrixDerived > &x) const
Eigen::DenseIndex rows () const
Eigen::DenseIndex size () const
MatrixLike solve (const Eigen::MatrixBase< MatrixLike > &mat) const
void solveInPlace (const Eigen::MatrixBase< MatrixLike > &mat) const
void updateDamping (const Eigen::MatrixBase< VectorLike > &vec)

Protected Attributes

Vector damping
SparseMatrix delassus_matrix
SparseMatrix delassus_matrix_plus_damping
CholeskyDecomposition llt
Vector tmp
Protected Attributes inherited from DelassusOperatorBase< DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition > >
PowerIterationAlgo power_iteration_algo

Detailed Description

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
struct pinocchio::DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition >

Definition at line 127 of file delassus-operator-sparse.hpp.

Member Typedef Documentation

◆ Base

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
typedef DelassusOperatorBase<Self> Base

Definition at line 142 of file delassus-operator-sparse.hpp.

◆ CholeskyDecomposition

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
typedef SparseCholeskyDecomposition CholeskyDecomposition

Definition at line 141 of file delassus-operator-sparse.hpp.

◆ DenseMatrix

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
typedef traits<Self>::DenseMatrix DenseMatrix

Definition at line 140 of file delassus-operator-sparse.hpp.

◆ Scalar

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
typedef traits<Self>::Scalar Scalar

Definition at line 131 of file delassus-operator-sparse.hpp.

◆ Self

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
typedef DelassusOperatorSparseTpl Self

Definition at line 130 of file delassus-operator-sparse.hpp.

◆ SparseMatrix

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
typedef traits<Self>::SparseMatrix SparseMatrix

Definition at line 138 of file delassus-operator-sparse.hpp.

◆ Vector

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
typedef traits<Self>::Vector Vector

Definition at line 139 of file delassus-operator-sparse.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
anonymous enum

Definition at line 132 of file delassus-operator-sparse.hpp.

Constructor & Destructor Documentation

◆ DelassusOperatorSparseTpl()

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
template<typename MatrixDerived>
DelassusOperatorSparseTpl(const Eigen::SparseMatrixBase< MatrixDerived > &mat)
inlineexplicit

Definition at line 145 of file delassus-operator-sparse.hpp.

Member Function Documentation

◆ applyOnTheRight()

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
template<typename MatrixIn, typename MatrixOut>
void applyOnTheRight(const Eigen::MatrixBase< MatrixIn > &x,
const Eigen::MatrixBase< MatrixOut > &res_ ) const
inline

Definition at line 201 of file delassus-operator-sparse.hpp.

◆ cols()

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
Eigen::DenseIndex cols()const
inline

Definition at line 229 of file delassus-operator-sparse.hpp.

◆ inverse()

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
SparseMatrix inverse()const
inline

Definition at line 241 of file delassus-operator-sparse.hpp.

◆ matrix()

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
SparseMatrix matrix()const
inline

Definition at line 234 of file delassus-operator-sparse.hpp.

◆ operator*()

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
template<typename MatrixDerived>
MatrixDerived operator*(const Eigen::MatrixBase< MatrixDerived > &x)const
inline

Definition at line 211 of file delassus-operator-sparse.hpp.

◆ rows()

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
Eigen::DenseIndex rows()const
inline

Definition at line 225 of file delassus-operator-sparse.hpp.

◆ size()

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
Eigen::DenseIndex size()const
inline

Definition at line 221 of file delassus-operator-sparse.hpp.

◆ solve() [1/2]

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
template<typename MatrixDerivedIn, typename MatrixDerivedOut>
void solve(const Eigen::MatrixBase< MatrixDerivedIn > &x,
const Eigen::MatrixBase< MatrixDerivedOut > &res ) const
inline

Definition at line 192 of file delassus-operator-sparse.hpp.

◆ solve() [2/2]

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
template<typename MatrixLike>
MatrixLike solve(const Eigen::MatrixBase< MatrixLike > &mat)const
inline

Definition at line 184 of file delassus-operator-sparse.hpp.

◆ solveInPlace()

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
template<typename MatrixLike>
void solveInPlace(const Eigen::MatrixBase< MatrixLike > &mat)const
inline

Definition at line 176 of file delassus-operator-sparse.hpp.

◆ updateDamping() [1/2]

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
template<typename VectorLike>
void updateDamping(const Eigen::MatrixBase< VectorLike > &vec)
inline

Definition at line 157 of file delassus-operator-sparse.hpp.

◆ updateDamping() [2/2]

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
void updateDamping(const Scalar &mu)
inline

Definition at line 170 of file delassus-operator-sparse.hpp.

Member Data Documentation

◆ damping

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
Vector damping
protected

Definition at line 253 of file delassus-operator-sparse.hpp.

◆ delassus_matrix

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
SparseMatrix delassus_matrix
protected

Definition at line 250 of file delassus-operator-sparse.hpp.

◆ delassus_matrix_plus_damping

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
SparseMatrix delassus_matrix_plus_damping
mutableprotected

Definition at line 251 of file delassus-operator-sparse.hpp.

◆ llt

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
CholeskyDecomposition llt
protected

Definition at line 252 of file delassus-operator-sparse.hpp.

◆ tmp

template<typename _Scalar, int _Options, class SparseCholeskyDecomposition>
Vector tmp
mutableprotected

Definition at line 254 of file delassus-operator-sparse.hpp.


The documentation for this struct was generated from the following file: