pinocchio  3.7.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
 
Loading...
Searching...
No Matches
LanczosDecompositionTpl< _Matrix > Struct Template Reference

Compute the largest eigenvalues and the associated principle eigenvector via power iteration. More...

#include <pinocchio/math/lanczos-decomposition.hpp>

Collaboration diagram for LanczosDecompositionTpl< _Matrix >:

Public Types

enum  { Options = _Matrix::Options }
 
typedef _Matrix PlainMatrix
 
typedef _Matrix::Scalar Scalar
 
typedef TridiagonalSymmetricMatrixTpl< Scalar, Options > TridiagonalMatrix
 
typedef PlainMatrix::ColXpr Vector
 

Public Member Functions

template<typename MatrixLikeType >
 LanczosDecompositionTpl (const MatrixLikeType &mat, const Eigen::DenseIndex decomposition_size)
 Default constructor for the Lanczos decomposition from an input matrix.
 
template<typename MatrixLikeType >
void compute (const MatrixLikeType &A)
 Computes the Lanczos decomposition of the input matrix A.
 
template<typename MatrixLikeType >
PlainMatrix computeDecompositionResidual (const MatrixLikeType &A) const
 Computes the residual associated with the decomposition, namely, the quantity \( A Q_s - Q_s T_s \).
 
bool operator!= (const LanczosDecompositionTpl &other) const
 
bool operator== (const LanczosDecompositionTpl &other) const
 
PlainMatrixQs ()
 Returns the orthogonal basis associated with the Lanczos decomposition.
 
const PlainMatrixQs () const
 Returns the orthogonal basis associated with the Lanczos decomposition.
 
Eigen::DenseIndex rank () const
 Returns the rank of the decomposition.
 
TridiagonalMatrixTs ()
 Returns the tridiagonal matrix associated with the Lanczos decomposition.
 
const TridiagonalMatrixTs () const
 Returns the tridiagonal matrix associated with the Lanczos decomposition.
 

Protected Attributes

Vector m_A_times_q
 
PlainMatrix m_Qs
 
Eigen::DenseIndex m_rank
 
TridiagonalMatrix m_Ts
 

Detailed Description

template<typename _Matrix>
struct pinocchio::LanczosDecompositionTpl< _Matrix >

Compute the largest eigenvalues and the associated principle eigenvector via power iteration.

Definition at line 18 of file lanczos-decomposition.hpp.

Member Typedef Documentation

◆ PlainMatrix

Definition at line 22 of file lanczos-decomposition.hpp.

◆ Scalar

template<typename _Matrix >
typedef _Matrix::Scalar Scalar

Definition at line 24 of file lanczos-decomposition.hpp.

◆ TridiagonalMatrix

Definition at line 29 of file lanczos-decomposition.hpp.

◆ Vector

template<typename _Matrix >
typedef PlainMatrix::ColXpr Vector

Definition at line 23 of file lanczos-decomposition.hpp.

Member Enumeration Documentation

◆ anonymous enum

Definition at line 25 of file lanczos-decomposition.hpp.

Constructor & Destructor Documentation

◆ LanczosDecompositionTpl()

template<typename _Matrix >
LanczosDecompositionTpl ( const MatrixLikeType mat,
const Eigen::DenseIndex  decomposition_size 
)
inline

Default constructor for the Lanczos decomposition from an input matrix.

Definition at line 33 of file lanczos-decomposition.hpp.

Member Function Documentation

◆ compute()

template<typename _Matrix >
void compute ( const MatrixLikeType A)
inline

Computes the Lanczos decomposition of the input matrix A.

Parameters
[in]AThe matrix to decompose

Definition at line 67 of file lanczos-decomposition.hpp.

◆ computeDecompositionResidual()

template<typename _Matrix >
PlainMatrix computeDecompositionResidual ( const MatrixLikeType A) const
inline

Computes the residual associated with the decomposition, namely, the quantity \( A Q_s - Q_s T_s \).

Parameters
[in]Athe matrix that have been decomposed.
Returns
The residual of the decomposition

Definition at line 123 of file lanczos-decomposition.hpp.

◆ operator!=()

template<typename _Matrix >
bool operator!= ( const LanczosDecompositionTpl< _Matrix > &  other) const
inline

Definition at line 56 of file lanczos-decomposition.hpp.

◆ operator==()

template<typename _Matrix >
bool operator== ( const LanczosDecompositionTpl< _Matrix > &  other) const
inline

Definition at line 49 of file lanczos-decomposition.hpp.

◆ Qs() [1/2]

template<typename _Matrix >
PlainMatrix & Qs ( )
inline

Returns the orthogonal basis associated with the Lanczos decomposition.

Definition at line 162 of file lanczos-decomposition.hpp.

◆ Qs() [2/2]

template<typename _Matrix >
const PlainMatrix & Qs ( ) const
inline

Returns the orthogonal basis associated with the Lanczos decomposition.

Definition at line 157 of file lanczos-decomposition.hpp.

◆ rank()

template<typename _Matrix >
Eigen::DenseIndex rank ( ) const
inline

Returns the rank of the decomposition.

Definition at line 168 of file lanczos-decomposition.hpp.

◆ Ts() [1/2]

template<typename _Matrix >
TridiagonalMatrix & Ts ( )
inline

Returns the tridiagonal matrix associated with the Lanczos decomposition.

Definition at line 151 of file lanczos-decomposition.hpp.

◆ Ts() [2/2]

template<typename _Matrix >
const TridiagonalMatrix & Ts ( ) const
inline

Returns the tridiagonal matrix associated with the Lanczos decomposition.

Definition at line 146 of file lanczos-decomposition.hpp.

Member Data Documentation

◆ m_A_times_q

template<typename _Matrix >
Vector m_A_times_q
mutableprotected

Definition at line 176 of file lanczos-decomposition.hpp.

◆ m_Qs

template<typename _Matrix >
PlainMatrix m_Qs
protected

Definition at line 174 of file lanczos-decomposition.hpp.

◆ m_rank

template<typename _Matrix >
Eigen::DenseIndex m_rank
protected

Definition at line 177 of file lanczos-decomposition.hpp.

◆ m_Ts

template<typename _Matrix >
TridiagonalMatrix m_Ts
protected

Definition at line 175 of file lanczos-decomposition.hpp.


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