- EigenTridiagonalDC
- EigenTridiagonalQR
- EigenTridiagonalRobust
- EigenTridiagonalBisect
- EigenTridiagonalQL
- EigenTridiagonalDCQ
- EigenTridiagonalQRQ
- EigenTridiagonalPosDefQ
EigenTridiagonalDCQ
Compute eigenvalues and eigenvectors of a symmetric tridiagonal matrix using the divide-and-conquer algorithm (lapack function STEDC). Unlike EigenTridiagonalDC, this method can be used to compute the eigenvectors of the original symmetric matrix. A symmetric matrix can be reduced to tridiagonal form using the ReduceSymmetricToTridiagonal method. The orthogonal matrix Q obtained from this transformation is then used to compute the eigenvectors of the original symmetric matrix.
Computing for type matrix<double>
bool matrix::EigenTridiagonalDCQ(
|
Computing for type matrix<float>
bool matrixf::EigenTridiagonalDCQ(
|
Computing for type matrix<complex>
bool matrixc::EigenTridiagonalDCQ(
|
Computing for type matrix<complexf>
bool matrixcf::EigenTridiagonalDCQ(
|
Parameters
compv
[in] ENUM_EIGTRIDIAG_Z enumeration value which determines the method for computing eigenvectors.
Q
[in] Orthogonal matrix Q produced by method ReflectTridiagonalToQ.
eigen_values
[out] Vector of eigenvalues.
eigen_vectors
[out] Matrix of eigenvectors.
Return Value
Return true if successful, otherwise false in case of an error.
Note
Computation depends on the value of the compv parameter.
When compv = EIGCOMPZ_N, compute eigenvalues only, eigenvectors are not calculated.
If EIGCOMPZ_V is set, eigenvalues are computed and eigenvectors of original symmetric matrix are calculated also.
If EIGCOMPZ_I is set, eigenvalues are computed and eigenvectors of tridiagonal matrix are calculated also.
The input must be a symmetric matrix in the tridiagonal form.
ENUM_EIGTRIDIAG_Z
An enumeration that specifies whether to calculate eigenvectors.
ID |
Description |
---|---|
EIGCOMPZ_N |
'N': Compute eigenvalues only |
EIGCOMPZ_V |
'V': Compute eigenvectors of original symmetric matrix also |
EIGCOMPZ_I |
'I': Compute eigenvectors of tridiagonal matrix also |