naginterfaces.library.ode.ivp_​stiff_​sparjac_​diag

naginterfaces.library.ode.ivp_stiff_sparjac_diag(icall, lblock, comm)[source]

ivp_stiff_sparjac_diag is an optional output function which you may call, on exit from an integrator in submodule ode, if sparse matrix linear algebra has been selected.

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

https://www.nag.com/numeric/nl/nagdoc_29.3/flhtml/d02/d02nxf.html

Parameters
icallint

Indicates whether or not all output arguments have been set during the call to the integrator. If so, that is, if the integrator returned with the function exits successfully or = 12, then must be set to . Otherwise must be set to , indicating that integration did not take place due to lack of space in arrays and , and only , , , have been set.

lblockbool

The value used for the argument when calling ivp_stiff_sparjac_setup().

commdict, communication object

Communication structure.

This argument must have been initialized by a prior call to ivp_stiff_exp_sparjac(), ivp_stiff_imp_sparjac() or ivp_stiff_imp_revcom().

Returns
liwreqint

The length of the int workspace reserved for the sparse matrix functions.

liwusdint

The length of the int workspace actually used by the sparse matrix functions.

lrwreqint

The length of the float workspace reserved for the sparse matrix functions.

lrwusdint

The length of the float workspace actually used by the sparse matrix functions.

nluint

The number of decompositions done during the integration.

nnzint

The number of nonzeros in the Jacobian.

ngpint

The number of or calls needed to form the Jacobian.

isplitint

An appropriate value for the argument when calling ivp_stiff_sparjac_setup() for subsequent runs of similar problems.

igrowint

An estimate of the growth of the elements encountered during the last decomposition performed. If the actual estimate exceeds the largest possible integer value for the machine being used (see machine.integer_max) is set to the value returned by machine.integer_max.

nblockint

If , contains the number of diagonal blocks in the Jacobian matrix permuted to block lower triangular form. If then on subsequent runs of a similar problem should be set to in the call to ivp_stiff_sparjac_setup().

If , .

Notes

No equivalent traditional C interface for this routine exists in the NAG Library.

ivp_stiff_sparjac_diag permits you to examine the various outputs from the sparse linear algebra functions called by the integrator.