Logo Search packages:      
Sourcecode: eigen3 version File versions  Download package

Public Types | Public Member Functions | Static Public Attributes | Protected Attributes | Private Types

GeneralizedSelfAdjointEigenSolver< _MatrixType > Class Template Reference

Computes eigenvalues and eigenvectors of the generalized selfadjoint eigen problem. More...

#include <GeneralizedSelfAdjointEigenSolver.h>

Inheritance diagram for GeneralizedSelfAdjointEigenSolver< _MatrixType >:
Inheritance graph
[legend]
Collaboration diagram for GeneralizedSelfAdjointEigenSolver< _MatrixType >:
Collaboration graph
[legend]

List of all members.

Public Types

enum  { Size = MatrixType::RowsAtCompileTime, ColsAtCompileTime = MatrixType::ColsAtCompileTime, Options = MatrixType::Options, MaxColsAtCompileTime = MatrixType::MaxColsAtCompileTime }
typedef Base::Index Index
typedef _MatrixType MatrixType
typedef NumTraits< Scalar >::Real RealScalar
 Real scalar type for _MatrixType.
typedef
internal::plain_col_type
< MatrixType, RealScalar >
::type 
RealVectorType
 Type for vector of eigenvalues as returned by eigenvalues().
typedef MatrixType::Scalar Scalar
 Scalar type for matrices of type _MatrixType.
typedef Tridiagonalization
< MatrixType > 
TridiagonalizationType

Public Member Functions

GeneralizedSelfAdjointEigenSolvercompute (const MatrixType &matA, const MatrixType &matB, int options=ComputeEigenvectors|Ax_lBx)
 Computes generalized eigendecomposition of given matrix pencil.
SelfAdjointEigenSolvercompute (const MatrixType &matrix, int options=ComputeEigenvectors)
 Computes eigendecomposition of given matrix.
const RealVectorTypeeigenvalues () const
 Returns the eigenvalues of given matrix.
const MatrixType & eigenvectors () const
 Returns the eigenvectors of given matrix.
 GeneralizedSelfAdjointEigenSolver (Index size)
 Constructor, pre-allocates memory for dynamic-size matrices.
 GeneralizedSelfAdjointEigenSolver ()
 Default constructor for fixed-size matrices.
 GeneralizedSelfAdjointEigenSolver (const MatrixType &matA, const MatrixType &matB, int options=ComputeEigenvectors|Ax_lBx)
 Constructor; computes generalized eigendecomposition of given matrix pencil.
ComputationInfo info () const
 Reports whether previous computation was successful.
MatrixType operatorInverseSqrt () const
 Computes the inverse square root of the matrix.
MatrixType operatorSqrt () const
 Computes the positive-definite square root of the matrix.

Static Public Attributes

static const int m_maxIterations = 30
 Maximum number of iterations.

Protected Attributes

bool m_eigenvectorsOk
RealVectorType m_eivalues
MatrixType m_eivec
ComputationInfo m_info
bool m_isInitialized
TridiagonalizationType::SubDiagonalType m_subdiag

Private Types

typedef SelfAdjointEigenSolver
< _MatrixType > 
Base

Detailed Description

template<typename _MatrixType>
class GeneralizedSelfAdjointEigenSolver< _MatrixType >

Computes eigenvalues and eigenvectors of the generalized selfadjoint eigen problem.

Template Parameters:
_MatrixTypethe type of the matrix of which we are computing the eigendecomposition; this is expected to be an instantiation of the Matrix class template.

This class solves the generalized eigenvalue problem $ Av = \lambda Bv $. In this case, the matrix $ A $ should be selfadjoint and the matrix $ B $ should be positive definite.

Only the lower triangular part of the input matrix is referenced.

Call the function compute() to compute the eigenvalues and eigenvectors of a given matrix. Alternatively, you can use the GeneralizedSelfAdjointEigenSolver(const MatrixType&, const MatrixType&, int) constructor which computes the eigenvalues and eigenvectors at construction time. Once the eigenvalue and eigenvectors are computed, they can be retrieved with the eigenvalues() and eigenvectors() functions.

The documentation for GeneralizedSelfAdjointEigenSolver(const MatrixType&, const MatrixType&, int) contains an example of the typical use of this class.

See also:
class SelfAdjointEigenSolver, class EigenSolver, class ComplexEigenSolver

Definition at line 62 of file GeneralizedSelfAdjointEigenSolver.h.


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

Generated by  Doxygen 1.6.0   Back to index