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