zhpgst - reduce a complex Hermitian-definite generalized eigenproblem to standard form, using packed storage
SUBROUTINE ZHPGST( ITYPE, UPLO, N, AP, BP, INFO) CHARACTER * 1 UPLO DOUBLE COMPLEX AP(*), BP(*) INTEGER ITYPE, N, INFO
SUBROUTINE ZHPGST_64( ITYPE, UPLO, N, AP, BP, INFO) CHARACTER * 1 UPLO DOUBLE COMPLEX AP(*), BP(*) INTEGER*8 ITYPE, N, INFO
SUBROUTINE HPGST( ITYPE, UPLO, N, AP, BP, [INFO]) CHARACTER(LEN=1) :: UPLO COMPLEX(8), DIMENSION(:) :: AP, BP INTEGER :: ITYPE, N, INFO
SUBROUTINE HPGST_64( ITYPE, UPLO, N, AP, BP, [INFO]) CHARACTER(LEN=1) :: UPLO COMPLEX(8), DIMENSION(:) :: AP, BP INTEGER(8) :: ITYPE, N, INFO
#include <sunperf.h>
void zhpgst(int itype, char uplo, int n, doublecomplex *ap, doublecomplex *bp, int *info);
void zhpgst_64(long itype, char uplo, long n, doublecomplex *ap, doublecomplex *bp, long *info);
zhpgst reduces a complex Hermitian-definite generalized eigenproblem to standard form, using packed storage.
If ITYPE = 1, the problem is A*x = lambda*B*x,
and A is overwritten by inv(U**H)*A*inv(U)
or inv(L)*A*inv(L**H)
If ITYPE = 2 or 3, the problem is A*B*x = lambda*x or
B*A*x = lambda*x, and A is overwritten by U*A*U**H or L**H*A*L.
B must have been previously factorized as U**H*U or L*L**H by CPPTRF.
= 1: compute inv(U**H)*A*inv(U) or inv(L)*A*inv(L**H);
= 2 or 3: compute U*A*U**H or L**H*A*L.
= 'U': Upper triangle of A is stored and B is factored as U**H*U; = 'L': Lower triangle of A is stored and B is factored as L*L**H.
A(i,j)
for 1 < =i < =j;
if UPLO = 'L', AP(i + (j-1)*(2n-j)/2) = A(i,j)
for j < =i < =n.
On exit, if INFO = 0, the transformed matrix, stored in the same format as A.
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value