116 SUBROUTINE dlacon( N, V, X, ISGN, EST, KASE )
129 DOUBLE PRECISION v( * ),
x( * )
136 parameter( itmax = 5 )
137 DOUBLE PRECISION zero, one, two
138 parameter( zero = 0.0d+0, one = 1.0d+0, two = 2.0d+0 )
141 INTEGER i, iter,
j, jlast, jump
142 DOUBLE PRECISION altsgn, estold, temp
146 DOUBLE PRECISION dasum
153 INTRINSIC abs, dble, nint, sign
162 x( i ) = one / dble( n )
169 go to( 20, 40, 70, 110, 140 )jump
184 x( i ) = sign( one,
x( i ) )
185 isgn( i ) = nint(
x( i ) )
213 CALL
dcopy( n,
x, 1, v, 1 )
215 est =
dasum( n, v, 1 )
217 IF( nint( sign( one,
x( i ) ) ).NE.isgn( i ) )
229 x( i ) = sign( one,
x( i ) )
230 isgn( i ) = nint(
x( i ) )
242 IF( (
x( jlast ).NE.abs(
x(
j ) ) ) .AND. ( iter.LT.itmax ) )
THEN
252 x( i ) = altsgn*( one+dble( i-1 ) / dble( n-1 ) )
263 temp = two*(
dasum( n,
x, 1 ) / dble( 3*n ) )
264 IF( temp.GT.est )
THEN
265 CALL
dcopy( n,
x, 1, v, 1 )
subroutine dcopy(N, DX, INCX, DY, INCY)
DCOPY
subroutine dlacon(N, V, X, ISGN, EST, KASE)
DLACON estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vec...
set ue cd $ADTTMP cat<< EOF > tmp f Program LinearEquations Implicit none Real j
DOUBLE PRECISION function dasum(N, DX, INCX)
DASUM
INTEGER function idamax(N, DX, INCX)
IDAMAX