2. Chapter 2. Explicit Runge-Kutta Methods#
The Runge-Kutta method is the most common numerical method used to solve ODEs. It was developed independently by German mathematicians Carl Runge and Martin Kutta in the late 19th century. The method involves approximating the solution of an ODE by computing the values of the solution at a series of discrete steps. At each step, the method uses a weighted average of the derivative of the solution at different points in the interval to estimate the value of the solution at the next time step. The method is iterative, meaning that the solution at each time step depends on the solution at the previous time step. Runge-Kutta methods are known as single step methods because to advance the solution to the next step we only require the values of the current step, as opposed to multistep methods such as the linear multistep methods family of methods that require values from multiple steps to compute the next step.
2.1. General form of a Runge-Kutta method#
(General form of a Runge-Kutta method)
The general form of a Runge-Kutta method for solving the initial value problem \(y' =f(t,y)\), \(t \in [t_{\min}, t_{\max}]\), \(y_0 = y(t_{\min})\) is
where \(k_i\) for \(i = 1,2, \ldots, s\) are intermediate stage values used to calculate \(y_{n+1}\) and \(a_{ij}\), \(b_i\) and \(c_i\) are coefficients that define a particular Runge-Kutta method
For example, Huen’s method (also known as the modified Euler method) is a 2-stage Runge-Kutta method which is
The general form of a 2-stage method is
So comparing equations (2.2) and (2.3) we can see that
2.1.1. Butcher tableau#
Runge-Kutta methods are often summarised in a Butcher tableau named after the New Zealand mathematician John Butcher.
(Butcher Tableau)
A Butcher tableau is a table of values containing the coefficients \(a_{ij}\), \(b_i\) and \(c_i\) for a Runge-Kutta method
For example, the Butcher tableau for Huen’s method (equation (2.2)) is
Write down the Butcher tableau for the 4-stage Runge-Kutta method given below as a Butcher tableau
Solution (click to show)
The general form of a 4-stage Runge-Kutta method is
Comparing the Runge-Kutta method above to the general form of a 4-stage Runge-Kutta method we can see that the Butcher tableau is
2.2. Explicit and implicit Runge-Kutta methods#
The stage values for an \(s\)-stage Runge-Kutta method are
In the first equation we are calculating \(k_1\) includes \(k_1\) on the right-hand side and in the second equation we are calculating \(k_2\) includes \(k_2\) on the right-hand side and so on. These are examples of implicit functions and Runge-Kutta methods where the stage values are expressed using implicit functions are known as Implicit Runge-Kutta (IRK) methods. To calculate the solution of the stage values of an IRK method involves solving a system of equations (see Implicit Runge-Kutta Methods).
If the summation in the stage value \(k_i\) in equation (2.1) is altered so the upper limit to the sum is \(i-1\), i.e.,
and let \(c_1 = 0\) then we have the following equations for calculating the stage values
These stage values are explicit functions where the subject of the equation does not appear on the right-hand side. Runge-Kutta methods where the stages values are calculated using explicit functions are known as Explicit Runge Kutta (ERK) methods. These are easier to compute than implicit Runge-Kutta methods because the stage values can be calculated sequentially in order, i.e., \(k_1\) can be calculated using \(t_n\) and \(y_n\); \(k_1\) is then used to compute \(k_2\); \(k_1\) and \(k_2\) are then used to compute \(k_3\) and so on. However for some ODEs explicit methods require a very small value for the step length and and we must then use implicit methods (see the chapter on stability for more details).
2.2.1. Butcher tableau for explicit and implicit Runge-Kutta methods#
Explicit and implicit Runge-Kutta methods can be easily distinguished by looking at their Butcher tableaux. The \(A\) matrix in the top right region of a Butcher tableau for an explicit method is lower-triangular (the values on the main diagonal and in the upper triangular region are all zeros) whereas for an implicit method the main-diagonal and upper triangular elements are non-zero.