DLACN2 estimates the 1-norm of a square matrix, using reverse communication for evaluating matrix-vector products.

Purpose:

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

Parameters:

N

N is INTEGER
The order of the matrix. N >= 1.

V

V is DOUBLE PRECISION array, dimension (N)
On the final return, V = A*W, where EST = norm(V)/norm(W)
(W is not returned).

X

X is DOUBLE PRECISION array, dimension (N)
On an intermediate return, X should be overwritten by
A * X, if KASE=1,
A**T * X, if KASE=2,
and DLACN2 must be re-called with all the other parameters
unchanged.

ISGN

ISGN is INTEGER array, dimension (N)

EST

EST is 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

KASE is 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**T * X.
On the final return from DLACN2, KASE will again be 0.

ISAVE

ISAVE is INTEGER array, dimension (3)
ISAVE is used to save variables between calls to DLACN2

Author:

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Date:

December 2016

Further Details:

Originally named SONEST, dated March 16, 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)