# ?lacon

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

## Syntax

call slacon( n, v, x, isgn, est, kase )

call dlacon( n, v, x, isgn, est, kase )

call clacon( n, v, x, est, kase )

call zlacon( n, v, x, est, kase )

## Description

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

## Input Parameters

n

  INTEGER. The order of the matrix A (`n ≥ 1`).

v, x

  REAL for slacon

  DOUBLE PRECISION for dlacon

  COMPLEX for clacon

  COMPLEX*16 for zlacon.

  Arrays, DIMENSION (n) each.

  v is a workspace array.

  x is used as input after an intermediate return.

isgn

  INTEGER.

  Workspace array, DIMENSION (n), used with real flavors only.

est

  REAL for slacon/clacon

  DOUBLE PRECISION for dlacon/zlacon

  An estimate that with kase=1 or 2 should be unchanged from the previous call to ?lacon.

kase

  INTEGER.

  On the initial call to ?lacon, kase should be 0.

## Output Parameters

est

  REAL for slacon/clacon

  DOUBLE PRECISION for dlacon/zlacon

  An estimate (a lower bound) for norm(A).

kase

  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 ?lacon, kase will again be 0.

v

  On the final return, `v = A*w`, where `est = norm(v)/norm(w)` (w is not returned).

x

  On an intermediate return, x should be overwritten by

  `A*x` , if `kase = 1`,

  `A'*x` , if `kase = 2`,

  (where for complex flavors A' is the conjugate transpose of A), and ?lacon must be re-called with all the other parameters unchanged.

Parent topic: Auxiliary Routines