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