Integrators for time stepping
This page describes how to solve ordinary differential equations numerically with examples from our library.
Introduction and notation
We are solving an initial value problem, given as
\begin{align*} \dot{y}(t) &= f(t, y) \\ y(t_0) &= y_0 \end{align*}
where y is the unknown (possibly vector) function, t_0 is the start time, f is the derivative (the functions we wish to integrate) and y_0 is the initial value of y. Numerically, we usually choose a time step \Delta t and integrate the function up to a certain time t_{\max}. Times os subsequent time steps are denoted with t_i and function values with y_i.
The simplest method is explicit Euler's method: y_{n+1} = y_{n} + \Delta t f(t, y_n)
Explicit (single step) methods
A family of single step methods are exaplicit Runge-Kutta methods
It is given by y_{n+1} = y_n + h \sum_{i=1}^s b_i k_i,
- (Note: the above equations have different but equivalent definitions in different texts).[2]
- Jump up ↑ Template:Harvnb
- Jump up ↑ Cite error: Invalid
<ref>
tag; no text was provided for refs namednotation
- Jump up ↑ Template:Harvnb