144 SUBROUTINE dtbtrs( UPLO, TRANS, DIAG, N, KD, NRHS, AB, LDAB, B,
152 CHARACTER DIAG, TRANS, UPLO
153 INTEGER INFO, KD, LDAB, LDB, N, NRHS
156 DOUBLE PRECISION AB( LDAB, * ), B( LDB, * )
162 DOUBLE PRECISION ZERO
163 parameter( zero = 0.0d+0 )
166 LOGICAL NOUNIT, UPPER
184 nounit = lsame( diag,
'N' )
185 upper = lsame( uplo,
'U' )
186 IF( .NOT.upper .AND. .NOT.lsame( uplo,
'L' ) )
THEN
188 ELSE IF( .NOT.lsame( trans,
'N' ) .AND. .NOT.
189 $ lsame( trans,
'T' ) .AND. .NOT.lsame( trans,
'C' ) )
THEN
191 ELSE IF( .NOT.nounit .AND. .NOT.lsame( diag,
'U' ) )
THEN
193 ELSE IF( n.LT.0 )
THEN
195 ELSE IF( kd.LT.0 )
THEN
197 ELSE IF( nrhs.LT.0 )
THEN
199 ELSE IF( ldab.LT.kd+1 )
THEN
201 ELSE IF( ldb.LT.max( 1, n ) )
THEN
205 CALL xerbla(
'DTBTRS', -info )
219 IF( ab( kd+1, info ).EQ.zero )
224 IF( ab( 1, info ).EQ.zero )
234 CALL dtbsv( uplo, trans, diag, n, kd, ab, ldab, b( 1, j ), 1 )
subroutine xerbla(srname, info)
subroutine dtbsv(uplo, trans, diag, n, k, a, lda, x, incx)
DTBSV
subroutine dtbtrs(uplo, trans, diag, n, kd, nrhs, ab, ldab, b, ldb, info)
DTBTRS