pinocchio  3.9.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, MatrixDerived > applyOnTheRight (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, MatrixDerived > operator* (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

template<typename _Scalar, int _Options>
typedef TridiagonalSymmetricMatrixTpl 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::DenseIndexsize)
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 Scalarprec = 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 Scalarprec = 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 Scalarprec = 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>
template<typename VectorCoeffType>
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: