SYNOPSIS
- SUBROUTINE CLACN2(
- N, V, X, EST, KASE, ISAVE )
- INTEGER KASE, N
- REAL EST
- INTEGER ISAVE( 3 )
- COMPLEX V( * ), X( * )
PURPOSE
CLACN2 estimates the 1-norm of a square, complex matrix A. Reverse communication is used for evaluating matrix-vector products.ARGUMENTS
- N (input) INTEGER
- The order of the matrix. N >= 1.
- V (workspace) COMPLEX array, dimension (N)
- On the final return, V = A*W, where EST = norm(V)/norm(W) (W is not returned).
- X (input/output) COMPLEX array, dimension (N)
- On an intermediate return, X should be overwritten by A * X, if KASE=1, A' * X, if KASE=2, where A' is the conjugate transpose of A, and CLACN2 must be re-called with all the other parameters unchanged.
- EST (input/output) REAL
- On entry with KASE = 1 or 2 and ISAVE(1) = 3, EST should be unchanged from the previous call to CLACN2. On exit, EST is an estimate (a lower bound) for norm(A).
- KASE (input/output) INTEGER
- On the initial call to CLACN2, 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 CLACN2, KASE will again be 0.
- ISAVE (input/output) INTEGER array, dimension (3)
- ISAVE is used to save variables between calls to SLACN2
FURTHER DETAILS
Contributed by Nick Higham, University of Manchester.Originally named CONEST, 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. Last modified: April, 1999
This is a thread safe version of CLACON, which uses the array ISAVE in place of a SAVE statement, as follows:
CLACON CLACN2
JUMP ISAVE(1)
J ISAVE(2)
ITER ISAVE(3)