Solving ODEs, DA O AEs, DDE and PD in R

Karline Soetaert
Centre for Estuarine and Marine Ecology,
Netherlands Institute of Ecology,
4401 NT Yerseke, The Netherlands

Thomas Petzoldt
Institut fur Hydrobiologie
Technische Universitat Dresden
01062 Dresden, Germany
Received 21 February, 2011; accepted in revised form 11 March, 2011
Abstract: The open-source problem solving software R [1] has become one of the most widely used systems for statistical data analysis. As it is a powerful interpreted language, it is also very well suited for other disciplines in scientific computing. One of the fields where considerable progress has been made is the solution of differential equations.
In this paper we describe a set of recently developed tools, so-called R-packages, to efficiently solve and analyze initial value problems of differential equations in R. Most of the methods are based on well-tested open-source numerical codes, combining the robustness and efficiency of these codes with the flexibility of the R language.
We exemplify the use of these tools by several examples. We start by implementing a well-known test problem for nonstiff solvers, the Arenstorff orbit ordinary differential equations. Next we solve the pendulum problem, a DAE of index 3. A description of a bouncing ball shows how roots and events can be programmed in R. After that we describe how to implement delay differential equations, which we exemplify with a DDE that is subject to an impulse, triggered at specific times. We end with a rather stiff partial differential equation, a combustion problem modeled in 2-D.
The presented R packages provide additional facilities to efficiently plot the outcome, to compare different scenarios, to estimate summary statistics, or to display execution statistics that help in assessing the performance of a particular method.


Scroll to Top