DLACN2(3) estimates the 1-norm of a square, real matrix A

SYNOPSIS

SUBROUTINE DLACN2(
N, V, X, ISGN, EST, KASE, ISAVE )

    
INTEGER KASE, N

    
DOUBLE PRECISION EST

    
INTEGER ISGN( * ), ISAVE( 3 )

    
DOUBLE PRECISION V( * ), X( * )

PURPOSE

DLACN2 estimates the 1-norm of a square, real matrix A. Reverse communication is used for evaluating matrix-vector products.

ARGUMENTS

N (input) INTEGER
The order of the matrix. N >= 1.
V (workspace) DOUBLE PRECISION array, dimension (N)
On the final return, V = A*W, where EST = norm(V)/norm(W) (W is not returned).
X (input/output) DOUBLE PRECISION array, dimension (N)
On an intermediate return, X should be overwritten by A * X, if KASE=1, A' * X, if KASE=2, and DLACN2 must be re-called with all the other parameters unchanged.
ISGN (workspace) INTEGER array, dimension (N)
EST (input/output) DOUBLE PRECISION
On entry with KASE = 1 or 2 and ISAVE(1) = 3, EST should be unchanged from the previous call to DLACN2. On exit, EST is an estimate (a lower bound) for norm(A).
KASE (input/output) INTEGER
On the initial call to DLACN2, KASE should be 0. On an intermediate return, KASE will be 1 or 2, indicating whether X should be overwritten by A * X or A' * X. On the final return from DLACN2, KASE will again be 0.
ISAVE (input/output) INTEGER array, dimension (3)
ISAVE is used to save variables between calls to DLACN2

FURTHER DETAILS

Contributed by Nick Higham, University of Manchester.
Originally named SONEST, dated March 16, 1988.
Reference: N.J. Higham, "FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation", ACM Trans. Math. Soft., vol. 14, no. 4, pp. 381-396, December 1988. This is a thread safe version of DLACON, which uses the array ISAVE in place of a SAVE statement, as follows:

   DLACON     DLACN2

    JUMP     ISAVE(1)

    J        ISAVE(2)

    ITER     ISAVE(3)