EigenSymmetricDC2s
Compute all eigenvalues and, optionally, eigenvectors of a real symmetric or Hermitian (complex conjugated) matrix using the 2stage technique for the reduction to tridiagonal. If eigenvectors are desired, it uses a divide and conquer algorithm (LAPACK functions SYEVD_2STAGE, HEEVD_2STAGE).
Computing for type matrix<double>
bool matrix::EigenSymmetricDC2s( |
Computing for type matrix<float>
bool matrixf::EigenSymmetricDC2s( |
Computing for type matrix<complex>
bool matrixc::EigenSymmetricDC2s( |
Computing for type matrix<complexf>
bool matrixcf::EigenSymmetricDC2s( |
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. In the current OpenBLAS implementation, this value is not supported. Attempting to use it will result in error 4003 (ERR_INVALID_PARAMETER).
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).
ENUM_EIG_VALUES
An enumeration that specifies whether to calculate eigenvectors.
ID | Description |
|---|---|
EIGVALUES_V | Eigenvectors and eigenvalues are calculated. Not available in this release. |
EIGVALUES_N | Only eigenvalues are calculated, without vectors. |