|
|
◆ WZhegv()
| Function WZhegv |
( |
IType As |
Long, |
|
|
Jobz As |
String, |
|
|
Uplo As |
String, |
|
|
N As |
Long, |
|
|
A As |
Variant, |
|
|
B As |
Variant |
|
) |
| |
Generalized eigenvalue problem of Hermitian matrices (complex number representation in Excel format)
- Purpose
- WZhegv computes all the eigenvalues, and optionally, the eigenvectors of a complex generalized Hermitian-definite eigenproblem, of the form
A*x = λ*B*x, A*B*x = λ*x, or B*A*x = λ*x.
Here A and B are assumed to be Hermitian and B is also positive definite.
To represent complex numbers in Excel cells, complex number format in Excel (e.g. 2.5+1i) is used. Worksheet function Complex can be used to input complex numbers into cells.
- Returns
- N+1 x 1 (if Jobz = "N"), N+1 x N+1 (if Jobz = "V" and Info = 0)
| Column 1 | Columns 2 to N+1 |
| Rows 1 to N | Eigenvalues in ascending order | Eigenvectors (if Jobz = "V" and Info = 0) The eigenvectors are normalized as follows:
If IType = 1 or 2: (Z^H)BZ = I
If IType = 3: (Z^H)B^(-1)Z = I |
| Row N+1 | Return code | 0 |
Return code
= 0: Successful exit
= i (0 < i <= N): The i off-diagonal elements of an intermediate tridiagonal form did not converge to zero.
= i (N < i): The leading minor of order (i - N) of B is not positive definite. The factorization of B could not be completed.
- Parameters
-
| [in] | IType | Specifies the problem type to be solved.
= 1: Ax = λBx
= 2: ABx = λx
= 3: BAx = λx |
| [in] | Jobz | = "N": Compute eigenvalues only.
= "V": Compute eigenvalues and eigenvectors. |
| [in] | Uplo | = "U": Upper triangles of A and B are stored.
= "L": Lower triangles of A and B are stored. |
| [in] | N | Order of the matrices A and B. (N >= 1) |
| [in] | A | (N x N) Hermitian matrix A. |
| [in] | B | (N x N) Hermitian positive definite matrix B. |
- Reference
- LAPACK
- Example
- Compute the eigenvalues and the eigenvectors of a generalized Hermitian-definite eigenproblem of the form Ax = λBx, where A is an Hermitian matrix and B is an Hermitian positive definite matrix.
( 0.20 -0.11+0.93i 0.81-0.37i )
A = ( -0.11-0.93i -0.32 -0.80+0.92i )
( 0.81+0.37i -0.80-0.92i -0.29 )
( 2.20 -0.11+0.93i 0.81-0.37i )
B = ( -0.11-0.93i 2.32 -0.80+0.92i )
( 0.81+0.37i -0.80-0.92i 2.29 )
|