Runge-Kutta methods
From Scholarpedia
| John Butcher (2007), Scholarpedia, 2(9):3147. | revision #37126 [link to/cite this article] | |||||||||||||||||||
Curator: Dr. John Butcher, Mathematics Department, The University of Auckland, New Zealand
Contents |
Runge-Kutta methods
To obtain numerical approximations to the solution of the initial value problem
- (1)
at a sequence of points
,
,
, the Euler method can be used. This method
computes in turn
,
,
using the formula
As we shall see, the Euler method is often inefficient because of the large number of steps required to achieve a specified accuracy. Furthermore, round-off error accumulation, when many steps are used, can make the numerical results unusable. The reason for poor accuracy is that the Euler method is based on the underlying quadrature approximation
which is accurate only when
is a polynomial of degree 1.
Replacing this by one of the formulae
or
or other formulae which are exact for second degree polynomials,
is the essence of the methods proposed by Runge. To use
these approximations, a second "stage" has to be evaluated. That is
is first evaluated so that
or
can then be approximated in preparation for the approximate evaluation
of
or
respectively. Taking these
ideas further, the immediate aim of later authors was to obtain methods
which approximate
so that the error in this first
and typical step can be bounded by a multiple of
, where the
integer
, known as the order, takes on increasingly high values.
A method with
stages can be represented by a tableau, often called the "Butcher tableau",
| 0 | 0 | 0 | 0 | | 0 | |
| | 0 | 0 | | 0 | |
| | | 0 | | 0 | |
| | | |
| ||
|
|
|
|
| 0 | |
| | | |
|
indicating that the output approximation is equal to
, where
is equal to
. For example, the two methods of order 2 already introduced above from the
work of Runge, have tableaux given respectively by
| 0 | |||||
| 1/2 | 1/2 | ||||
| 0 | 1 | , |
| 0 | |||||
| 1 | 1 | ||||
| 1/2 | 1/2 | , |
where zero values on and above the diagonal have been omitted.
The work of Runge was extended by (Heun 1900), who completed a discussion of order 3 methods and pointed the way to order 4, and by (Kutta 1901) who gave a complete classification of order 4 methods. The most well-known method, due to Runge, has order 4 and is defined by the tableau
| 0 | ||||||||
| 1/2 | 1/2 | |||||||
| 1/2 | 0 | 1/2 | ||||||
| 1 | 0 | 0 | 1 | |||||
| 1/6 | 1/3 | 1/3 | 1/6 | . |
Order conditions
The standard differential equation (1), can be replaced by the
autonomous system
, as long as it is understood that
the problem is multi-dimensional. This greatly simplifies the analysis
and also draws attention to a short-coming of analyses based on
(1), if is assumed that
is a scalar-valued variable. This
short-coming is that for
, it is possible to achieve order
for
a single non-autonomous problem but some lower order for a general autonomous
problem. A partial explanation of this can be seen from Table 1
order ![]() |
1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|
| Conditions for high-dimensional problem | 1 | 2 | 4 | 8 | 17 | 37 |
| Conditions for one-dimensional problem | 1 | 2 | 4 | 8 | 16 | 31 |
which compares the number of order conditions for each problem. The number of conditions for the high-dimensional general problem to have order
is equal to the number of rooted-trees with less than or equal to
vertices. The systematic structure of order conditions was presented in (Butcher 1963); the connection with rooted trees was known to (Gill 1951)
and (Merson 1957). An example of a method which has order 5 for a scalar problem, but only order 4 for a system, is presented in (Butcher 1995).
Explicit Runge-Kutta methods
Although it is not known, for arbitrary orders, how many stages are required to achieve this order, the result is known up to order 8 and is given in Table 2. Also shown for comparison is the number of free parameters in an
stage method.
order ![]() |
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Conditions | 1 | 2 | 4 | 8 | 17 | 37 | 85 | 200 | |||
| Stages | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| Parameters | 1 | 3 | 6 | 10 | 15 | 21 | 28 | 36 | 45 | 55 | 66 |
The 8 conditions for order 4 in the case of a 4 stage method are given in (2) - (9), for lower orders, where fewer stages are required, the conditions are identical in form but some terms are omitted from the left-hand sides. For example for a 3 stage method, terms with a factor
are omitted. We see immediately that (9) then becomes contradictory, thus confirming that 4 stages are required for order 4.
- (2)
- (3)
- (4)
- (5)
- (6)
- (7)
- (8)
- (9)
The actual task of solving the order conditions to derive specific
methods becomes increasingly more complicated as the order increases. However,
for low orders, a simple procedure exists and consists of three steps (i)
choose appropriate values of
,
,
, (ii) choose
,
,
as solutions to the equations, where applicable, amongst
(2), (3), (4), (6),
(iii) solve for the
from the remaining equations which involve
these quantities linearly. For orders less than 4 these steps are all
that is required. However, for order 4, the remaining equation
(9) still needs to be satisfied and this imposes a condition
on the
values selected in step (i). This condition is that
.
Runge-Kutta pairs
In modern software for the solution of initial value problems, the
stepsize is allowed to vary, taking account of estimates of the error
produced in each step. To achieve this, it is standard practice to build
method pairs, based on the same stages which produce an output answer of
order
and a second approximation of order
. Assuming that
, the
difference of these two approximations will give an asymptotically correct
estimate of the error in the output value. Because, for small
, the
actual local error is approximately proportional to
, the stepsize
in the following step can be chosen to give a value close to that
specified as a user tolerance. As order increases, it becomes
increasingly costly, in terms of required stages, to build pairs with
and the value
is often chosen. Even though the actual error is not
estimated, the difference in the two approximations, which now behaves
asymptotically like
can still be used to give satisfactory
control. For examples of method pairs see Fehlberg , Verner and Dormand
and Prince.
Implicit Runge-Kutta methods
In principle, it is possible to include non-zero coefficients on and above the diagonal in a tableau. For example, the following method has order 4:
| |
| |
|
|
| |
|
|
We need to ask what it means to carry out a computational step using
this type of "implicit" method. Extending the formulae from explicit
methods, it seems that we need to satisfy a sequence of (non-linear)
equations for
and
,
. Once these have been
solved, the values of the
are substituted into the equation
to evaluate
from an input
approximation
. We note that
are the zeros of the second degree Legendre polynomial on the interval
. This method is actually a generalization, to differential
equations, of the 2-point Gauss-Legendre quadrature formula. It is
remarkable that a similar implicit Runge-Kutta formula exists with order
for every
positive integer
.
Other families of implicit Runge-Kutta methods exist and many of these
have been the subject of systematic study. In particular, the Radau and
Lobatto families of methods sacrifice one or two, in terms of order, but
have other advantages. For the so-called DIRK methods, also known as
SDIRK or semi-explicit or semi-implicit methods,
has a lower
triangular structure with
,
where the
constant
is chosen for stability reasons. In cases in which
the output value
is identical with the
final stage
, it is possible that
is equal to
rather than to
, without taking away
from the essential nature of a DIRK method. An example of such a
method is given by the tableau
| | | |
| |
| | | |
| |
| | | |
| |
|
|
|
|
| |
| | |
|
where for reasons we will discuss later,
is a zero of the polynomial
.
A final remark about this DIRK method. Even though formally there are 4 stages, the first of these is identical to the last stage in the previous step. Hence, in a large number of steps there are effectively only 3 stages per step.
Stability
For many problems, the quality of local approximations can be nullified in the long term because of
unstable behaviour. This is especially true of stiff problems, which are characterised by a rapid change in one or more components of the solution, at least over part of the solution interval. One way of exploring what is required for a method
to solve these problems reliably is to see what happens when the simple
linear equation
is solved over a single time step. The
constant
can be a complex number but we focus our attention more on
this quantity scaled in terms of the stepsize; that is the complex
number
.
For a given Runge-Kutta method, define the stability function as the
rational function (a polynomial in the case of an explicit method).
given by
, where
has every
component equal to 1. The stability region is the set in the complex
plane such that
. To solve the problem
, it is
necessary to choose
small enough to ensure that
is in the
stability region, otherwise the sequence of approximations produced in
many steps will be unbounded. We interpret this as unstable
behaviour. For explicit method with
, the stability regions are shown in Figure 1.
In the case of a stiff problem, even though it may not have
a linear form, there will be growth factors corresponding to values of
which may lie anywhere in the left half-plane. Accordingly we are
especially interested in "A-stable" methods for which all complex
numbers with negative real part lie in the stability region.
The importance of stiff methods lies in the observation that explicit
methods are not A-stable but many implicit methods are. For example,
all the Gauss methods have this property, as does the method given by
Tableau 1, if
is chosen suitably, such as the recommended
value given approximately by 0.4358665215.
Implementation costs
As a general rule, it is best to solve nonstiff problems using explicit methods. This should be expected to achieve acceptable accuracy with minimal costs. However, as problems become increasingly stiff, stability rather than accuracy becomes the dominant consideration, and implicit methods become the more appropriate choice.
The implementation of explicit methods is based on the computation of
evaluations of the function
per time
step. In comparison, linear multistep methods, in a predictor-corrector
formulation, require only one or two
evaluations per time step and
this might make them seem to be more efficient than Runge-Kutta methods of
the same order. However, this comparison is misleading because, in many
cases, Runge-Kutta can obtain the same accuracy as predictor-corrector
pairs but with greater stepsizes. Furthermore, in the case of Runge-Kutta
methods, stepsize can be adjusted from step to step in a simple manner,
something that is not possible for linear multistep methods. Good error
estimators are known for many Runge-Kutta methods, just as for
predictor-corrector pairs. Personal preferences are catered for in
practice, because computer codes based on explicit Runge-Kutta pairs, and
on linear multistep methods in predictor-corrector mode, are available as
public domain software.
When stiff problems come into consideration, and implicit Runge-Kutta
become appropriate, implementation costs are dominated by the iteration
scheme required to solve the implicit stage equations. The iteration
scheme is usually performed by a simplified Newton method. That is, an approximation to the Jacobian matrix for the problem is computed at the start of the numerical
solution and updated whenever necessary. Denote this Jacobian approximation by
so that
,
evaluated at suitable values of
. From this, the matrix
is computed and LU factors are formed. Let
be an approximation to the stage values for the method and let
be the corresponding vector of approximations to the
stage derivatives so that
is made up from
sub-vectors,
,
and
is made up from the
corresponding values of
. To carry out a single simplified Newton iteration, in which
is replaced by
, the vector of corrections is defined from
, where
is made up of the subvectors
where
. This is usually a very expensive process and typically solving for the stage values in this way dominates the computational costs. If
is the dimension of the problem being solved, so that
is an
matrix, the cost of the LU factorizations, in terms of floating-point operations, is a moderately sized number multiplied by
and a single iteration costs a moderately sized number multiplied by
.
These costs can be significantly reduced in the case of DIRK methods and even in cases where all the eigenvalues of
are real and equal.
Detailed studies of Runge-Kutta methods are included in (Butcher 1987) and (Butcher 2003), and in (Hairer et al. 1993) and (Hairer & Wanner 1991).
References
- Alexander, R., Diagonally implicit Runge-Kutta methods for stiff ODEs, SIAM J. Numer. Anal. 14 (1977) 1006-1021.
- Butcher, J. C., Coefficients for the study of Runge-Kutta integration processes, J. Austral. Math. Soc. 3 (1963) 185-201.
- Butcher, J. C., The numerical analysis of ordinary differential equations, Runge-Kutta and general linear methods, Wiley, Chichester and New York (1987).
- Butcher, J. C., On fifth order Runge-Kutta methods, BIT 35 (1995), 202-209.
- Butcher, J. C., Numerical methods for ordinary differential equations, Wiley, Chichester and New York (2003).
- Dormand, J. R. and Prince, P. J., A family of embedded Runge-Kutta formulae, J. Comput. Appl. Math. 6 (1980), no. 1, 19-26.
- Dormand, J. R. and Prince, P. J., High order embedded Runge-Kutta formulae, J. Comut. Appl. Math. 7 (1981), no.1, 67-75.
- Fehlberg, E., Klassische Runge-Kutta-Formeln fünfter and siebenter Ordnung mit Schrittweiten-Kontrolle, Computing (Arch. Elektron. Rechnen) 4 1969 93-106.
- Gill, S., A process for the step-by-step integration of differential equations in an automatic computing machine, Proc. Cambridge Philos. Soc. 47 (1951), 96-108.
- Hairer, E., Nørsett, S. P. and Wanner G., Solving Ordinary Differential Equations I: Nonstiff Problems, Springer-Verlag, Berlin (1993).
- Hairer, E. and Wanner, G., Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems, Springer-Verlag, Berlin (1991).
- Heun, K., Neue Methoden zur approximativen Integration der Differentialgleichungen einer unabhängigen Veränderlichen, Z. Math. Phys., 45 (1900), 23-38.
- Kutta, W., Beitrag zur näherungsweisen Integration totaler Differentialgleichungen, Z. Math. Phys. 46 (1901). 435-453.
- Merson, R. H., An operational method for the study of integration processes, Proc. Symposium Data Processing, Weapons Research Establishment, Salisbury, S. Australia, (1957).
- Runge, C., Über die numerische Auflösung von Differentialgleichungen, Math. Ann. 46 (1895) 167-178.
- Verner, J. H., High-order explicit Runge-Kutta pairs with low stage order. Special issue celebrating the centenary of Runge-Kutta methods, Appl. Numer. Math. 22 (1996), no. 1-3, 345-357.
Internal references
- Eugene M. Izhikevich (2007) Equilibrium. Scholarpedia, 2(10):2014.
- Lawrence F. Shampine and Skip Thompson (2007) Initial value problems. Scholarpedia, 2(3):2861.
- Kendall E. Atkinson (2007) Numerical analysis. Scholarpedia, 2(8):3163.
- Philip Holmes and Eric T. Shea-Brown (2006) Stability. Scholarpedia, 1(10):1838.
See also
| John Butcher (2007) Runge-Kutta methods. Scholarpedia, 2(9):3147, (go to the first approved version) Created: 16 February 2007, reviewed: 3 September 2007, accepted: 5 September 2007 |
| Invited by: | Dr. Eugene M. Izhikevich, Editor-in-Chief of Scholarpedia, the free peer reviewed encyclopedia |
| Action editor: | Dr. Skip Thompson, Radford University, Radford, Virginia |




