138 SUBROUTINE strtrs( UPLO, TRANS, DIAG, N, NRHS, A, LDA, B, LDB,
146 CHARACTER DIAG, TRANS, UPLO
147 INTEGER INFO, LDA, LDB, N, NRHS
150 REAL A( LDA, * ), B( LDB, * )
157 parameter( zero = 0.0e+0, one = 1.0e+0 )
177 nounit = lsame( diag,
'N' )
178 IF( .NOT.lsame( uplo,
'U' ) .AND. .NOT.lsame( uplo,
'L' ) )
THEN
180 ELSE IF( .NOT.lsame( trans,
'N' ) .AND. .NOT.
181 $ lsame( trans,
'T' ) .AND. .NOT.lsame( trans,
'C' ) )
THEN
183 ELSE IF( .NOT.nounit .AND. .NOT.lsame( diag,
'U' ) )
THEN
185 ELSE IF( n.LT.0 )
THEN
187 ELSE IF( nrhs.LT.0 )
THEN
189 ELSE IF( lda.LT.max( 1, n ) )
THEN
191 ELSE IF( ldb.LT.max( 1, n ) )
THEN
195 CALL xerbla(
'STRTRS', -info )
208 IF( a( info, info ).EQ.zero )
216 CALL strsm(
'Left', uplo, trans, diag, n, nrhs, one, a, lda, b,
subroutine xerbla(srname, info)
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