The Design and Implementation of an Object-Oriented Validated ODE Solver
Nedialko S. Nedialkov
Kenneth R. Jackson
Abstract
Validated methods for initial value problems (IVPs) for ordinary
differential equations (ODEs) produce bounds that are guaranteed to
contain the true solution of a problem. These methods use interval
techniques to enclose rounding errors, truncation errors, and
uncertainties in the model.
We describe the design and implementation of VNODE, Validated
Numerical ODE, which is an object-oriented solver for computing
rigorous bounds on the solution of an IVP for an ODE. We have designed
VNODE as a set of C++ classes, which encapsulate data structures and
algorithms employed in validated methods for IVPs for ODEs.
A new method can be added to VNODE by writing it as a subclass of the
relevant class that is provided as part of VNODE; a new solver can be
constructed by combining objects of appropriate classes. Furthermore,
an object in a solver can be replaced by another one performing the
same task. This enables the user to isolate and compare methods
implementing the same part of a solver.
We illustrate how to integrate with VNODE, how to construct new
solvers, and how to extend this package with new methods.