naginterfaces.library.linsys.complex_​gen_​norm_​rcomm

naginterfaces.library.linsys.complex_gen_norm_rcomm(irevcm, x, y, estnrm, seed, comm)[source]

complex_gen_norm_rcomm estimates the -norm of a complex rectangular matrix without accessing the matrix explicitly. It uses reverse communication for evaluating matrix products. The function may be used for estimating condition numbers of square matrices.

For full information please refer to the NAG Library document for f04zd

https://www.nag.com/numeric/nl/nagdoc_28.7/flhtml/f04/f04zdf.html

Parameters
irevcmint

On initial entry: must be set to .

On intermediate entry: must be unchanged.

xcomplex, ndarray, shape , modified in place

On initial entry: need not be set.

On intermediate exit: if , contains the current matrix .

On intermediate entry: if , must contain .

On final exit: the array is undefined.

ycomplex, ndarray, shape , modified in place

On initial entry: need not be set.

On intermediate exit: if , contains the current matrix .

On intermediate entry: if , must contain .

On final exit: the array is undefined.

estnrmfloat

On initial entry: need not be set.

On intermediate entry: must not be changed.

seedint

The seed used for random number generation.

If , is not used.

commdict, communication object, modified in place

Communication structure.

On initial entry: need not be set.

Returns
irevcmint

On intermediate exit: or , and contains the matrix and contains the matrix . The calling program must

  1. if , evaluate and store the result in

    or

    if , evaluate and store the result in , where is the complex conjugate transpose;

  2. call complex_gen_norm_rcomm once again, with all the arguments unchanged.

On final exit: .

estnrmfloat

On final exit: an estimate (a lower bound) for .

Raises
NagValueError
(errno )

On entry, and .

Constraint: if , .

(errno )

On entry, and .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: .

(errno )

On entry, .

Constraint: , or .

(errno )

On initial entry, .

Constraint: .

(errno )

Internal error; please contact NAG.

Notes

complex_gen_norm_rcomm computes an estimate (a lower bound) for the -norm

of an complex matrix . The function regards the matrix as being defined by a user-supplied ‘Black Box’ which, given an matrix (with ) or an matrix , can return or , where is the complex conjugate transpose. A reverse communication interface is used; thus control is returned to the calling program whenever a matrix product is required.

Note: this function is not recommended for use when the elements of are known explicitly; it is then more efficient to compute the -norm directly from the formula (1) above.

The main use of the function is for estimating for a square matrix , and hence the condition number , without forming explicitly ( above).

If, for example, an factorization of is available, the matrix products and required by complex_gen_norm_rcomm may be computed by back - and forward-substitutions, without computing .

The function can also be used to estimate -norms of matrix products such as and , without forming the products explicitly. Further applications are described in Higham (1988).

Since , complex_gen_norm_rcomm can be used to estimate the -norm of by working with instead of .

The algorithm used is described in Higham and Tisseur (2000).

References

Higham, N J, 1988, FORTRAN codes for estimating the one-norm of a real or complex matrix, with applications to condition estimation, ACM Trans. Math. Software (14), 381–396

Higham, N J and Tisseur, F, 2000, A block algorithm for matrix -norm estimation, with an application to -norm pseudospectra, SIAM J. Matrix. Anal. Appl. (21), 1185–1201