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,
subroutine dtrsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
DTRSM
subroutine dtrtrs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, INFO)
DTRTRS
subroutine xerbla(SRNAME, INFO)
XERBLA