112 SUBROUTINE dlacon( N, V, X, ISGN, EST, KASE )
124 DOUBLE PRECISION V( * ), X( * )
131 parameter( itmax = 5 )
132 DOUBLE PRECISION ZERO, ONE, TWO
133 parameter( zero = 0.0d+0, one = 1.0d+0, two = 2.0d+0 )
136 INTEGER I, ITER, J, JLAST, JUMP
137 DOUBLE PRECISION ALTSGN, ESTOLD, TEMP
141 DOUBLE PRECISION DASUM
142 EXTERNAL idamax, dasum
148 INTRINSIC abs, dble, nint, sign
157 x( i ) = one / dble( n )
164 GO TO ( 20, 40, 70, 110, 140 )jump
176 est = dasum( n, x, 1 )
179 x( i ) = sign( one, x( i ) )
180 isgn( i ) = nint( x( i ) )
190 j = idamax( n, x, 1 )
208 CALL dcopy( n, x, 1, v, 1 )
210 est = dasum( n, v, 1 )
212 IF( nint( sign( one, x( i ) ) ).NE.isgn( i ) )
224 x( i ) = sign( one, x( i ) )
225 isgn( i ) = nint( x( i ) )
236 j = idamax( n, x, 1 )
237 IF( ( x( jlast ).NE.abs( x( j ) ) ) .AND. ( iter.LT.itmax ) )
THEN
247 x( i ) = altsgn*( one+dble( i-1 ) / dble( n-1 ) )
258 temp = two*( dasum( n, x, 1 ) / dble( 3*n ) )
259 IF( temp.GT.est )
THEN
260 CALL dcopy( n, x, 1, v, 1 )
subroutine dlacon(n, v, x, isgn, est, kase)
DLACON estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...