Solving ODEs, DAEs, DDEs and PDEs in R.

*(English)*Zbl 1432.65095Summary: The open-source problem solving software \(R\) 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.

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.

##### MSC:

65L05 | Numerical methods for initial value problems |

65N06 | Finite difference methods for boundary value problems involving PDEs |

65Y15 | Packaged methods for numerical algorithms |