OCCT3D OCCT 8.0.1
OCCT documentation

Search guides and API reference

Enter at least two characters.

    Open CASCADE Technology Reference Manual 8.0.1
    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:

    • Robust QR algorithm implementation
    • Numerical stability through implicit shifts
    • Complete eigenvalue/eigenvector computation
    • Proper handling of degenerate cases

    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: