140 SUBROUTINE dtrtrs( UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB,
149 CHARACTER DIAG, TRANS, UPLO
150 INTEGER INFO, LDA, LDB, N, NRHS
153 DOUBLE PRECISION A( LDA, * ), B( LDB, * )
159 DOUBLE PRECISION ZERO, ONE
160 parameter( zero = 0.0d+0, one = 1.0d+0 )
180 nounit = lsame( diag,
'N' )
181 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
183 ELSE IF( .NOT.lsame( trans,
'N' ) .AND. .NOT.
184 $ lsame( trans,
'T' ) .AND. .NOT.lsame( trans,
'C' ) )
THEN
186 ELSE IF( .NOT.nounit .AND. .NOT.lsame( diag,
'U' ) )
THEN
188 ELSE IF( n.LT.0 )
THEN
190 ELSE IF( nrhs.LT.0 )
THEN
192 ELSE IF( lda.LT.max( 1, n ) )
THEN
194 ELSE IF( ldb.LT.max( 1, n ) )
THEN
198 CALL xerbla(
'DTRTRS', -info )
211 IF( a( info, info ).EQ.zero )
219 CALL dtrsm(
'Left', uplo, trans, diag, n, nrhs, one, a, lda, b,