177 SUBROUTINE ssbgv( JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, W, Z,
187 INTEGER INFO, KA, KB, LDAB, LDBB, LDZ, N
190 REAL AB( ldab, * ), BB( ldbb, * ), W( * ),
191 $ work( * ), z( ldz, * )
199 INTEGER IINFO, INDE, INDWRK
212 wantz = lsame( jobz,
'V' )
213 upper = lsame( uplo,
'U' )
216 IF( .NOT.( wantz .OR. lsame( jobz,
'N' ) ) )
THEN
218 ELSE IF( .NOT.( upper .OR. lsame( uplo,
'L' ) ) )
THEN
220 ELSE IF( n.LT.0 )
THEN
222 ELSE IF( ka.LT.0 )
THEN
224 ELSE IF( kb.LT.0 .OR. kb.GT.ka )
THEN
226 ELSE IF( ldab.LT.ka+1 )
THEN
228 ELSE IF( ldbb.LT.kb+1 )
THEN
230 ELSE IF( ldz.LT.1 .OR. ( wantz .AND. ldz.LT.n ) )
THEN
234 CALL
xerbla(
'SSBGV ', -info )
245 CALL
spbstf( uplo, n, kb, bb, ldbb, info )
255 CALL
ssbgst( jobz, uplo, n, ka, kb, ab, ldab, bb, ldbb, z, ldz,
256 $ work( indwrk ), iinfo )
265 CALL
ssbtrd( vect, uplo, n, ka, ab, ldab, w, work( inde ), z, ldz,
266 $ work( indwrk ), iinfo )
270 IF( .NOT.wantz )
THEN
271 CALL
ssterf( n, w, work( inde ), info )
273 CALL
ssteqr( jobz, n, w, work( inde ), z, ldz, work( indwrk ),
subroutine spbstf(UPLO, N, KD, AB, LDAB, INFO)
SPBSTF
subroutine ssbgv(JOBZ, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, W, Z, LDZ, WORK, INFO)
SSBGST
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine ssbgst(VECT, UPLO, N, KA, KB, AB, LDAB, BB, LDBB, X, LDX, WORK, INFO)
SSBGST
subroutine ssterf(N, D, E, INFO)
SSTERF
subroutine ssteqr(COMPZ, N, D, E, Z, LDZ, WORK, INFO)
SSTEQR
subroutine ssbtrd(VECT, UPLO, N, KD, AB, LDAB, D, E, Q, LDQ, WORK, INFO)
SSBTRD