161 SUBROUTINE dspgv( ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK,
171 INTEGER INFO, ITYPE, LDZ, N
174 DOUBLE PRECISION AP( * ), BP( * ), W( * ), WORK( * ),
196 wantz = lsame( jobz,
'V' )
197 upper = lsame( uplo,
'U' )
200 IF( itype.LT.1 .OR. itype.GT.3 )
THEN
202 ELSE IF( .NOT.( wantz .OR. lsame( jobz,
'N' ) ) )
THEN
204 ELSE IF( .NOT.( upper .OR. lsame( uplo,
'L' ) ) )
THEN
206 ELSE IF( n.LT.0 )
THEN
208 ELSE IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) )
THEN
212 CALL
xerbla(
'DSPGV ', -info )
223 CALL
dpptrf( uplo, n, bp, info )
231 CALL
dspgst( itype, uplo, n, ap, bp, info )
232 CALL
dspev( jobz, uplo, n, ap, w, z, ldz, work, info )
241 IF( itype.EQ.1 .OR. itype.EQ.2 )
THEN
253 CALL
dtpsv( uplo, trans,
'Non-unit', n, bp, z( 1, j ),
257 ELSE IF( itype.EQ.3 )
THEN
269 CALL
dtpmv( uplo, trans,
'Non-unit', n, bp, z( 1, j ),
subroutine dspgv(ITYPE, JOBZ, UPLO, N, AP, BP, W, Z, LDZ, WORK, INFO)
DSPGST
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine dtpsv(UPLO, TRANS, DIAG, N, AP, X, INCX)
DTPSV
subroutine dtpmv(UPLO, TRANS, DIAG, N, AP, X, INCX)
DTPMV
subroutine dpptrf(UPLO, N, AP, INFO)
DPPTRF
subroutine dspgst(ITYPE, UPLO, N, AP, BP, INFO)
DSPGST
subroutine dspev(JOBZ, UPLO, N, AP, W, Z, LDZ, WORK, INFO)
DSPEV computes the eigenvalues and, optionally, the left and/or right eigenvectors for OTHER matrice...