122 COMPLEX*16 V( N ), X( N )
129 parameter( itmax = 5 )
130 DOUBLE PRECISION ONE, TWO
131 parameter( one = 1.0d0, two = 2.0d0 )
132 COMPLEX*16 CZERO, CONE
133 parameter( czero = ( 0.0d0, 0.0d0 ),
134 $ cone = ( 1.0d0, 0.0d0 ) )
137 INTEGER I, ITER, J, JLAST, JUMP
138 DOUBLE PRECISION ABSXI, ALTSGN, ESTOLD, SAFMIN, TEMP
142 DOUBLE PRECISION DLAMCH, DZSUM1
143 EXTERNAL izmax1, dlamch, dzsum1
149 INTRINSIC abs, dble, dcmplx, dimag
156 safmin = dlamch(
'Safe minimum' )
159 x( i ) = dcmplx( one / dble( n ) )
166 GO TO ( 20, 40, 70, 90, 120 )jump
178 est = dzsum1( n, x, 1 )
181 absxi = abs( x( i ) )
182 IF( absxi.GT.safmin )
THEN
183 x( i ) = dcmplx( dble( x( i ) ) / absxi,
184 $ dimag( x( i ) ) / absxi )
197 j = izmax1( n, x, 1 )
215 CALL zcopy( n, x, 1, v, 1 )
217 est = dzsum1( n, v, 1 )
224 absxi = abs( x( i ) )
225 IF( absxi.GT.safmin )
THEN
226 x( i ) = dcmplx( dble( x( i ) ) / absxi,
227 $ dimag( x( i ) ) / absxi )
241 j = izmax1( n, x, 1 )
242 IF( ( abs( x( jlast ) ).NE.abs( x( j ) ) ) .AND.
243 $ ( iter.LT.itmax ) )
THEN
253 x( i ) = dcmplx( altsgn*( one+dble( i-1 ) / dble( n-1 ) ) )
264 temp = two*( dzsum1( n, x, 1 ) / dble( 3*n ) )
265 IF( temp.GT.est )
THEN
266 CALL zcopy( n, x, 1, v, 1 )
subroutine zlacon(n, v, x, est, kase)
ZLACON estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...