- EigenSymmetricDC
- EigenSymmetricQR
- EigenSymmetricRobust
- EigenSymmetricBisect
- EigenSymmetricDC2s
- EigenSymmetricQR2s
- EigenSymmetricRobust2s
- EigenSymmetricBisect2s
- EigenSymmetric2DC
- EigenSymmetric2QR
- EigenSymmetric2Bisect
EigenSymmetric2QR
Compute all the eigenvalues, and optionally, the eigenvectors of a generalized symmetric-definite eigenproblem, of the form
A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x.
Here A and B are assumed to be symmetric (Hermitian) and B is also positive definite. This method uses QR algorithm (lapack functions SYGV, HEGV).
Computing for type matrix<double>
bool matrix::EigenSymmetric2QR(
|
Computing for type matrix<float>
bool matrixf::EigenSymmetric2QR(
|
Computing for type matrix<complex>
bool matrixc::EigenSymmetric2QR(
|
Computing for type matrix<complexf>
bool matrixcf::EigenSymmetric2QR(
|
Parameters
itype
[in] ENUM_EIGS2_TYPE enumeration value which specified the problem type to be solved : A*x=(lambda)*B*x, A*Bx=(lambda)*x, or B*A*x=(lambda)*x.
jobv
[in] ENUM_EIG_VALUES enumeration value which determines the method for computing eigenvectors.
B
[in] Second matrix B. Must be positive definite symmetric (or Hermitian conjugated) matrix.
eigen_values
[out] Vector of eigenvalues.
eigen_vectors
[out] Matrix of eigenvectors.
triangular_factor
[out] The triangular factor U or L from the Cholesky factorization B = U**T*U or B = L*L**T.
Return Value
Return true if successful, otherwise false in case of an error.
Note
The input can be a symmetric (Hermitian), upper triangular or lower triangular matrix. Triangular matrices are assumed to be symmetric (Hermitian conjugated). Second matrix B must be positive definite symmetric. If the input matrix and second matrix B are triangular, then both must be the same triangular, upper or lower.
ENUM_EIGS2_TYPE
An enumeration that specifies the problem type to be solved.
ID |
Description |
---|---|
EIGS2TYPE_1 |
1: A*x = (lambda)*B*x |
EIGS2TYPE_2 |
2: A*B*x = (lambda)*x |
EIGS2TYPE_3 |
3: B*A*x = (lambda)*x |
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. |