F08SSF (ZHEGST) reduces a complex Hermitian-definite generalized eigenproblem
Az=λBz,
ABz=λz or
BAz=λz to the standard form
Cy=λy, where
A is a complex Hermitian matrix and
B has been factorized by
F07FRF (ZPOTRF).
To reduce the complex Hermitian-definite generalized eigenproblem
Az=λBz,
ABz=λz or
BAz=λz to the standard form
Cy=λy, F08SSF (ZHEGST) must be preceded by a call to
F07FRF (ZPOTRF) which computes the Cholesky factorization of
B;
B must be positive definite.
The different problem types are specified by the parameter
ITYPE, as indicated in the table below. The table shows how
C is computed by the routine, and also how the eigenvectors
z of the original problem can be recovered from the eigenvectors of the standard form.
ITYPE |
Problem |
UPLO |
B |
C |
z |
1 |
Az=λBz |
'U'
'L' |
UHU
LLH |
U-HAU-1
L-1AL-H |
U-1y
L-Hy |
2 |
ABz=λz |
'U'
'L' |
UHU
LLH |
UAUH
LHAL |
U-1y
L-Hy |
3 |
BAz=λz |
'U'
'L' |
UHU
LLH |
UAUH
LHAL |
UHy
Ly |
Golub G H and Van Loan C F (1996)
Matrix Computations (3rd Edition) Johns Hopkins University Press, Baltimore
Forming the reduced matrix
C is a stable procedure. However it involves implicit multiplication by
B-1 (if
ITYPE=1) or
B (if
ITYPE=2 or
3). When F08SSF (ZHEGST) is used as a step in the computation of eigenvalues and eigenvectors of the original problem, there may be a significant loss of accuracy if
B is ill-conditioned with respect to inversion.
See the document for
F08SNF (ZHEGV) for further details.
The real analogue of this routine is
F08SEF (DSYGST).
This example computes all the eigenvalues of
Az=λBz, where
and
Here
B is Hermitian positive definite and must first be factorized by
F07FRF (ZPOTRF). The program calls F08SSF (ZHEGST) to reduce the problem to the standard form
Cy=λy; then
F08FSF (ZHETRD) to reduce
C to tridiagonal form, and
F08JFF (DSTERF) to compute the eigenvalues.