140 SUBROUTINE strtrs( UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB,
149 CHARACTER DIAG, TRANS, UPLO
150 INTEGER INFO, LDA, LDB, N, NRHS
153 REAL A( lda, * ), B( ldb, * )
160 parameter ( zero = 0.0e+0, one = 1.0e+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(
'STRTRS', -info )
211 IF( a( info, info ).EQ.zero )
219 CALL strsm(
'Left', uplo, trans, diag, n, nrhs, one, a, lda, b,
subroutine strsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
STRSM
subroutine strtrs(UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB, INFO)
STRTRS
subroutine xerbla(SRNAME, INFO)
XERBLA