D02MZF interpolates components of the solution of a system of first-order differential equations from information provided by those integrators in
Sub-chapter D02M–N using methods set up by
calls to
D02MVF,
D02NVF or
D02NWF.
D02MZF evaluates the first
M components of the solution of a system of ordinary differential equations at any point using natural polynomial interpolation based on information generated by the integrator. This information must be passed unchanged to D02MZF. D02MZF should not normally be used to extrapolate outside the range of values obtained from the above routine.
If on entry
${\mathbf{IFAIL}}=0$ or
$-1$, explanatory error messages are output on the current error message unit (as defined by
X04AAF).
The solution values returned will be of a similar accuracy to those computed by the integrator.
D02MZF is not thread safe and should not be called from a multithreaded user program. Please see
Section 3.12.1 in How to Use the NAG Library and its Documentation for more information on thread safety.
D02MZF is not threaded in any implementation.
None.
This example solves the well-known stiff Robertson problem written in implicit form
with initial conditions
$a=1.0$ and
$b=c=0.0$ over the range
$\left[0,0.1\right]$ with vector error control (
${\mathbf{ITOL}}=4$), the BDF method (setup routine
D02NVF) and functional iteration. The Jacobian is calculated numerically if the functional iteration encounters difficulty and the integration is in one-step mode (
${\mathbf{ITASK}}=2$), with natural interpolation to calculate the solution at intervals of
$0.02$ using D02MZF externally. D02NBY is used for
MONITR.