Implicit Runge-Kutta Methods
Overview
This document introduces the Runge-Kutta method, an Ordinary Differential Equation (ODE) solver. The commonly used fourth-order Runge-Kutta method, RK4, is a type of explicit Runge-Kutta method. This document explains the implicit Runge-Kutta method.
Buildup1
$$ y^{\prime} = f(t,y),\quad t \ge t_{0},\quad y(t_{0}) = y_{0} $$
Consider the given ordinary differential equation as above. $y$ is a function of $t$, and $^{\prime}$ represents the derivative with respect to $t$. When denoted as $y_{n} = y(t_{n})$, an explicit Runge-Kutta method approximates $y_{n+1}$ for a given $y_{n}$ as follows:
$$ \begin{equation} y_{n+1} = y_{n} + h\sum_{j=1}^{\nu} b_{j} f(t_{n} + c_{j}h,y(t_{n} + c_{j}h)),\quad n=0,1,2,\cdots \end{equation} $$
Where
$$ \begin{align*} \xi_{1} &= y_{n} \\ \xi_{2} &= y_{n} + ha_{2,1}f(t_{n}, \xi_{1}) \\ \xi_{3} &= y_{n} + ha_{3,1}f(t_{n}, \xi_{1}) + ha_{3,2}f(t_{n} + c_{2}h, \xi_{2}) \\ \vdots & \\ \xi_{\nu} &= y_{n} + h\sum_{i=1}^{\nu-1}a_{\nu, i}f(t_{n} + c_{i}h, \xi_{i}) \end{align*} $$
According to the formulas above, each $\xi_{j}$ can be calculated if $\xi_{j-1}$ is known, and in explicit methods, it is set up so that $\xi_{1}$ is a known value because $\xi_{1} = y_{n}$. That is to say, it is set up to enable sequential calculation from $\xi_{2}$ to $\xi_{\nu}$, which is an attribute of explicit methods.
In implicit methods, all $\xi_{i}$ are required to calculate each $\xi_{j}$. In other words, we need to solve a system of equations for $\xi_{j}$ to calculate $y_{n+1}$.
Definition
The implicit Runge-Kutta method approximates $y_{n+1}$ for a given $y_{n}$ as follows:
$$ y_{n+1} = y_{n} + h\sum_{j=1}^{\nu} b_{j} f(t_{n} + c_{j}h, \xi_{j}),\quad n=0,1,2,\dots $$
Where,
$$ \xi_{j} = y_{n} + h\sum_{i=1}^{\nu}a_{j,i}f(t_{n} + c_{i}h, \xi_{i}),\quad j=1,\dots,\nu $$
Here, the matrix $A = [a_{j,i}]$ is called the RK matrix. Also, $\mathbf{b}$ and $\mathbf{c}$ are referred to as RK weights and RK nodes, respectively.
$$ \mathbf{b} = \begin{bmatrix} b_{1} \\ b_{2} \\ \vdots \\ b_{\nu} \end{bmatrix} \quad \text{and} \quad \mathbf{c} = \begin{bmatrix} c_{1} \\ c_{2} \\ \vdots \\ c_{\nu} \end{bmatrix} $$
Where,
$$ c_{j} = \sum\limits_{i=1}^{\nu} a_{j, i},\quad j=1,2,\dots,\nu $$
Moreover, equation $(1)$ is said to have $\nu$ stages, and such methods are called $\nu$ stage (or order) Runge-Kutta methods.
Explanation
Unlike in explicit methods where matrix $A = [a_{j,i}]$ was a lower triangular matrix, in implicit methods, $A$ can be any matrix.
In RK methods, coefficients $a_{j,i}$, $b_{j}$, $c_{j}$ are not to be found but selected for use. Coefficients are denoted as $\begin{array}{c|c} \mathbf{c} & A \\ \hline & \mathbf{b}^{t} \end{array}$, which is called an RK tableaux.
Compared with explicit methods, it naturally takes much more time to solve. However, the advantage of implicit methods is not in speed but in the stability of the solution. The disadvantage of explicit methods is the instability of the solution, for which implicit methods are used as an alternative.
See Also
Arieh Iserles, A First Course in the Numerical Analysis of Differential Equations (2nd Edition, 2009), p41-42 ↩︎