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, , 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.LT..OR..GT.
IF( ITYPE1 ITYPE3 ) THEN
318.NOT..OR.
ELSE IF( ( WANTZ LSAME( JOBZ, 'n
' ) ) ) THEN
320.NOT..OR..OR.
ELSE IF( ( ALLEIG VALEIG INDEIG ) ) THEN
322.NOT..OR.
ELSE IF( ( UPPER LSAME( UPLO, 'l
' ) ) ) THEN
324.LT.
ELSE IF( N0 ) THEN
328.GT..AND..LE.
IF( N0 VUVL ) THEN
331 ELSE IF( INDEIG ) THEN
334.LT..OR..GT.
ELSE IF( IUMIN( N, IL ) IUN ) THEN
340.LT..OR..AND..LT.
IF( LDZ1 ( WANTZ LDZN ) ) 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.EQ..OR..EQ.
IF( ITYPE1 ITYPE2 ) THEN
388 CALL STPSV( UPLO, TRANS, 'non-unit
', N, BP, Z( 1, J ),
392.EQ.
ELSE IF( ITYPE3 ) THEN
404 CALL STPMV( UPLO, TRANS, 'non-unit
', N, BP, Z( 1, J ),
subroutine xerbla(srname, info)
XERBLA
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
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 matrice...
subroutine stpmv(uplo, trans, diag, n, ap, x, incx)
STPMV
subroutine stpsv(uplo, trans, diag, n, ap, x, incx)
STPSV