110 SUBROUTINE dgetc2( N, A, LDA, IPIV, JPIV, INFO )
120 INTEGER IPIV( * ), JPIV( * )
121 DOUBLE PRECISION A( lda, * )
127 DOUBLE PRECISION ZERO, ONE
128 parameter( zero = 0.0d+0, one = 1.0d+0 )
131 INTEGER I, IP, IPV, J, JP, JPV
132 DOUBLE PRECISION BIGNUM, EPS, SMIN, SMLNUM, XMAX
138 DOUBLE PRECISION DLAMCH
156 smlnum = dlamch(
'S' ) / eps
157 bignum = one / smlnum
158 CALL dlabad( smlnum, bignum )
165 IF( abs( a( 1, 1 ) ).LT.smlnum )
THEN 182 IF( abs( a( ip, jp ) ).GE.xmax )
THEN 183 xmax = abs( a( ip, jp ) )
190 $ smin = max( eps*xmax, smlnum )
195 $
CALL dswap( n, a( ipv, 1 ), lda, a( i, 1 ), lda )
201 $
CALL dswap( n, a( 1, jpv ), 1, a( 1, i ), 1 )
206 IF( abs( a( i, i ) ).LT.smin )
THEN 211 a( j, i ) = a( j, i ) / a( i, i )
213 CALL dger( n-i, n-i, -one, a( i+1, i ), 1, a( i, i+1 ), lda,
214 $ a( i+1, i+1 ), lda )
217 IF( abs( a( n, n ) ).LT.smin )
THEN subroutine dger(M, N, ALPHA, X, INCX, Y, INCY, A, LDA)
DGER
subroutine dgetc2(N, A, LDA, IPIV, JPIV, INFO)
DGETC2 computes the LU factorization with complete pivoting of the general n-by-n matrix...
subroutine dswap(N, DX, INCX, DY, INCY)
DSWAP
subroutine dlabad(SMALL, LARGE)
DLABAD