138 SUBROUTINE dgttrs( TRANS, N, NRHS, DL, D, DU, DU2, IPIV, B, LDB,
148 INTEGER info, ldb, n, nrhs
152 DOUBLE PRECISION b( ldb, * ), d( * ), dl( * ), du( * ), du2( * )
159 INTEGER itrans, j, jb, nb
174 notran = ( trans.EQ.
'N' .OR. trans.EQ.
'n' )
175 IF( .NOT.notran .AND. .NOT.( trans.EQ.
'T' .OR. trans.EQ.
176 $
't' ) .AND. .NOT.( trans.EQ.
'C' .OR. trans.EQ.
'c' ) )
THEN
178 ELSE IF( n.LT.0 )
THEN
180 ELSE IF( nrhs.LT.0 )
THEN
182 ELSE IF( ldb.LT.max( n, 1 ) )
THEN
186 CALL
xerbla(
'DGTTRS', -info )
192 IF( n.EQ.0 .OR. nrhs.EQ.0 )
208 nb = max( 1,
ilaenv( 1,
'DGTTRS', trans, n, nrhs, -1, -1 ) )
211 IF( nb.GE.nrhs )
THEN
212 CALL
dgtts2( itrans, n, nrhs, dl, d, du, du2, ipiv, b, ldb )
214 DO 10 j = 1, nrhs, nb
215 jb = min( nrhs-j+1, nb )
216 CALL
dgtts2( itrans, n, jb, dl, d, du, du2, ipiv, b( 1, j ),