EigenSymmetricDC
Compute eigenvalues and eigenvectors of a symmetric or Hermitian (complex conjugated) matrix using the divide-and-conquer algorithm (LAPACK functions SYEVD, HEEVD).
Computing for type matrix<double>
bool matrix::EigenSymmetricDC( |
Computing for type matrix<float>
bool matrixf::EigenSymmetricDC( |
Computing for type matrix<complex>
bool matrixc::EigenSymmetricDC( |
Computing for type matrix<complexf>
bool matrixcf::EigenSymmetricDC( |
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 can be a symmetric (Hermitian), upper triangular or lower triangular matrix. Triangular matrices are assumed to be symmetric (Hermitian conjugated).
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. |