161      SUBROUTINE chpgv( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ,
 
  171      INTEGER            INFO, ITYPE, LDZ, N
 
  174      REAL               RWORK( * ), W( * )
 
  175      COMPLEX            AP( * ), BP( * ), WORK( * ), Z( LDZ, * )
 
  197      wantz = lsame( jobz, 
'V' )
 
  198      upper = lsame( uplo, 
'U' )
 
  201      IF( itype.LT.1 .OR. itype.GT.3 ) 
THEN 
  203      ELSE IF( .NOT.( wantz .OR. lsame( jobz, 
'N' ) ) ) 
THEN 
  205      ELSE IF( .NOT.( upper .OR. lsame( uplo, 
'L' ) ) ) 
THEN 
  207      ELSE IF( n.LT.0 ) 
THEN 
  209      ELSE IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) ) 
THEN 
  213         CALL xerbla( 
'CHPGV ', -info )
 
  224      CALL cpptrf( uplo, n, bp, info )
 
  232      CALL chpgst( itype, uplo, n, ap, bp, info )
 
  233      CALL chpev( jobz, uplo, n, ap, w, z, ldz, work, rwork, info )
 
  242         IF( itype.EQ.1 .OR. itype.EQ.2 ) 
THEN 
  254               CALL ctpsv( uplo, trans, 
'Non-unit', n, bp, z( 1, j ),
 
  258         ELSE IF( itype.EQ.3 ) 
THEN 
  270               CALL ctpmv( uplo, trans, 
'Non-unit', n, bp, z( 1, j ),
 
 
subroutine xerbla(srname, info)
subroutine chpev(jobz, uplo, n, ap, w, z, ldz, work, rwork, info)
CHPEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrices
subroutine chpgst(itype, uplo, n, ap, bp, info)
CHPGST
subroutine chpgv(itype, jobz, uplo, n, ap, bp, w, z, ldz, work, rwork, info)
CHPGV
subroutine cpptrf(uplo, n, ap, info)
CPPTRF
subroutine ctpmv(uplo, trans, diag, n, ap, x, incx)
CTPMV
subroutine ctpsv(uplo, trans, diag, n, ap, x, incx)
CTPSV