110 SUBROUTINE dgetc2( N, A, LDA, IPIV, JPIV, INFO )
120 INTEGER IPIV( * ), ( * )
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,
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.LT.
IF( ABS( A( 1, 1 ) )SMLNUM ) THEN
182.GE.
IF( ABS( A( IP, JP ) )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.LT.
IF( ABS( A( I, I ) )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.LT.
IF( ABS( A( N, N ) )SMIN ) THEN
subroutine dlabad(small, large)
DLABAD
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 dger(m, n, alpha, x, incx, y, incy, a, lda)
DGER