If you know one numerical method for solving ordinary differential equations, it’s probably Euler’s method. If you know two methods, the second is probably 4th order Runge-Kutta. It’s standard in classes on differential equations or numerical analysis to present Euler’s method as conceptually simple but inefficient introduction, then to present Runge-Kutta as a complicated but efficient alternative.
Runge-Kutta methods are a huge family of numerical methods with a wide variety of trade-offs: efficiency, accuracy, stability, etc. Euler’s method is a member of the Runge-Kutta family as are countless other variations. You could devote a career to studying Runge-Kutta methods, and some people have.
Beneath the complexity and variety, all Runge-Kutta methods have a common form that can be summarized by a matrix and two vectors. For explicit Runge-Kutta methods (ERK) the matrix is triangular, and for implicit Runge-Kutta methods (IRK) the matrix is full.
This summary of an RK method is known as a Butcher tableau, named after J. C. Butcher who classified RK methods.
“The” Runge-Kutta method
For example, let’s start with what students often take to be “the” Runge-Kutta method. This method approximates solutions to a differential equation of the form
The Butcher tableau for this ERK method is
The numbers along the left side are the coefficients of h in the first argument of f.
The numbers along the bottom are the coefficients of the ks in the expression for the value of y at the next step.
The numbers in the middle of the array are the coefficients of the ks in second argument of f. Because this is an explicit method, each k only depends on the previous ks, and so the table of coefficients has a triangular form.
Runge-Kutta 3/8 rule
The method above is the most common 4th order ERK rule, there is another known as the 3/8 rule. It is a little less efficient and a little more accurate. A step of this rule is given by
This method is summarized in the following Butcher tableau.
This example makes it a little easier to see what’s going on since none of the coefficients in the triangular array are zero. Full detail is given in the section below.
General Explicit Runge-Kutta
The most general form of an ERK rule with s steps is
and the Butcher tableau is
General implicit Runge-Kutta
With explicit (ERK) methods, each k depends only on its predecessors. With implicit (IRK) methods each k potentially depends on each of the others. The matrix in the tableau is full, not triangular, and one must solve for the ks.
with the sum going all the way up to s, and the Butcher tableau is
Implicit methods are more complicated to implement, and require more computation for a given step size. However, they are more stable for stiff differential equations and may allow larger steps. Implicit methods are less efficient when they’re not needed, and more efficient when they are needed.
Back to Euler’s method
I said at the top of the post that Euler’s method was a special case of Runge-Kutta. The Butcher tableau for the explicit (forward) Euler method is simply
and the tableau for the implicit (backward) Euler method is just
In this post I say more about these two methods and compare their stability.