D02 Chapter Contents
D02 Chapter Introduction
NAG Library Manual

# NAG Library Routine DocumentD02NXF

Note:  before using this routine, please read the Users' Note for your implementation to check the interpretation of bold italicised terms and other implementation-dependent details.

## 1  Purpose

D02NXF is an optional output routine which you may call, on exit from an integrator in sub-chapter D02M–N, if sparse matrix linear algebra has been selected.

## 2  Specification

 SUBROUTINE D02NXF ( ICALL, LIWREQ, LIWUSD, LRWREQ, LRWUSD, NLU, NNZ, NGP, ISPLIT, IGROW, LBLOCK, NBLOCK, INFORM)
 INTEGER ICALL, LIWREQ, LIWUSD, LRWREQ, LRWUSD, NLU, NNZ, NGP, ISPLIT, IGROW, NBLOCK, INFORM(23) LOGICAL LBLOCK

## 3  Description

D02NXF permits you to examine the various outputs from the sparse linear algebra routines called by the integrator.

## 4  References

See the D02M–N sub-chapter Introduction.

## 5  Parameters

1:     ICALL – INTEGERInput
On entry: indicates whether or not all output parameters have been set during the call to the integrator. If so, that is, if the integrator returned with ${\mathbf{IFAIL}}={\mathbf{0}}$ or ${\mathbf{12}}$, then ICALL must be set to $0$. Otherwise ICALL must be set to $1$, indicating that integration did not take place due to lack of space in arrays WKJAC and JACPVT, and only LIWREQ, LIWUSD, LRWREQ, LRWUSD have been set.
2:     LIWREQ – INTEGEROutput
On exit: the length of the integer workspace JACPVT reserved for the sparse matrix routines.
3:     LIWUSD – INTEGEROutput
On exit: the length of the integer workspace JACPVT actually used by the sparse matrix routines.
4:     LRWREQ – INTEGEROutput
On exit: the length of the real workspace WKJAC reserved for the sparse matrix routines.
5:     LRWUSD – INTEGEROutput
On exit: the length of the real workspace WKJAC actually used by the sparse matrix routines.
6:     NLU – INTEGEROutput
On exit: the number of $LU$ decompositions done during the integration.
7:     NNZ – INTEGEROutput
On exit: the number of nonzeros in the Jacobian.
8:     NGP – INTEGEROutput
On exit: the number of FCN or RESID calls needed to form the Jacobian.
9:     ISPLIT – INTEGEROutput
On exit: an appropriate value for the parameter ISPLIT when calling D02NUF for subsequent runs of similar problems.
10:   IGROW – INTEGEROutput
On exit: an estimate of the growth of the elements encountered during the last $LU$ decomposition performed. If the actual estimate exceeds the largest possible integer value for the machine being used (see X02BBF) IGROW is set to the value returned by X02BBF.
11:   LBLOCK – LOGICALInput
On entry: the value used for the parameter LBLOCK when calling D02NUF.
12:   NBLOCK – INTEGEROutput
On exit: if ${\mathbf{LBLOCK}}=\mathrm{.TRUE.}$, NBLOCK contains the number of diagonal blocks in the Jacobian matrix permuted to block lower triangular form. If ${\mathbf{NBLOCK}}=1$ then on subsequent runs of a similar problem LBLOCK should be set to .FALSE. in the call to D02NUF.
If ${\mathbf{LBLOCK}}=\mathrm{.FALSE.}$, ${\mathbf{NBLOCK}}=1$.
13:   INFORM($23$) – INTEGER arrayCommunication Array
On entry: contains information supplied by the integrator.

None.

Not applicable.