124 COMPLEX*16 V( N ), X( N )
131 parameter( itmax = 5 )
132 DOUBLE PRECISION ONE, TWO
133 parameter( one = 1.0d0, two = 2.0d0 )
134 COMPLEX*16 CZERO, CONE
135 parameter( czero = ( 0.0d0, 0.0d0 ),
136 $ cone = ( 1.0d0, 0.0d0 ) )
139 INTEGER I, ITER, J, JLAST, JUMP
140 DOUBLE PRECISION ABSXI, ALTSGN, ESTOLD, SAFMIN, TEMP
144 DOUBLE PRECISION DLAMCH, DZSUM1
145 EXTERNAL izmax1, dlamch, dzsum1
151 INTRINSIC abs, dble, dcmplx, dimag
158 safmin = dlamch(
'Safe minimum' )
161 x( i ) = dcmplx( one / dble( n ) )
168 GO TO ( 20, 40, 70, 90, 120 )jump
180 est = dzsum1( n, x, 1 )
183 absxi = abs( x( i ) )
184 IF( absxi.GT.safmin )
THEN
185 x( i ) = dcmplx( dble( x( i ) ) / absxi,
186 $ dimag( x( i ) ) / absxi )
199 j = izmax1( n, x, 1 )
217 CALL zcopy( n, x, 1, v, 1 )
219 est = dzsum1( n, v, 1 )
226 absxi = abs( x( i ) )
227 IF( absxi.GT.safmin )
THEN
228 x( i ) = dcmplx( dble( x( i ) ) / absxi,
229 $ dimag( x( i ) ) / absxi )
243 j = izmax1( n, x, 1 )
244 IF( ( abs( x( jlast ) ).NE.abs( x( j ) ) ) .AND.
245 $ ( iter.LT.itmax ) )
THEN
255 x( i ) = dcmplx( altsgn*( one+dble( i-1 ) / dble( n-1 ) ) )
266 temp = two*( dzsum1( n, x, 1 ) / dble( 3*n ) )
267 IF( temp.GT.est )
THEN
268 CALL zcopy( n, x, 1, v, 1 )
subroutine zcopy(n, zx, incx, zy, incy)
ZCOPY
subroutine zlacon(n, v, x, est, kase)
ZLACON estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...