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.