112 SUBROUTINE sgetc2( N, A, LDA, IPIV, JPIV, INFO )
123 INTEGER IPIV( * ), JPIV( * )
131 parameter ( zero = 0.0e+0, one = 1.0e+0 )
134 INTEGER I, IP, IPV, J, JP, JPV
135 REAL BIGNUM, EPS, SMIN, SMLNUM, XMAX
159 smlnum = slamch(
'S' ) / eps
160 bignum = one / smlnum
161 CALL slabad( smlnum, bignum )
168 IF( abs( a( 1, 1 ) ).LT.smlnum )
THEN
185 IF( abs( a( ip, jp ) ).GE.xmax )
THEN
186 xmax = abs( a( ip, jp ) )
193 $ smin = max( eps*xmax, smlnum )
198 $
CALL sswap( n, a( ipv, 1 ), lda, a( i, 1 ), lda )
204 $
CALL sswap( n, a( 1, jpv ), 1, a( 1, i ), 1 )
209 IF( abs( a( i, i ) ).LT.smin )
THEN
214 a( j, i ) = a( j, i ) / a( i, i )
216 CALL sger( n-i, n-i, -one, a( i+1, i ), 1, a( i, i+1 ), lda,
217 $ a( i+1, i+1 ), lda )
220 IF( abs( a( n, n ) ).LT.smin )
THEN
subroutine sger(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
SGER
subroutine slabad(SMALL, LARGE)
SLABAD
subroutine sgetc2(N, A, LDA, IPIV, JPIV, INFO)
SGETC2 computes the LU factorization with complete pivoting of the general n-by-n matrix...
subroutine sswap(N, SX, INCX, SY, INCY)
SSWAP