Template Struct LanczosDecompositionTpl

Struct Documentation

template<typename _Matrix>
struct LanczosDecompositionTpl

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

Public Types

Values:

enumerator Options
typedef _Matrix::Scalar Scalar
typedef TridiagonalSymmetricMatrixTpl<Scalar, Options> TridiagonalMatrix

Public Functions

EIGEN_MAKE_ALIGNED_OPERATOR_NEW typedef PINOCCHIO_EIGEN_PLAIN_TYPE (_Matrix) PlainMatrix
typedef PINOCCHIO_EIGEN_PLAIN_TYPE (typename PlainMatrix::ColXpr) Vector
template<typename MatrixLikeType>
inline LanczosDecompositionTpl(const MatrixLikeType &mat, const Eigen::DenseIndex decomposition_size)

Default constructor for the Lanczos decomposition from an input matrix.

inline bool operator==(const LanczosDecompositionTpl &other) const
inline bool operator!=(const LanczosDecompositionTpl &other) const
template<typename MatrixLikeType>
inline void compute(const MatrixLikeType &A)

Computes the Lanczos decomposition of the input matrix A.

Parameters:

A[in] The matrix to decompose

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

Computes the residual associated with the decomposition, namely, the quantity AQsQsTs.

Parameters:

A[in] the matrix that have been decomposed.

Returns:

The residual of the decomposition

inline const TridiagonalMatrix &Ts() const

Returns the tridiagonal matrix associated with the Lanczos decomposition.

inline TridiagonalMatrix &Ts()

Returns the tridiagonal matrix associated with the Lanczos decomposition.

inline const PlainMatrix &Qs() const

Returns the orthogonal basis associated with the Lanczos decomposition.

inline PlainMatrix &Qs()

Returns the orthogonal basis associated with the Lanczos decomposition.

inline Eigen::DenseIndex rank() const

Returns the rank of the decomposition.

Protected Attributes

PlainMatrix m_Qs
TridiagonalMatrix m_Ts
mutable Vector m_A_times_q
Eigen::DenseIndex m_rank