Public Types | Public Member Functions | Protected Attributes | List of all members
SelfAdjointEigenSolver< _MatrixType > Class Template Reference

Eigen values/vectors solver for selfadjoint matrix. More...

Public Types

enum  { Size }
 
typedef std::complex< RealScalar > Complex
 
typedef _MatrixType MatrixType
 
typedef NumTraits< Scalar >::Real RealScalar
 
typedef Matrix< RealScalar,
MatrixType::ColsAtCompileTime, 1 > 
RealVectorType
 
typedef Matrix< RealScalar,
Dynamic, 1 > 
RealVectorTypeX
 
typedef MatrixType::Scalar Scalar
 
typedef Tridiagonalization
< MatrixType > 
TridiagonalizationType
 

Public Member Functions

void compute (const MatrixType &matrix, bool computeEigenvectors=true)
 
void compute (const MatrixType &matA, const MatrixType &matB, bool computeEigenvectors=true)
 
RealVectorType eigenvalues (void) const
 
MatrixType eigenvectors (void) const
 
MatrixType operatorInverseSqrt () const
 
MatrixType operatorSqrt () const
 
 SelfAdjointEigenSolver (int size)
 
 SelfAdjointEigenSolver (const MatrixType &matrix, bool computeEigenvectors=true)
 
 SelfAdjointEigenSolver (const MatrixType &matA, const MatrixType &matB, bool computeEigenvectors=true)
 

Protected Attributes

bool m_eigenvectorsOk
 
RealVectorType m_eivalues
 
MatrixType m_eivec
 

Detailed Description

template<typename _MatrixType>
class Eigen::SelfAdjointEigenSolver< _MatrixType >

Eigen values/vectors solver for selfadjoint matrix.

This is defined in the QR module.

#include <Eigen/QR>
Warning
This is not considered to be part of the stable public API yet. Changes may happen in future releases. See Experimental parts of Eigen
Parameters
MatrixTypethe type of the matrix of which we are computing the eigen decomposition
Note
MatrixType must be an actual Matrix type, it can't be an expression type.
See Also
MatrixBase::eigenvalues(), class EigenSolver

Constructor & Destructor Documentation

SelfAdjointEigenSolver ( const MatrixType &  matrix,
bool  computeEigenvectors = true 
)
inline

Constructors computing the eigenvalues of the selfadjoint matrix matrix, as well as the eigenvectors if computeEigenvectors is true.

See Also
compute(MatrixType,bool), SelfAdjointEigenSolver(MatrixType,MatrixType,bool)
SelfAdjointEigenSolver ( const MatrixType &  matA,
const MatrixType &  matB,
bool  computeEigenvectors = true 
)
inline

Constructors computing the eigenvalues of the generalized eigen problem $ Ax = lambda B x $ with matA the selfadjoint matrix $ A $ and matB the positive definite matrix $ B $ . The eigenvectors are computed if computeEigenvectors is true.

See Also
compute(MatrixType,MatrixType,bool), SelfAdjointEigenSolver(MatrixType,bool)

Member Function Documentation

void compute ( const MatrixType &  matrix,
bool  computeEigenvectors = true 
)

Computes the eigenvalues of the selfadjoint matrix matrix, as well as the eigenvectors if computeEigenvectors is true.

See Also
SelfAdjointEigenSolver(MatrixType,bool), compute(MatrixType,MatrixType,bool)
void compute ( const MatrixType &  matA,
const MatrixType &  matB,
bool  computeEigenvectors = true 
)

Computes the eigenvalues of the generalized eigen problem $ Ax = lambda B x $ with matA the selfadjoint matrix $ A $ and matB the positive definite matrix $ B $ . The eigenvectors are computed if computeEigenvectors is true.

See Also
SelfAdjointEigenSolver(MatrixType,MatrixType,bool), compute(MatrixType,bool)
RealVectorType eigenvalues ( void  ) const
inline
Returns
the computed eigen values
MatrixType eigenvectors ( void  ) const
inline
Returns
the computed eigen vectors as a matrix of column vectors
MatrixType operatorInverseSqrt ( ) const
inline
Returns
the positive inverse square root of the matrix
Note
the matrix itself must be positive definite in order for this to make sense.
MatrixType operatorSqrt ( ) const
inline
Returns
the positive square root of the matrix
Note
the matrix itself must be positive in order for this to make sense.

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