pinocchio  3.6.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.
 
TridiagonalMatrix & Ts ()
 Returns the tridiagonal matrix associated with the Lanczos decomposition.
 
const TridiagonalMatrix & Ts () 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: