chegst - reduce a complex Hermitian-definite generalized eigenproblem to standard form
SUBROUTINE CHEGST( ITYPE, UPLO, N, A, LDA, B, LDB, INFO) CHARACTER * 1 UPLO COMPLEX A(LDA,*), B(LDB,*) INTEGER ITYPE, N, LDA, LDB, INFO
SUBROUTINE CHEGST_64( ITYPE, UPLO, N, A, LDA, B, LDB, INFO) CHARACTER * 1 UPLO COMPLEX A(LDA,*), B(LDB,*) INTEGER*8 ITYPE, N, LDA, LDB, INFO
SUBROUTINE HEGST( ITYPE, UPLO, N, A, [LDA], B, [LDB], [INFO]) CHARACTER(LEN=1) :: UPLO COMPLEX, DIMENSION(:,:) :: A, B INTEGER :: ITYPE, N, LDA, LDB, INFO
SUBROUTINE HEGST_64( ITYPE, UPLO, N, A, [LDA], B, [LDB], [INFO]) CHARACTER(LEN=1) :: UPLO COMPLEX, DIMENSION(:,:) :: A, B INTEGER(8) :: ITYPE, N, LDA, LDB, INFO
#include <sunperf.h>
void chegst(int itype, char uplo, int n, complex *a, int lda, complex *b, int ldb, int *info);
void chegst_64(long itype, char uplo, long n, complex *a, long lda, complex *b, long ldb, long *info);
chegst reduces a complex Hermitian-definite generalized eigenproblem to standard form.
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 CPOTRF.
= 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.
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