109 SUBROUTINE sgetf2( M, N, A, LDA, IPIV, INFO )
117 INTEGER INFO, LDA, M, N
128 parameter( one = 1.0e+0, zero = 0.0e+0 )
137 EXTERNAL slamch, isamax
152 ELSE IF( n.LT.0 )
THEN
154 ELSE IF( lda.LT.max( 1, m ) )
THEN
158 CALL
xerbla(
'SGETF2', -info )
164 IF( m.EQ.0 .OR. n.EQ.0 )
171 DO 10 j = 1, min( m, n )
175 jp = j - 1 + isamax( m-j+1, a( j, j ), 1 )
177 IF( a( jp, j ).NE.zero )
THEN
182 $ CALL
sswap( n, a( j, 1 ), lda, a( jp, 1 ), lda )
187 IF( abs(a( j, j )) .GE. sfmin )
THEN
188 CALL
sscal( m-j, one / a( j, j ), a( j+1, j ), 1 )
191 a( j+i, j ) = a( j+i, j ) / a( j, j )
196 ELSE IF( info.EQ.0 )
THEN
201 IF( j.LT.min( m, n ) )
THEN
205 CALL
sger( m-j, n-j, -one, a( j+1, j ), 1, a( j, j+1 ), lda,
206 $ a( j+1, j+1 ), lda )
subroutine sswap(N, SX, INCX, SY, INCY)
SSWAP
subroutine xerbla(SRNAME, INFO)
XERBLA
subroutine sger(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
SGER
subroutine sgetf2(M, N, A, LDA, IPIV, INFO)
SGETF2 computes the LU factorization of a general m-by-n matrix using partial pivoting with row inter...
subroutine sscal(N, SA, SX, INCX)
SSCAL