163 SUBROUTINE chpgv( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK,
172 INTEGER INFO, ITYPE, LDZ, N
175 REAL RWORK( * ), W( * )
176 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