pinocchio  3.2.0
A fast and flexible implementation of Rigid Body Dynamics algorithms and their analytical derivatives
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. More...
 
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 \). More...
 
bool operator!= (const LanczosDecompositionTpl &other) const
 
bool operator== (const LanczosDecompositionTpl &other) const
 
PlainMatrix & Qs ()
 Returns the orthogonal basis associated with the Lanczos decomposition.
 
const PlainMatrix & Qs () 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 Function Documentation

◆ compute()

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

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.


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