pinocchio  3.7.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 computeLargestEigenValue (const Eigen::PlainObjectBase< VectorLike > &largest_eigenvector_est, 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
 
Scalar computeLowestEigenValue (const Eigen::PlainObjectBase< VectorLike1 > &largest_eigenvector_est, const Eigen::PlainObjectBase< VectorLike2 > &lowest_eigenvector_est, 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 ()
 
const DelassusOperatorSparseTpl< _Scalar, _Options, SparseCholeskyDecomposition > & derived () const
 
PowerIterationAlgogetPowerIterationAlgo ()
 
const PowerIterationAlgogetPowerIterationAlgo () const
 
MatrixDerived operator* (const Eigen::MatrixBase< MatrixDerived > &x) const
 
Eigen::DenseIndex rows () const
 
Eigen::DenseIndex size () const
 
void solve (const Eigen::MatrixBase< MatrixDerivedIn > &x, const Eigen::MatrixBase< MatrixDerivedOut > &res) const
 
MatrixLike solve (const Eigen::MatrixBase< MatrixLike > &mat) const
 
void solveInPlace (const Eigen::MatrixBase< MatrixLike > &mat) const
 
void updateDamping (const Eigen::MatrixBase< VectorLike > &vec)
 
void updateDamping (const Scalar mu)
 

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

◆ CholeskyDecomposition

◆ DenseMatrix

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

◆ Scalar

typedef traits<Self>::Scalar Scalar

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

◆ Self

◆ SparseMatrix

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

◆ Vector

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

Member Enumeration Documentation

◆ anonymous enum

Constructor & Destructor Documentation

◆ DelassusOperatorSparseTpl()

template<typename MatrixDerived >
DelassusOperatorSparseTpl ( const Eigen::SparseMatrixBase< MatrixDerived > &  mat)
inlineexplicit

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

Member Function Documentation

◆ applyOnTheRight()

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()

Eigen::DenseIndex cols ( ) const
inline

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

◆ inverse()

SparseMatrix inverse ( ) const
inline

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

◆ matrix()

SparseMatrix matrix ( ) const
inline

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

◆ operator*()

template<typename MatrixDerived >
MatrixDerived operator* ( const Eigen::MatrixBase< MatrixDerived > &  x) const
inline

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

◆ rows()

Eigen::DenseIndex rows ( ) const
inline

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

◆ size()

Eigen::DenseIndex size ( ) const
inline

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

◆ solve() [1/2]

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 MatrixLike >
MatrixLike solve ( const Eigen::MatrixBase< MatrixLike > &  mat) const
inline

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

◆ solveInPlace()

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 VectorLike >
void updateDamping ( const Eigen::MatrixBase< VectorLike > &  vec)
inline

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

◆ updateDamping() [2/2]

void updateDamping ( const Scalar &  mu)
inline

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

Member Data Documentation

◆ damping

Vector damping
protected

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

◆ delassus_matrix

SparseMatrix delassus_matrix
protected

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

◆ delassus_matrix_plus_damping

SparseMatrix delassus_matrix_plus_damping
mutableprotected

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

◆ llt

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

◆ tmp

Vector tmp
mutableprotected

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


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