# naginterfaces.library.sparse.complex_​gen_​basic_​diag¶

naginterfaces.library.sparse.complex_gen_basic_diag(comm)[source]

complex_gen_basic_diag is the third in a suite of three functions for the iterative solution of a complex general (non-Hermitian) system of simultaneous linear equations (see Golub and Van Loan (1996)). complex_gen_basic_diag returns information about the computations during an iteration and/or after this has been completed. The first function of the suite, complex_gen_basic_setup(), is a setup function; the second function, complex_gen_basic_solver(), is the iterative solver itself.

These three functions are suitable for the solution of large sparse general (non-Hermitian) systems of equations.

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

https://www.nag.com/numeric/nl/nagdoc_28.7/flhtml/f11/f11btf.html

Parameters
commdict, communication object, modified in place

Communication structure.

This argument must have been initialized by a prior call to complex_gen_basic_setup().

Returns
itnint

The number of iterations carried out by complex_gen_basic_solver().

stplhsfloat

The current value of the left-hand side of the termination criterion used by complex_gen_basic_solver().

stprhsfloat

The current value of the right-hand side of the termination criterion used by complex_gen_basic_solver().

anormfloat

If in the previous call to complex_gen_basic_setup(), then contains , where , or , either supplied or, in the case of or , estimated by complex_gen_basic_solver(); otherwise .

sigmaxfloat

If in the previous call to complex_gen_basic_setup(), the current estimate of the largest singular value of the preconditioned iteration matrix when it is used by the termination criterion in complex_gen_basic_solver(), either when it has been supplied to complex_gen_basic_setup() or it has been estimated by complex_gen_basic_solver() (see also Notes for complex_gen_basic_setup and Parameters for complex_gen_basic_setup); otherwise, is returned.

Raises
NagValueError
(errno )

complex_gen_basic_diag has been called out of sequence.

Notes

complex_gen_basic_diag returns information about the solution process. It can be called either during a monitoring step of complex_gen_basic_solver() or after complex_gen_basic_solver() has completed its tasks. Calling complex_gen_basic_diag at any other time will result in an error condition being raised.

For further information you should read the documentation for complex_gen_basic_setup() and complex_gen_basic_solver().

References

Golub, G H and Van Loan, C F, 1996, Matrix Computations, (3rd Edition), Johns Hopkins University Press, Baltimore