SUBROUTINE DLACON( N, V, X, ISGN, EST, KASE ) INTEGER KASE, N DOUBLE PRECISION EST INTEGER ISGN( * ) DOUBLE PRECISION V( * ), X( * )
DLACON estimates the 1-norm of a square, real matrix A. Reverse communication is used for evaluating matrix-vector products.
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 DLACON must be re-called with all the other parameters unchanged. ISGN (workspace) INTEGER array, dimension (N) EST (output) DOUBLE PRECISION An estimate (a lower bound) for norm(A). KASE (input/output) INTEGER On the initial call to DLACON, 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 DLACON, KASE will again be 0.
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.