ZHBGST - reduce a complex Hermitian-definite banded gener­
       alized eigenproblem A*x = lambda*B*x to standard form  C*y
       = lambda*y,


SYNOPSIS

       SUBROUTINE ZHBGST( VECT,  UPLO,  N,  KA, KB, AB, LDAB, BB,
                          LDBB, X, LDX, WORK, RWORK, INFO )

           CHARACTER      UPLO, VECT

           INTEGER        INFO, KA, KB, LDAB, LDBB, LDX, N

           DOUBLE         PRECISION RWORK( * )

           COMPLEX*16     AB( LDAB, * ), BB( LDBB, * ),  WORK(  *
                          ), X( LDX, * )


PURPOSE

       ZHBGST  reduces a complex Hermitian-definite banded gener­
       alized eigenproblem A*x = lambda*B*x to standard form  C*y
       = lambda*y, such that C has the same bandwidth as A.

       B  must  have been previously factorized as S**H*S by ZPB­
       STF, using a split Cholesky factorization. A is  overwrit­
       ten  by  C = X**H*A*X, where X = S**(-1)*Q and Q is a uni­
       tary matrix chosen to preserve the bandwidth of A.


ARGUMENTS

       VECT    (input) CHARACTER*1
               = 'N':  do not form the transformation matrix X;
               = 'V':  form X.

       UPLO    (input) CHARACTER*1
               = 'U':  Upper triangle of A is stored;
               = 'L':  Lower triangle of A is stored.

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

       KA      (input) INTEGER
               The number of superdiagonals of the  matrix  A  if
               UPLO  = 'U', or the number of subdiagonals if UPLO
               = 'L'.  KA >= 0.

       KB      (input) INTEGER
               The number of superdiagonals of the  matrix  B  if
               UPLO  = 'U', or the number of subdiagonals if UPLO
               = 'L'.  KA >= KB >= 0.

       AB      (input/output) COMPLEX*16 array, dimension
               (LDAB,N)
               On  entry,  the  upper  or  lower  triangle of the

               rows of the array.  The j-th column of A is stored
               in the j-th column of the array AB as follows:  if
               UPLO  =  'U', AB(ka+1+i-j,j) = A(i,j) for max(1,j-
               ka)<=i<=j; if UPLO = 'L', AB(1+i-j,j)    =  A(i,j)
               for j<=i<=min(n,j+ka).

               On  exit,  the transformed matrix X**H*A*X, stored
               in the same format as A.

       LDAB    (input) INTEGER
               The leading dimension of the array  AB.   LDAB  >=
               KA+1.

       BB      (input) COMPLEX*16 array, dimension (LDBB,N)
               The  banded  factor S from the split Cholesky fac­
               torization of B, as returned by ZPBSTF, stored  in
               the first kb+1 rows of the array.

       LDBB    (input) INTEGER
               The  leading  dimension  of the array BB.  LDBB >=
               KB+1.

       X       (output) COMPLEX*16 array, dimension (LDX,N)
               If VECT = 'V', the n-by-n matrix  X.   If  VECT  =
               'N', the array X is not referenced.

       LDX     (input) INTEGER
               The  leading  dimension  of  the  array X.  LDX >=
               max(1,N) if VECT = 'V'; LDX >= 1 otherwise.

       WORK    (workspace) COMPLEX*16 array, dimension (N)

       RWORK   (workspace) DOUBLE PRECISION array, dimension (N)

       INFO    (output) INTEGER
               = 0:  successful exit
               < 0:  if INFO = -i, the i-th argument had an ille­
               gal value.


Man(1) output converted with man2html