Open CASCADE Technology Reference Manual 8.0.0
Loading...
Searching...
No Matches
Public Member Functions
math_EigenValuesSearcher Class Reference

This class finds eigenvalues and eigenvectors of real symmetric tridiagonal matrices. More...

#include <math_EigenValuesSearcher.hxx>

Public Member Functions

 math_EigenValuesSearcher (const NCollection_Array1< double > &theDiagonal, const NCollection_Array1< double > &theSubdiagonal)
 
bool IsDone () const
 Returns true if computation is performed successfully. Computation may fail due to numerical issues or invalid input.
 
int Dimension () const
 Returns the dimension of the tridiagonal matrix.
 
double EigenValue (const int theIndex) const
 Returns the specified eigenvalue. Eigenvalues are returned in the order they were computed by the algorithm, which may not be sorted. Use sorting if ordered eigenvalues are needed.
 
math_Vector EigenVector (const int theIndex) const
 Returns the specified eigenvector. The returned eigenvector is normalized and orthogonal to all other eigenvectors. The eigenvector satisfies: A * v = lambda * v, where A is the original matrix, v is the eigenvector, and lambda is the corresponding eigenvalue.
 

Detailed Description

This class finds eigenvalues and eigenvectors of real symmetric tridiagonal matrices.

The implementation uses the QR algorithm with implicit shifts for numerical stability. All computed eigenvalues are real (since the matrix is symmetric), and eigenvectors are orthonormal. The class handles the complete eigendecomposition: A * V = V * D, where A is the input matrix, V contains eigenvectors as columns, and D is diagonal with eigenvalues.

Key features:

Constructor & Destructor Documentation

◆ math_EigenValuesSearcher()

math_EigenValuesSearcher::math_EigenValuesSearcher ( const NCollection_Array1< double > & theDiagonal,
const NCollection_Array1< double > & theSubdiagonal )

Member Function Documentation

◆ Dimension()

int math_EigenValuesSearcher::Dimension ( ) const

Returns the dimension of the tridiagonal matrix.

◆ EigenValue()

double math_EigenValuesSearcher::EigenValue ( const int theIndex) const

Returns the specified eigenvalue. Eigenvalues are returned in the order they were computed by the algorithm, which may not be sorted. Use sorting if ordered eigenvalues are needed.

Parameters
theIndexindex of the desired eigenvalue (1-based indexing)
Returns
the eigenvalue at the specified index

◆ EigenVector()

math_Vector math_EigenValuesSearcher::EigenVector ( const int theIndex) const

Returns the specified eigenvector. The returned eigenvector is normalized and orthogonal to all other eigenvectors. The eigenvector satisfies: A * v = lambda * v, where A is the original matrix, v is the eigenvector, and lambda is the corresponding eigenvalue.

Parameters
theIndexindex of the desired eigenvector (1-based indexing)
Returns
the normalized eigenvector corresponding to EigenValue(theIndex)

◆ IsDone()

bool math_EigenValuesSearcher::IsDone ( ) const

Returns true if computation is performed successfully. Computation may fail due to numerical issues or invalid input.


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