165 SUBROUTINE zhpgv( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK,
175 INTEGER INFO, ITYPE, LDZ, N
178 DOUBLE PRECISION RWORK( * ), W( * )
179 COMPLEX*16 AP( * ), BP( * ), WORK( * ), Z( ldz, * )
200 wantz = lsame( jobz,
'V' )
201 upper = lsame( uplo,
'U' )
204 IF( itype.LT.1 .OR. itype.GT.3 )
THEN
206 ELSE IF( .NOT.( wantz .OR. lsame( jobz,
'N' ) ) )
THEN
208 ELSE IF( .NOT.( upper .OR. lsame( uplo,
'L' ) ) )
THEN
210 ELSE IF( n.LT.0 )
THEN
212 ELSE IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) )
THEN
216 CALL xerbla(
'ZHPGV ', -info )
227 CALL zpptrf( uplo, n, bp, info )
235 CALL zhpgst( itype, uplo, n, ap, bp, info )
236 CALL zhpev( jobz, uplo, n, ap, w, z, ldz, work, rwork, info )
245 IF( itype.EQ.1 .OR. itype.EQ.2 )
THEN
257 CALL ztpsv( uplo, trans,
'Non-unit', n, bp, z( 1, j ),
261 ELSE IF( itype.EQ.3 )
THEN
273 CALL ztpmv( uplo, trans,
'Non-unit', n, bp, z( 1, j ),
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ztpsv(UPLO, TRANS, DIAG, N, AP, X, INCX)
ZTPSV
subroutine ztpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
ZTPMV
subroutine zhpgv(ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, RWORK, INFO)
ZHPGV
subroutine zhpev(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, RWORK, INFO)
ZHPEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine zpptrf(UPLO, N, AP, INFO)
ZPPTRF
subroutine zhpgst(ITYPE, UPLO, N, AP, BP, INFO)
ZHPGST