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://support.nag.com/numeric/nl/nagdoc_30.2/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
if , evaluate and store the result in
or
if , evaluate and store the result in , where is the complex conjugate transpose;
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 -normof 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