122 SUBROUTINE sgetrs( TRANS, N, NRHS, A, LDA, IPIV, B, LDB, INFO )
131 INTEGER INFO, LDA, LDB, N, NRHS
135 REAL A( lda, * ), B( ldb, * )
142 parameter( one = 1.0e+0 )
162 notran = lsame( trans,
'N' )
163 IF( .NOT.notran .AND. .NOT.lsame( trans,
'T' ) .AND. .NOT.
164 $ lsame( trans,
'C' ) )
THEN
166 ELSE IF( n.LT.0 )
THEN
168 ELSE IF( nrhs.LT.0 )
THEN
170 ELSE IF( lda.LT.max( 1, n ) )
THEN
172 ELSE IF( ldb.LT.max( 1, n ) )
THEN
176 CALL
xerbla(
'SGETRS', -info )
182 IF( n.EQ.0 .OR. nrhs.EQ.0 )
191 CALL
slaswp( nrhs, b, ldb, 1, n, ipiv, 1 )
195 CALL
strsm(
'Left',
'Lower',
'No transpose',
'Unit', n, nrhs,
196 $ one, a, lda, b, ldb )
200 CALL
strsm(
'Left',
'Upper',
'No transpose',
'Non-unit', n,
201 $ nrhs, one, a, lda, b, ldb )
208 CALL
strsm(
'Left',
'Upper',
'Transpose',
'Non-unit', n, nrhs,
209 $ one, a, lda, b, ldb )
213 CALL
strsm(
'Left',
'Lower',
'Transpose',
'Unit', n, nrhs, one,
218 CALL
slaswp( nrhs, b, ldb, 1, n, ipiv, -1 )
subroutine sgetrs(TRANS, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
SGETRS
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine strsm(SIDE, UPLO, TRANSA, DIAG, M, N, ALPHA, A, LDA, B, LDB)
STRSM
subroutine slaswp(N, A, LDA, K1, K2, IPIV, INCX)
SLASWP performs a series of row interchanges on a general rectangular matrix.