127 COMPLEX*16 v( n ),
x( n )
134 parameter( itmax = 5 )
135 DOUBLE PRECISION one, two
136 parameter( one = 1.0d0, two = 2.0d0 )
137 COMPLEX*16 czero, cone
138 parameter( czero = ( 0.0d0, 0.0d0 ),
139 $ cone = ( 1.0d0, 0.0d0 ) )
142 INTEGER i, iter,
j, jlast, jump
143 DOUBLE PRECISION absxi, altsgn, estold, safmin, temp
154 INTRINSIC abs, dble, dcmplx, dimag
161 safmin =
dlamch(
'Safe minimum' )
164 x( i ) = dcmplx( one / dble( n ) )
171 go to( 20, 40, 70, 90, 120 )jump
186 absxi = abs(
x( i ) )
187 IF( absxi.GT.safmin )
THEN
188 x( i ) = dcmplx( dble(
x( i ) ) / absxi,
189 $ dimag(
x( i ) ) / absxi )
220 CALL
zcopy( n,
x, 1, v, 1 )
229 absxi = abs(
x( i ) )
230 IF( absxi.GT.safmin )
THEN
231 x( i ) = dcmplx( dble(
x( i ) ) / absxi,
232 $ dimag(
x( i ) ) / absxi )
247 IF( ( abs(
x( jlast ) ).NE.abs(
x(
j ) ) ) .AND.
248 $ ( iter.LT.itmax ) )
THEN
258 x( i ) = dcmplx( altsgn*( one+dble( i-1 ) / dble( n-1 ) ) )
269 temp = two*(
dzsum1( n,
x, 1 ) / dble( 3*n ) )
270 IF( temp.GT.est )
THEN
271 CALL
zcopy( n,
x, 1, v, 1 )
DOUBLE PRECISION function dzsum1(N, CX, INCX)
DZSUM1 forms the 1-norm of the complex vector using the true absolute value.
subroutine zcopy(N, ZX, INCX, ZY, INCY)
ZCOPY
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
DOUBLE PRECISION function dlamch(CMACH)
DLAMCH
subroutine zlacon(N, V, X, EST, KASE)
ZLACON estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...
INTEGER function izmax1(N, CX, INCX)
IZMAX1 finds the index of the vector element whose real part has maximum absolute value...