274 SUBROUTINE zhpgvx( ITYPE, JOBZ, RANGE, UPLO, N, AP, BP, VL, VU,
275 $ IL, IU, ABSTOL, M, W, Z, LDZ, WORK, RWORK,
276 $ IWORK, IFAIL, INFO )
283 CHARACTER JOBZ, RANGE
284INTEGER IL, INFO, ITYPE, , LDZ, M, N
285 DOUBLE PRECISION ABSTOL, VL, VU
288 INTEGER IFAIL( * ), IWORK( * )
289 DOUBLE PRECISION RWORK( * ), W( * )
290 COMPLEX*16 AP( * ), BP( * ), WORK( * ), Z( LDZ, * )
296 LOGICAL ALLEIG, INDEIG, UPPER, VALEIG, WANTZ
314 wantz = lsame( jobz,
'V' )
315 upper = lsame( uplo,
'U' )
316 alleig = lsame( range,
'A' )
317 valeig = lsame( range,
'V' )
318 indeig = lsame( range, 'i
' )
321.LT..OR..GT.
IF( ITYPE1 ITYPE3 ) THEN
323.NOT..OR.
ELSE IF( ( WANTZ LSAME( JOBZ, 'n
' ) ) ) THEN
325.NOT..OR..OR.
ELSE IF( ( ALLEIG VALEIG INDEIG ) ) THEN
327.NOT..OR.
ELSE IF( ( UPPER LSAME( UPLO, 'l
' ) ) ) THEN
329.LT.
ELSE IF( N0 ) THEN
333.GT..AND..LE.
IF( N0 VUVL ) THEN
336 ELSE IF( INDEIG ) THEN
339.LT..OR..GT.
ELSE IF( IUMIN( N, IL ) IUN ) THEN
345.LT..OR..AND..LT.
IF( LDZ1 ( WANTZ LDZN ) ) THEN
351 CALL XERBLA( 'zhpgvx', -INFO )
362 CALL ZPPTRF( UPLO, N, BP, INFO )
370 CALL ZHPGST( ITYPE, UPLO, N, AP, BP, INFO )
371 CALL ZHPEVX( JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU, ABSTOL, M,
372 $ W, Z, LDZ, WORK, RWORK, IWORK, IFAIL, INFO )
380.EQ..OR..EQ.
IF( ITYPE1 ITYPE2 ) THEN
392 CALL ZTPSV( UPLO, TRANS, 'non-unit
', N, BP, Z( 1, J ),
396.EQ.
ELSE IF( ITYPE3 ) THEN
408 CALL ZTPMV( UPLO, TRANS, 'non-unit
', N, BP, Z( 1, J ),
subroutine xerbla(srname, info)
XERBLA
subroutine zhpgst(itype, uplo, n, ap, bp, info)
ZHPGST
subroutine zpptrf(uplo, n, ap, info)
ZPPTRF
subroutine zhpevx(jobz, range, uplo, n, ap, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, ifail, info)
ZHPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...
subroutine zhpgvx(itype, jobz, range, uplo, n, ap, bp, vl, vu, il, iu, abstol, m, w, z, ldz, work, rwork, iwork, ifail, info)
ZHPGVX
subroutine ztpsv(uplo, trans, diag, n, ap, x, incx)
ZTPSV
subroutine ztpmv(uplo, trans, diag, n, ap, x, incx)
ZTPMV