1.9 KiB
EigenTridiagonalDC
Compute eigenvalues and eigenvectors of a symmetric tridiagonal matrix using the divide-and-conquer algorithm (LAPACK function STEVD).
Computing for type matrix
bool matrix::EigenTridiagonalDC(
ENUM_EIG_VALUES jobv, // compute eigenvectors or not
vector& eigen_values, // vector of computed eigenvalues
matrix& eigen_vectors // matrix of computed eigenvectors
);
Computing for type matrix
bool matrixf::EigenTridiagonalDC(
ENUM_EIG_VALUES jobv, // compute eigenvectors or not
vectorf& eigen_values, // vector of computed eigenvalues
matrixf& eigen_vectors // matrix of computed eigenvectors
);
Parameters
jobv
[in] ENUM_EIG_VALUES enumeration value which determines the method for computing eigenvectors.
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 jobv parameter.
When jobv = EIGVALUES_V, eigenvectors and eigenvalues are calculated.
If EIGVALUES_N is set, eigenvectors are not calculated. Only eigenvalues are computed.
The input must be a symmetric matrix in the tridiagonal form.
ENUM_EIG_VALUES
An enumeration that specifies whether to calculate eigenvectors.
| ID | Description |
|---|---|
| EIGVALUES_V | Eigenvectors and eigenvalues are calculated. |
| EIGVALUES_N | Only eigenvalues are calculated, without vectors. |