269 SUBROUTINE sspgvx( ITYPE, JOBZ, RANGE, UPLO, N, AP, BP, VL, VU,
270 $ IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK,
278 CHARACTER JOBZ, RANGE, UPLO
279 INTEGER IL, INFO, ITYPE, IU, LDZ, M, N
283 INTEGER IFAIL( * ), IWORK( * )
284 REAL AP( * ), BP( * ), W( * ), WORK( * ),
291 LOGICAL ALLEIG, INDEIG, UPPER, VALEIG, WANTZ
309 upper = lsame( uplo,
'U' )
310 wantz = lsame( jobz,
'V' )
311 alleig = lsame( range,
'A' )
312 valeig = lsame( range,
'V' )
313 indeig = lsame( range,
'I' )
316 IF( itype.LT.1 .OR. itype.GT.3 )
THEN 318 ELSE IF( .NOT.( wantz .OR. lsame( jobz,
'N' ) ) )
THEN 320 ELSE IF( .NOT.( alleig .OR. valeig .OR. indeig ) )
THEN 322 ELSE IF( .NOT.( upper .OR. lsame( uplo,
'L' ) ) )
THEN 324 ELSE IF( n.LT.0 )
THEN 328 IF( n.GT.0 .AND. vu.LE.vl )
THEN 331 ELSE IF( indeig )
THEN 334 ELSE IF( iu.LT.min( n, il ) .OR. iu.GT.n )
THEN 340 IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) )
THEN 346 CALL xerbla(
'SSPGVX', -info )
358 CALL spptrf( uplo, n, bp, info )
366 CALL sspgst( itype, uplo, n, ap, bp, info )
367 CALL sspevx( jobz, range, uplo, n, ap, vl, vu, il, iu, abstol, m,
368 $ w, z, ldz, work, iwork, ifail, info )
376 IF( itype.EQ.1 .OR. itype.EQ.2 )
THEN 388 CALL stpsv( uplo, trans,
'Non-unit', n, bp, z( 1, j ),
392 ELSE IF( itype.EQ.3 )
THEN 404 CALL stpmv( uplo, trans,
'Non-unit', n, bp, z( 1, j ),
subroutine stpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
STPMV
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine sspevx(JOBZ, RANGE, UPLO, N, AP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK, IFAIL, INFO)
SSPEVX computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matric...
subroutine stpsv(UPLO, TRANS, DIAG, N, AP, X, INCX)
STPSV
subroutine spptrf(UPLO, N, AP, INFO)
SPPTRF
subroutine sspgst(ITYPE, UPLO, N, AP, BP, INFO)
SSPGST
subroutine sspgvx(ITYPE, JOBZ, RANGE, UPLO, N, AP, BP, VL, VU, IL, IU, ABSTOL, M, W, Z, LDZ, WORK, IWORK, IFAIL, INFO)
SSPGVX