142 SUBROUTINE dtrtrs( UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB,
150 CHARACTER DIAG, TRANS, UPLO
151 INTEGER INFO, LDA, LDB, N, NRHS
154 DOUBLE PRECISION A( LDA, * ), B( LDB, * )
160 DOUBLE PRECISION ZERO, ONE
161 parameter( zero = 0.0d+0, one = 1.0d+0 )
181 nounit = lsame( diag,
'N' )
182 IF( .NOT.lsame( uplo,
'U' ) .AND.
183 $ .NOT.lsame( uplo,
'L' ) )
THEN
185 ELSE IF( .NOT.lsame( trans,
'N' ) .AND. .NOT.
186 $ lsame( trans,
'T' ) .AND.
187 $ .NOT.lsame( trans,
'C' ) )
THEN
189 ELSE IF( .NOT.nounit .AND. .NOT.lsame( diag,
'U' ) )
THEN
191 ELSE IF( n.LT.0 )
THEN
193 ELSE IF( nrhs.LT.0 )
THEN
195 ELSE IF( lda.LT.max( 1, n ) )
THEN
197 ELSE IF( ldb.LT.max( 1, n ) )
THEN
201 CALL xerbla(
'DTRTRS', -info )
214 IF( a( info, info ).EQ.zero )
222 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