lacn2#

Functions

void slacn2(
    const INT           n,
          f32* restrict V,
          f32* restrict X,
          INT* restrict isgn,
          f32*          est,
          INT*          kase,
          INT* restrict isave
);
void slacn2(const INT n, f32 *restrict V, f32 *restrict X, INT *restrict isgn, f32 *est, INT *kase, INT *restrict isave)#

SLACN2 estimates the 1-norm of a square, real matrix A.

Reverse communication is used for evaluating matrix-vector products.

This is a thread safe version of SLACON, which uses the array isave in place of a SAVE statement.

Parameters

in
n

The order of the matrix (n >= 1).

out
V

On the final return, V = A*W, where EST = norm(V)/norm(W) (W is not returned). Array of dimension n.

inout
X

On an intermediate return, X should be overwritten by A * X if kase=1, or A**T * X if kase=2, and SLACN2 must be re-called with all other parameters unchanged. Array of dimension n.

out
isgn

Integer array of dimension n.

inout
est

On entry with kase = 1 or 2 and isave[0] = 3, est should be unchanged from the previous call. On exit, est is an estimate (a lower bound) for norm(A).

inout
kase

On the initial call, 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 SLACN2, kase will again be 0.

inout
isave

Integer array of dimension 3 used to save variables between calls. isave[0] = JUMP, isave[1] = J, isave[2] = ITER.

Functions

void dlacn2(
    const INT           n,
          f64* restrict V,
          f64* restrict X,
          INT* restrict isgn,
          f64*          est,
          INT*          kase,
          INT* restrict isave
);
void dlacn2(const INT n, f64 *restrict V, f64 *restrict X, INT *restrict isgn, f64 *est, INT *kase, INT *restrict isave)#

DLACN2 estimates the 1-norm of a square, real matrix A.

Reverse communication is used for evaluating matrix-vector products.

This is a thread safe version of DLACON, which uses the array isave in place of a SAVE statement.

Parameters

in
n

The order of the matrix (n >= 1).

out
V

On the final return, V = A*W, where EST = norm(V)/norm(W) (W is not returned). Array of dimension n.

inout
X

On an intermediate return, X should be overwritten by A * X if kase=1, or A**T * X if kase=2, and DLACN2 must be re-called with all other parameters unchanged. Array of dimension n.

out
isgn

Integer array of dimension n.

inout
est

On entry with kase = 1 or 2 and isave[0] = 3, est should be unchanged from the previous call. On exit, est is an estimate (a lower bound) for norm(A).

inout
kase

On the initial call, 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.

inout
isave

Integer array of dimension 3 used to save variables between calls. isave[0] = JUMP, isave[1] = J, isave[2] = ITER.

Functions

void clacn2(
    const INT           n,
          c64* restrict V,
          c64* restrict X,
          f32*          est,
          INT*          kase,
          INT* restrict isave
);
void clacn2(const INT n, c64 *restrict V, c64 *restrict X, f32 *est, INT *kase, INT *restrict isave)#

CLACN2 estimates the 1-norm of a square, complex matrix A.

Reverse communication is used for evaluating matrix-vector products.

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[0]
 J        isave[1]
 ITER     isave[2]

Parameters

in
n

The order of the matrix. n >= 1.

out
V

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

inout
X

Complex array, dimension (n). On an intermediate return, X should be overwritten by A * X, if kase=1, A**H * X, if kase=2, where A**H is the conjugate transpose of A, and CLACN2 must be re-called with all the other parameters unchanged.

inout
est

On entry with kase = 1 or 2 and isave[0] = 3, est should be unchanged from the previous call to CLACN2. On exit, est is an estimate (a lower bound) for norm(A).

inout
kase

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**H * X. On the final return from CLACN2, kase will again be 0.

inout
isave

Integer array of dimension 3 used to save variables between calls to CLACN2.

Functions

void zlacn2(
    const INT            n,
          c128* restrict V,
          c128* restrict X,
          f64*           est,
          INT*           kase,
          INT*  restrict isave
);
void zlacn2(const INT n, c128 *restrict V, c128 *restrict X, f64 *est, INT *kase, INT *restrict isave)#

ZLACN2 estimates the 1-norm of a square, complex matrix A.

Reverse communication is used for evaluating matrix-vector products.

This is a thread safe version of ZLACON, which uses the array isave in place of a SAVE statement, as follows:

ZLACON     ZLACN2
 JUMP     isave[0]
 J        isave[1]
 ITER     isave[2]

Parameters

in
n

The order of the matrix. n >= 1.

out
V

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

inout
X

Complex array, dimension (n). On an intermediate return, X should be overwritten by A * X, if kase=1, A**H * X, if kase=2, where A**H is the conjugate transpose of A, and ZLACN2 must be re-called with all the other parameters unchanged.

inout
est

On entry with kase = 1 or 2 and isave[0] = 3, est should be unchanged from the previous call to ZLACN2. On exit, est is an estimate (a lower bound) for norm(A).

inout
kase

On the initial call to ZLACN2, 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**H * X. On the final return from ZLACN2, kase will again be 0.

inout
isave

Integer array of dimension 3 used to save variables between calls to ZLACN2.