3.9 KiB
EigenTridiagonalPosDefQ
Compute eigenvalues and eigenvectors of a symmetric positive definite tridiagonal matrix using the QR algorithm (LAPACK function PTEQR). This method can be used to compute the eigenvectors of both the input tridiagonal matrix and the original positive definite symmetric matrix. This is achieved using the orthogonal matrix Q obtained during the reduction to tridiagonal form.
Computing for type matrix
bool matrix::EigenTridiagonalPosDefQ(
ENUM_EIGTRIDIAG_Z compv, // compute eigenvectors or not
matrix& Q, // orthogonal matrix used in the reduction to tridiagonal form
vector& eigen_values, // vector of computed eigenvalues
matrix& eigen_vectors // matrix of computed eigenvectors
);
Computing for type matrix
bool matrixf::EigenTridiagonalPosDefQ(
ENUM_EIGTRIDIAG_Z compv, // compute eigenvectors or not
matrixf& Q, // orthogonal matrix used in the reduction to tridiagonal form
vectorf& eigen_values, // vector of computed eigenvalues
matrixf& eigen_vectors // matrix of computed eigenvectors
);
Computing for type matrix
bool matrixc::EigenTridiagonalPosDefQ(
ENUM_EIGTRIDIAG_Z compv, // compute eigenvectors or not
matrixc& Q, // orthogonal matrix used in the reduction to tridiagonal form
vector& eigen_values, // vector of computed eigenvalues
matrixc& eigen_vectors // matrix of computed eigenvectors
);
Computing for type matrix
bool matrixcf::EigenTridiagonalPosDefQ(
ENUM_EIGTRIDIAG_Z compv, // compute eigenvectors or not
matrixcf& Q, // orthogonal matrix used in the reduction to tridiagonal form
vectorf& eigen_values, // vector of computed eigenvalues
matrixcf& eigen_vectors // matrix of computed eigenvectors
);
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 positive definite tridiagonal matrix.
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 |