|
|
◆ WDgeev()
| Function WDgeev |
( |
JobVl As |
String, |
|
|
JobVr As |
String, |
|
|
N As |
Long, |
|
|
A As |
Variant |
|
) |
| |
Eigenvalues and left and/or right eigenvectors of a general matrix
- Purpose
- WDgeev computes for an N x N real nonsymmetric matrix A, the eigenvalues and, optionally, the left and/or right eigenvectors.
The right eigenvector v(j) of A satisfies where λ(j) is its eigenvalue.
The left eigenvector u(j) of A satisfies u(j)^H * A = λ(j) * u(j)^H
where u(j)^H denotes the conjugate transpose of u(j).
The computed eigenvectors are normalized to have Euclidean norm equal to 1 and largest component real.
- Returns
- N+1 x 2 (JobVl = "N", JobVr = "N")
| Column 1 | Column 2 |
| Rows 1 to N | Real part of the computed eigenvalues | Imaginary part of the computed eigenvalues |
| Row N+1 | Return code | 0 |
N+1 x N+2 (JobVl = "V", JobVr = "N")
| Column 1 | Column 2 | Column 3 to N+2 |
| Rows 1 to N | Real part of the computed eigenvalues | Imaginary part of the computed eigenvalues | Left eigenvectors are stored one after another in the same order as their eigenvalues. If j-th eigenvalue is real number, the eigenvector is also real vector and stored in j-th column. If j-th and (j+1)-st eigenvalues form a complex conjugate pair, j-th column contains the real part, and (j+1)-st column contains the imaginary part. |
| Row N+1 | Return code | 0 | 0 |
N+1 x N+2 (JobVl = "N", JobVr = "V")
| Column 1 | Column 2 | Column 3 to N+2 |
| Rows 1 to N | Real part of the computed eigenvalues | Imaginary part of the computed eigenvalues | Right eigenvectors are stored one after another in the same order as their eigenvalues. If j-th eigenvalue is real number, the eigenvector is also real vector and stored in j-th column. If j-th and (j+1)-st eigenvalues form a complex conjugate pair, j-th column contains the real part, and (j+1)-st column contains the imaginary part. |
| Row N+1 | Return code | 0 | 0 |
N+1 x 2N+2 (JobVl = "V", JobVr = "V")
| Column 1 | Column 2 | Column 3 to N+2 | Column N+3 to 2N+2 |
| Rows 1 to N | Real part of the computed eigenvalues | Imaginary part of the computed eigenvalues | Left eigenvectors are stored one after another in the same order as their eigenvalues. If j-th eigenvalue is real number, the eigenvector is also real vector and stored in j-th column. If j-th and (j+1)-st eigenvalues form a complex conjugate pair, j-th column contains the real part, and (j+1)-st column contains the imaginary part. | Right eigenvectors are stored one after another in the same order as their eigenvalues. If j-th eigenvalue is real number, the eigenvector is also real vector and stored in j-th column. If j-th and (j+1)-st eigenvalues form a complex conjugate pair, j-th column contains the real part, and (j+1)-st column contains the imaginary part. |
| Row N+1 | Return code | 0 | 0 | 0 |
Return code.
= 0: Successful exit.
= i > 0: Failed to converge for first to i-th eigenvalues, and no eigenvectors have been computed.
- Parameters
-
| [in] | JobVl | = "N": Left eigenvectors of A are not computed.
= "V": Left eigenvectors of A are computed. |
| [in] | JobVr | = "N": Right eigenvectors of A are not computed.
= "V": Right eigenvectors of A are computed. |
| [in] | N | Order of the matrix A. (N >= 1) |
| [in] | A | (N x N) N x N matrix A. |
- Reference
- LAPACK
- Example
- Compute all eigenvalues and eigenvectors of the general matrix A, where
( 0.20 -0.11 -0.93 )
A = ( -0.32 0.81 0.37 )
( -0.80 -0.92 -0.29 )
|