# p?lacon

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

## Syntax

call pslacon(n, v, iv, jv, descv, x, ix, jx, descx, isgn, est, kase)

call pdlacon(n, v, iv, jv, descv, x, ix, jx, descx, isgn, est, kase)

call pclacon(n, v, iv, jv, descv, x, ix, jx, descx, isgn, est, kase)

call pzlacon(n, v, iv, jv, descv, x, ix, jx, descx, isgn, est, kase)

## Description

This routine estimates the 1-norm of a square, real/unitary distributed matrix A. Reverse communication is used for evaluating matrix-vector products. x and v are aligned with the distributed matrix A, this information is implicitly contained within iv, ix, descv, and descx.

## Input Parameters

n

  (global).INTEGER. The length of the distributed vectors v and x. n ≥ 0.

v

  (local).

  REAL for pslacon

  DOUBLE PRECISION for pdlacon

  COMPLEX for pclacon

  COMPLEX*16 for pzlacon.

  Pointer into the local memory to an array of DIMENSION LOCr(n+mod(iv-1, mb_v)). On the final return, `v = a*w`, where est = norm(v)/norm(w) (w is not returned).

iv, jv

  (global) INTEGER. The row and column indices in the global array v indicating the first row and the first column of the submatrix V, respectively.

descv

  (global and local) INTEGER array, DIMENSION (dlen_). The array descriptor for the distributed matrix V.

x

  (local).

  REAL for pslacon

  DOUBLE PRECISION for pdlacon

  COMPLEX for pclacon

  COMPLEX*16 for pzlacon.

  Pointer into the local memory to an array of DIMENSION LOCr(n+mod(ix-1, mb_x)).

ix, jx

  (global) INTEGER. The row and column indices in the global array x indicating the first row and the first column of the submatrix X, respectively.

descx

  (global and local) INTEGER array, DIMENSION (dlen_). The array descriptor for the distributed matrix X.

isgn

  (local). INTEGER.

  Array, DIMENSION LOCr(n+mod(ix-1, mb_x)). isgn is aligned with x and v.

kase

  (local). INTEGER.

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

## Output Parameters

x

  (local).

  On an intermediate return, X should be overwritten by A*X, if kase=1, A' *X, if kase=2,

  p?lacon must be re-called with all the other parameters unchanged.

est

  (global). REAL for single precision flavors

  DOUBLE PRECISION for double precision flavors

kase

  (local)

  INTEGER. On an intermediate return, kase is 1 or 2, indicating whether X should be overwritten by `A*X,` or `A'*X`. On the final return from p?lacon, kase is again 0.

Parent topic: Auxiliary Routines