You are here: Symbol Reference > Sparse Namespace > Classes > TSparseMtx Class > public > TSparseMtx.EigSym Method
MtxVec VCL
ContentsIndex
PreviousUpNext
TSparseMtx.EigSym Method

Computes eigenvalues and eigenvectors for symmetric (hermitian) sparse matrix.

Pascal
function EigSym(const D: TVec; const R: TVec; const V: TMtx; var EigCount: integer; var EpsOut: double; Minimum: double; Maximum: double; var fpm: TIntegerArray): integer; overload;
Parameters 
Description 
Returns the eigenvalues.  
Returns the relative residual vector  
Returns the eigenvectors in rows. On Input, the matrix can contain estimate of eigenvectors, otherwise V.Length must be zero.  
EigCount 
Contains estimated eigenvalue on input and actual count on return.  
EpsOut 
Contains the relative error on the trace: |trac[i] - trace[i-1]|/Max(|Maximum|, |sMinimum|)  
Minimum 
Start of the search interval.  
Maximum 
Stop of the search interval.  
fpm 
Processing parameter list. Leave nil, to use default values.  

The function will return:

  • 0 on success.
  • 1 no eigenvalues found in search interval. Try to scale up/down the matrix: (A/t) x=(Lambda/t) x
  • 2 in case of no convergence (maximum iteration loops specified in fpm(4) exceeded)
  • 3 There are more eigenvalues present than have been estimated with EigCount

To compute all eigenvalues and eigenvectors would require storage equal to the size of the dense matrix. For this reason, the routine allows computation of eigenvectors and eigenvalues only within a specified range. The expected number of eigenvalues within the Interval [Minimum, Maximum] is specified with EigCount. If the function returns with a different EigCount, the initial estimate needs to be adjusted, because there was not enough storage to store the result.  

 

The quadratic sparse matrix is expected to store only lower triangular part including the main diagonal.

Copyright (c) 1999-2025 by Dew Research. All rights reserved.
What do you think about this topic? Send feedback!