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

Dynamic size Tridiagonal symmetric matrix type This class is in practice used in Lanczos decomposition. More...

#include <pinocchio/math/tridiagonal-matrix.hpp>

Inheritance diagram for TridiagonalSymmetricMatrixTpl< _Scalar, _Options >:
Collaboration diagram for TridiagonalSymmetricMatrixTpl< _Scalar, _Options >:

Public Types

enum  { Options = _Options }
 
typedef Eigen::Matrix< Scalar, Eigen::Dynamic, 1, Options > CoeffVectorType
 
typedef traits< Self >::PlainMatrixType PlainMatrixType
 
typedef _Scalar Scalar
 
typedef TridiagonalSymmetricMatrixTpl Self
 

Public Member Functions

 TridiagonalSymmetricMatrixTpl (const Eigen::DenseIndex size)
 Default constructor from a given size.
 
template<typename MatrixDerived >
TridiagonalSymmetricMatrixApplyOnTheLeftReturnType< MatrixDerived, SelfapplyOnTheLeft (const Eigen::MatrixBase< MatrixDerived > &mat) const
 
template<typename MatrixDerived >
TridiagonalSymmetricMatrixApplyOnTheRightReturnType< Self, MatrixDerivedapplyOnTheRight (const Eigen::MatrixBase< MatrixDerived > &mat) const
 
EIGEN_CONSTEXPR Eigen::Index cols () const EIGEN_NOEXCEPT
 
CoeffVectorType & diagonal ()
 
const CoeffVectorType & diagonal () const
 
template<typename ResultType >
void evalTo (ResultType &result) const
 
TridiagonalSymmetricMatrixInverse< Selfinverse () const
 
bool isDiagonal (const Scalar prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
bool isIdentity (const Scalar prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
bool isZero (const Scalar prec=Eigen::NumTraits< Scalar >::dummy_precision()) const
 
PlainMatrixType matrix () const
 
bool operator!= (const TridiagonalSymmetricMatrixTpl &other) const
 
template<typename MatrixDerived >
TridiagonalSymmetricMatrixApplyOnTheRightReturnType< Self, MatrixDerivedoperator* (const Eigen::MatrixBase< MatrixDerived > &mat) const
 
bool operator== (const TridiagonalSymmetricMatrixTpl &other) const
 
EIGEN_CONSTEXPR Eigen::Index rows () const EIGEN_NOEXCEPT
 
template<typename VectorCoeffType >
void setDiagonal (const Eigen::MatrixBase< VectorCoeffType > &diagonal_coefficients)
 
void setIdentity ()
 
void setRandom ()
 
void setZero ()
 
CoeffVectorType & subDiagonal ()
 
const CoeffVectorType & subDiagonal () const
 

Protected Attributes

CoeffVectorType m_diagonal
 
Eigen::DenseIndex m_size
 
CoeffVectorType m_sub_diagonal
 

Detailed Description

template<typename _Scalar, int _Options>
struct pinocchio::TridiagonalSymmetricMatrixTpl< _Scalar, _Options >

Dynamic size Tridiagonal symmetric matrix type This class is in practice used in Lanczos decomposition.

Definition at line 161 of file tridiagonal-matrix.hpp.

Member Typedef Documentation

◆ CoeffVectorType

template<typename _Scalar , int _Options>
typedef Eigen::Matrix<Scalar, Eigen::Dynamic, 1, Options> CoeffVectorType

Definition at line 172 of file tridiagonal-matrix.hpp.

◆ PlainMatrixType

template<typename _Scalar , int _Options>
typedef traits<Self>::PlainMatrixType PlainMatrixType

Definition at line 173 of file tridiagonal-matrix.hpp.

◆ Scalar

template<typename _Scalar , int _Options>
typedef _Scalar Scalar

Definition at line 166 of file tridiagonal-matrix.hpp.

◆ Self

Definition at line 165 of file tridiagonal-matrix.hpp.

Member Enumeration Documentation

◆ anonymous enum

template<typename _Scalar , int _Options>
anonymous enum

Definition at line 167 of file tridiagonal-matrix.hpp.

Constructor & Destructor Documentation

◆ TridiagonalSymmetricMatrixTpl()

template<typename _Scalar , int _Options>
TridiagonalSymmetricMatrixTpl ( const Eigen::DenseIndex  size)
inlineexplicit

Default constructor from a given size.

Definition at line 176 of file tridiagonal-matrix.hpp.

Member Function Documentation

◆ applyOnTheLeft()

template<typename _Scalar , int _Options>
template<typename MatrixDerived >
TridiagonalSymmetricMatrixApplyOnTheLeftReturnType< MatrixDerived, Self > applyOnTheLeft ( const Eigen::MatrixBase< MatrixDerived > &  mat) const
inline

Definition at line 296 of file tridiagonal-matrix.hpp.

◆ applyOnTheRight()

template<typename _Scalar , int _Options>
template<typename MatrixDerived >
TridiagonalSymmetricMatrixApplyOnTheRightReturnType< Self, MatrixDerived > applyOnTheRight ( const Eigen::MatrixBase< MatrixDerived > &  mat) const
inline

Definition at line 288 of file tridiagonal-matrix.hpp.

◆ cols()

template<typename _Scalar , int _Options>
EIGEN_CONSTEXPR Eigen::Index cols ( ) const
inline

Definition at line 267 of file tridiagonal-matrix.hpp.

◆ diagonal() [1/2]

template<typename _Scalar , int _Options>
CoeffVectorType & diagonal ( )
inline

Definition at line 201 of file tridiagonal-matrix.hpp.

◆ diagonal() [2/2]

template<typename _Scalar , int _Options>
const CoeffVectorType & diagonal ( ) const
inline

Definition at line 205 of file tridiagonal-matrix.hpp.

◆ evalTo()

template<typename _Scalar , int _Options>
template<typename ResultType >
void evalTo ( ResultType result) const
inline

Definition at line 278 of file tridiagonal-matrix.hpp.

◆ inverse()

template<typename _Scalar , int _Options>
TridiagonalSymmetricMatrixInverse< Self > inverse ( ) const
inline

Definition at line 196 of file tridiagonal-matrix.hpp.

◆ isDiagonal()

template<typename _Scalar , int _Options>
bool isDiagonal ( const Scalar  prec = Eigen::NumTraits<Scalar>::dummy_precision()) const
inline

Definition at line 246 of file tridiagonal-matrix.hpp.

◆ isIdentity()

template<typename _Scalar , int _Options>
bool isIdentity ( const Scalar  prec = Eigen::NumTraits<Scalar>::dummy_precision()) const
inline

Definition at line 224 of file tridiagonal-matrix.hpp.

◆ isZero()

template<typename _Scalar , int _Options>
bool isZero ( const Scalar  prec = Eigen::NumTraits<Scalar>::dummy_precision()) const
inline

Definition at line 235 of file tridiagonal-matrix.hpp.

◆ matrix()

template<typename _Scalar , int _Options>
PlainMatrixType matrix ( ) const
inline

Definition at line 272 of file tridiagonal-matrix.hpp.

◆ operator!=()

template<typename _Scalar , int _Options>
bool operator!= ( const TridiagonalSymmetricMatrixTpl< _Scalar, _Options > &  other) const
inline

Definition at line 191 of file tridiagonal-matrix.hpp.

◆ operator*()

template<typename _Scalar , int _Options>
template<typename MatrixDerived >
TridiagonalSymmetricMatrixApplyOnTheRightReturnType< Self, MatrixDerived > operator* ( const Eigen::MatrixBase< MatrixDerived > &  mat) const
inline

Definition at line 304 of file tridiagonal-matrix.hpp.

◆ operator==()

template<typename _Scalar , int _Options>
bool operator== ( const TridiagonalSymmetricMatrixTpl< _Scalar, _Options > &  other) const
inline

Definition at line 184 of file tridiagonal-matrix.hpp.

◆ rows()

template<typename _Scalar , int _Options>
EIGEN_CONSTEXPR Eigen::Index rows ( ) const
inline

Definition at line 263 of file tridiagonal-matrix.hpp.

◆ setDiagonal()

template<typename _Scalar , int _Options>
void setDiagonal ( const Eigen::MatrixBase< VectorCoeffType > &  diagonal_coefficients)
inline

Definition at line 252 of file tridiagonal-matrix.hpp.

◆ setIdentity()

template<typename _Scalar , int _Options>
void setIdentity ( )
inline

Definition at line 218 of file tridiagonal-matrix.hpp.

◆ setRandom()

template<typename _Scalar , int _Options>
void setRandom ( )
inline

Definition at line 240 of file tridiagonal-matrix.hpp.

◆ setZero()

template<typename _Scalar , int _Options>
void setZero ( )
inline

Definition at line 229 of file tridiagonal-matrix.hpp.

◆ subDiagonal() [1/2]

template<typename _Scalar , int _Options>
CoeffVectorType & subDiagonal ( )
inline

Definition at line 209 of file tridiagonal-matrix.hpp.

◆ subDiagonal() [2/2]

template<typename _Scalar , int _Options>
const CoeffVectorType & subDiagonal ( ) const
inline

Definition at line 213 of file tridiagonal-matrix.hpp.

Member Data Documentation

◆ m_diagonal

template<typename _Scalar , int _Options>
CoeffVectorType m_diagonal
protected

Definition at line 311 of file tridiagonal-matrix.hpp.

◆ m_size

template<typename _Scalar , int _Options>
Eigen::DenseIndex m_size
protected

Definition at line 310 of file tridiagonal-matrix.hpp.

◆ m_sub_diagonal

template<typename _Scalar , int _Options>
CoeffVectorType m_sub_diagonal
protected

Definition at line 312 of file tridiagonal-matrix.hpp.


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