zhpgst


NAME

zhpgst - reduce a complex Hermitian-definite generalized eigenproblem to standard form, using packed storage


SYNOPSIS

  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
 

F95 INTERFACE

  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
 

C INTERFACE

#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);


PURPOSE

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.


ARGUMENTS

* ITYPE (input)
* UPLO (input)

* N (input)
The order of the matrices A and B. N >= 0.

* AP (input/output)
On entry, the upper or lower triangle of the Hermitian matrix A, packed columnwise in a linear array. The j-th column of A is stored in the array AP as follows: if UPLO = 'U', AP(i + (j-1)*j/2) = 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.

* BP (input)
The triangular factor from the Cholesky factorization of B, stored in the same format as A, as returned by CPPTRF.

* INFO (output)