Runge–Kutta methods for ordinary differential equations

advertisement
Runge–Kutta methods for
ordinary differential equations
John Butcher
The University of Auckland
New Zealand
COE Workshop on Numerical Analysis
Kyushu University
May 2005
Runge–Kutta methods for ordinary differential equations – p. 1/48
Contents
Introduction to Runge–Kutta methods
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Taylor expansion of exact solution
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Taylor expansion of exact solution
Taylor expansion for numerical approximation
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Taylor expansion of exact solution
Taylor expansion for numerical approximation
Order conditions
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Taylor expansion of exact solution
Taylor expansion for numerical approximation
Order conditions
Construction of low order explicit methods
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Taylor expansion of exact solution
Taylor expansion for numerical approximation
Order conditions
Construction of low order explicit methods
Order barriers
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Taylor expansion of exact solution
Taylor expansion for numerical approximation
Order conditions
Construction of low order explicit methods
Order barriers
Algebraic interpretation
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Taylor expansion of exact solution
Taylor expansion for numerical approximation
Order conditions
Construction of low order explicit methods
Order barriers
Algebraic interpretation
Effective order
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Taylor expansion of exact solution
Taylor expansion for numerical approximation
Order conditions
Construction of low order explicit methods
Order barriers
Algebraic interpretation
Effective order
Implicit Runge–Kutta methods
Runge–Kutta methods for ordinary differential equations – p. 2/48
Contents
Introduction to Runge–Kutta methods
Formulation of method
Taylor expansion of exact solution
Taylor expansion for numerical approximation
Order conditions
Construction of low order explicit methods
Order barriers
Algebraic interpretation
Effective order
Implicit Runge–Kutta methods
Singly-implicit methods
Runge–Kutta methods for ordinary differential equations – p. 2/48
Introduction to Runge–Kutta methods
It will be convenient to consider only autonomous initial
value problems
y 0 (x) = f (y(x)),
y(x0 ) = y0 ,
f : R N → RN .
Runge–Kutta methods for ordinary differential equations – p. 3/48
Introduction to Runge–Kutta methods
It will be convenient to consider only autonomous initial
value problems
y 0 (x) = f (y(x)),
y(x0 ) = y0 ,
f : R N → RN .
The simple Euler method:
yn = yn−1 + hf (yn−1 ),
h = xn − xn−1
can be made more accurate by using
the mid-point
quadrature formula:
1
yn = yn−1 + hf yn−1 + 2 hf (yn−1 ) .
Runge–Kutta methods for ordinary differential equations – p. 3/48
Introduction to Runge–Kutta methods
It will be convenient to consider only autonomous initial
value problems
y 0 (x) = f (y(x)),
y(x0 ) = y0 ,
f : R N → RN .
The simple Euler method:
yn = yn−1 + hf (yn−1 ),
h = xn − xn−1
can be made more accurate by using either the mid-point
or the trapezoidal rule quadrature formula:
1
yn = yn−1 + hf yn−1 + 2 hf (yn−1 ) .
1
1
yn = yn−1 + 2 hf (yn−1 ) + 2 hf yn−1 + hf (yn−1 ) .
Runge–Kutta methods for ordinary differential equations – p. 3/48
These methods from Runge’s 1895 paper are “second
order” because the error in a single step behaves like
O(h3 ).
Runge–Kutta methods for ordinary differential equations – p. 4/48
These methods from Runge’s 1895 paper are “second
order” because the error in a single step behaves like
O(h3 ).
A few years later, Heun gave a full explanation of order 3
methods and Kutta gave a detailed analysis of order 4
methods.
Runge–Kutta methods for ordinary differential equations – p. 4/48
These methods from Runge’s 1895 paper are “second
order” because the error in a single step behaves like
O(h3 ).
A few years later, Heun gave a full explanation of order 3
methods and Kutta gave a detailed analysis of order 4
methods.
In the early days of Runge–Kutta methods the aim
seemed to be to find explicit methods of higher and
higher order.
Runge–Kutta methods for ordinary differential equations – p. 4/48
These methods from Runge’s 1895 paper are “second
order” because the error in a single step behaves like
O(h3 ).
A few years later, Heun gave a full explanation of order 3
methods and Kutta gave a detailed analysis of order 4
methods.
In the early days of Runge–Kutta methods the aim
seemed to be to find explicit methods of higher and
higher order.
Later the aim shifted to finding methods that seemed to
be optimal in terms of local truncation error and to
finding built-in error estimators.
Runge–Kutta methods for ordinary differential equations – p. 4/48
With the emergence of stiff problems as an important
application area, attention moved to implicit methods.
Runge–Kutta methods for ordinary differential equations – p. 5/48
With the emergence of stiff problems as an important
application area, attention moved to implicit methods.
Methods have been found based on Gaussian quadrature.
Runge–Kutta methods for ordinary differential equations – p. 5/48
With the emergence of stiff problems as an important
application area, attention moved to implicit methods.
Methods have been found based on Gaussian quadrature.
Later this extended to methods related to Radau and
Lobatto quadrature.
Runge–Kutta methods for ordinary differential equations – p. 5/48
With the emergence of stiff problems as an important
application area, attention moved to implicit methods.
Methods have been found based on Gaussian quadrature.
Later this extended to methods related to Radau and
Lobatto quadrature.
A-stable methods exist in these classes.
Runge–Kutta methods for ordinary differential equations – p. 5/48
With the emergence of stiff problems as an important
application area, attention moved to implicit methods.
Methods have been found based on Gaussian quadrature.
Later this extended to methods related to Radau and
Lobatto quadrature.
A-stable methods exist in these classes.
Because of the high cost of these methods, attention
moved to diagonally and singly implicit methods.
Runge–Kutta methods for ordinary differential equations – p. 5/48
Formulation of method
In carrying out a step we evaluate s stage values
Y1 ,
Y2 ,
...,
Ys
and s stage derivatives
F1 , F 2 ,
...,
Fs ,
using the formula Fi = f (Yi ).
Runge–Kutta methods for ordinary differential equations – p. 6/48
Formulation of method
In carrying out a step we evaluate s stage values
Y1 ,
Y2 ,
...,
Ys
and s stage derivatives
F1 , F 2 ,
...,
Fs ,
using the formula Fi = f (Yi ).
Each Yi is found as a linear combination of the Fj added
on to y0 :
s
X
aij Fj
Yi = y 0 + h
j=1
Runge–Kutta methods for ordinary differential equations – p. 6/48
Formulation of method
In carrying out a step we evaluate s stage values
Y1 ,
Y2 ,
...,
Ys
and s stage derivatives
F1 , F 2 ,
...,
Fs ,
using the formula Fi = f (Yi ).
Each Yi is found as a linear combination of the Fj added
on to y0 :
s
X
aij Fj
Yi = y 0 + h
j=1
and the approximation at x1 = x0 + h is found from
s
X
b i Fi
y1 = y0 + h
i=1
Runge–Kutta methods for ordinary differential equations – p. 6/48
We represent the method by a tableau:
c1 a11
c2 a21
.. ..
. .
cs as1
b1
a12
a22
..
.
as2
b2
· · · a1s
· · · a2s
..
.
· · · ass
· · · bs
Runge–Kutta methods for ordinary differential equations – p. 7/48
We represent the method by a tableau:
c1 a11
c2 a21
.. ..
. .
cs as1
b1
a12
a22
..
.
as2
b2
· · · a1s
· · · a2s
..
.
· · · ass
· · · bs
or, if the method is explicit, by the simplified tableau
0
c2 a21
.. ..
.. . . .
. .
.
cs as1 as2 · · · as,s−1
b1 b2 · · · bs−1 bs
Runge–Kutta methods for ordinary differential equations – p. 7/48
Examples:
1
y1 = y0 + 0hf (y0 ) + 1hf y0 + 2 hf (y0 )
0
1
2
1
2
0 1
Runge–Kutta methods for ordinary differential equations – p. 8/48
Examples:
1
y1 = y0 + 0hf (y0 ) + 1hf y0 + 2 hf (y0 )
Y1
0
1
2
1
2
Y2
0 1
Runge–Kutta methods for ordinary differential equations – p. 8/48
Examples:
1
y1 = y0 + 0hf (y0 ) + 1hf y0 + 2 hf (y0 )
0
Y1
1
2
Y2
1
2
0 1
y1 = y0 +
1
hf (y0 )
2
+
1
hf
2
y0 + 1hf (y0 )
0
1 1
1
2
1
2
Runge–Kutta methods for ordinary differential equations – p. 8/48
Examples:
1
y1 = y0 + 0hf (y0 ) + 1hf y0 + 2 hf (y0 )
0
Y1
1
2
Y2
1
2
0 1
y1 = y0 +
Y1
1
hf (y0 )
2
+
1
hf
2
y0 + 1hf (y0 )
0
1 1
1
2
Y2
1
2
Runge–Kutta methods for ordinary differential equations – p. 8/48
Taylor expansion of exact solution
We need formulae for the second, third, . . . , derivatives.
Runge–Kutta methods for ordinary differential equations – p. 9/48
Taylor expansion of exact solution
We need formulae for the second, third, . . . , derivatives.
y 0 (x) = f (y(x))
Runge–Kutta methods for ordinary differential equations – p. 9/48
Taylor expansion of exact solution
We need formulae for the second, third, . . . , derivatives.
y 0 (x) = f (y(x))
y 00 (x) = f 0 (y(x))y 0 (x)
= f 0 (y(x))f (y(x)))
Runge–Kutta methods for ordinary differential equations – p. 9/48
Taylor expansion of exact solution
We need formulae for the second, third, . . . , derivatives.
y 0 (x) = f (y(x))
y 00 (x) = f 0 (y(x))y 0 (x)
= f 0 (y(x))f (y(x)))
y 000 (x) = f 00 (y(x))(f (y(x)), y 0 (x)) + f 0 (y(x))f 0 (y(x))y 0 (x)
=f 00 (y(x))(f (y(x)), f (y(x)))+f 0 (y(x))f 0 (y(x))f (y(x))
Runge–Kutta methods for ordinary differential equations – p. 9/48
Taylor expansion of exact solution
We need formulae for the second, third, . . . , derivatives.
y 0 (x) = f (y(x))
y 00 (x) = f 0 (y(x))y 0 (x)
= f 0 (y(x))f (y(x)))
y 000 (x) = f 00 (y(x))(f (y(x)), y 0 (x)) + f 0 (y(x))f 0 (y(x))y 0 (x)
=f 00 (y(x))(f (y(x)), f (y(x)))+f 0 (y(x))f 0 (y(x))f (y(x))
This will become increasingly complicated as we
evaluate higher derivatives.
Runge–Kutta methods for ordinary differential equations – p. 9/48
Taylor expansion of exact solution
We need formulae for the second, third, . . . , derivatives.
y 0 (x) = f (y(x))
y 00 (x) = f 0 (y(x))y 0 (x)
= f 0 (y(x))f (y(x)))
y 000 (x) = f 00 (y(x))(f (y(x)), y 0 (x)) + f 0 (y(x))f 0 (y(x))y 0 (x)
=f 00 (y(x))(f (y(x)), f (y(x)))+f 0 (y(x))f 0 (y(x))f (y(x))
This will become increasingly complicated as we
evaluate higher derivatives.
Hence we look for a systematic pattern.
Runge–Kutta methods for ordinary differential equations – p. 9/48
Taylor expansion of exact solution
We need formulae for the second, third, . . . , derivatives.
y 0 (x) = f (y(x))
y 00 (x) = f 0 (y(x))y 0 (x)
= f 0 (y(x))f (y(x)))
y 000 (x) = f 00 (y(x))(f (y(x)), y 0 (x)) + f 0 (y(x))f 0 (y(x))y 0 (x)
=f 00 (y(x))(f (y(x)), f (y(x)))+f 0 (y(x))f 0 (y(x))f (y(x))
This will become increasingly complicated as we
evaluate higher derivatives.
Hence we look for a systematic pattern.
Write f = f (y(x)), f0 = f 0 (y(x)), f00 = f 00 (y(x)), . . . .
Runge–Kutta methods for ordinary differential equations – p. 9/48
y 0 (x) = f
f
00
0
f
f0
000
00
y (x) = f f
y (x) = f (f, f)
+ f0 f0 f
f
f
f00
f
f0
f0
Runge–Kutta methods for ordinary differential equations – p. 10/48
y 0 (x) = f
f
00
0
f
f0
000
00
y (x) = f f
y (x) = f (f, f)
+ f0 f0 f
f
f
f00
f
f0
f0
The various terms have a structure related to rooted-trees.
Runge–Kutta methods for ordinary differential equations – p. 10/48
y 0 (x) = f
f
00
0
f
f0
000
00
y (x) = f f
y (x) = f (f, f)
+ f0 f0 f
f
f
f00
f
f0
f0
The various terms have a structure related to rooted-trees.
Hence, we introduce the set of all rooted trees and some
functions on this set.
Runge–Kutta methods for ordinary differential equations – p. 10/48
Let T denote the set of rooted trees:
n
T =
,
,
,
,
,
,
,
,
...
o
We identify the following functions on T .
Runge–Kutta methods for ordinary differential equations – p. 11/48
Let T denote the set of rooted trees:
n
T =
,
,
,
,
,
,
,
,
...
o
We identify the following functions on T .
In this table, t will denote a typical tree
Runge–Kutta methods for ordinary differential equations – p. 11/48
Let T denote the set of rooted trees:
n
T =
,
,
,
,
,
,
,
,
...
o
We identify the following functions on T .
In this table, t will denote a typical tree
r(t)
order of t = number of vertices
Runge–Kutta methods for ordinary differential equations – p. 11/48
Let T denote the set of rooted trees:
n
T =
,
,
,
,
,
,
,
,
...
o
We identify the following functions on T .
In this table, t will denote a typical tree
r(t)
order of t = number of vertices
σ(t)
symmetry of t = order of automorphism group
Runge–Kutta methods for ordinary differential equations – p. 11/48
Let T denote the set of rooted trees:
n
T =
,
,
,
,
,
,
,
,
...
o
We identify the following functions on T .
In this table, t will denote a typical tree
r(t)
order of t = number of vertices
σ(t)
symmetry of t = order of automorphism group
γ(t)
density of t
Runge–Kutta methods for ordinary differential equations – p. 11/48
Let T denote the set of rooted trees:
n
T =
,
,
,
,
,
,
,
,
...
o
We identify the following functions on T .
In this table, t will denote a typical tree
r(t)
order of t = number of vertices
σ(t)
symmetry of t = order of automorphism group
γ(t)
density of t
α(t)
number of ways of labelling with an ordered set
Runge–Kutta methods for ordinary differential equations – p. 11/48
Let T denote the set of rooted trees:
n
T =
,
,
,
,
,
,
,
,
...
o
We identify the following functions on T .
In this table, t will denote a typical tree
r(t)
order of t = number of vertices
σ(t)
symmetry of t = order of automorphism group
γ(t)
density of t
α(t)
number of ways of labelling with an ordered set
β(t)
number of ways of labelling with an unordered set
Runge–Kutta methods for ordinary differential equations – p. 11/48
Let T denote the set of rooted trees:
n
T =
,
,
,
,
,
,
,
,
...
o
We identify the following functions on T .
In this table, t will denote a typical tree
r(t)
order of t = number of vertices
σ(t)
symmetry of t = order of automorphism group
γ(t)
density of t
α(t)
number of ways of labelling with an ordered set
β(t)
number of ways of labelling with an unordered set
F (t)(y0 ) elementary differential
Runge–Kutta methods for ordinary differential equations – p. 11/48
Let T denote the set of rooted trees:
n
T =
,
,
,
,
,
,
,
,
...
o
We identify the following functions on T .
In this table, t will denote a typical tree
r(t)
order of t = number of vertices
σ(t)
symmetry of t = order of automorphism group
γ(t)
density of t
α(t)
number of ways of labelling with an ordered set
β(t)
number of ways of labelling with an unordered set
F (t)(y0 ) elementary differential
We will give examples of these functions based on t =
Runge–Kutta methods for ordinary differential equations – p. 11/48
t =
Runge–Kutta methods for ordinary differential equations – p. 12/48
t =
1 23 4
r(t) = 7
5
6
7
Runge–Kutta methods for ordinary differential equations – p. 12/48
t =
1 23 4
r(t) = 7
5
6
7
σ(t) = 8
Runge–Kutta methods for ordinary differential equations – p. 12/48
t =
1 23 4
r(t) = 7
5
6
7
σ(t) = 8
1 11 1
γ(t) = 63
3
3
7
Runge–Kutta methods for ordinary differential equations – p. 12/48
t =
1 23 4
5
r(t) = 7
6
7
σ(t) = 8
1 11 1
3
γ(t) = 63
α(t) =
r(t)!
σ(t)γ(t)
3
7
= 10
Runge–Kutta methods for ordinary differential equations – p. 12/48
t =
1 23 4
5
r(t) = 7
6
7
σ(t) = 8
1 11 1
3
γ(t) = 63
3
7
α(t) =
r(t)!
σ(t)γ(t)
= 10
β(t) =
r(t)!
σ(t)
= 630
Runge–Kutta methods for ordinary differential equations – p. 12/48
t =
1 23 4
5
r(t) = 7
6
7
σ(t) = 8
1 11 1
3
γ(t) = 63
7
α(t) =
r(t)!
σ(t)γ(t)
= 10
β(t) =
r(t)!
σ(t)
= 630
00
3
00
00
F (t) = f f (f, f), f (f, f)
f f f f
f00
f00
f00
Runge–Kutta methods for ordinary differential equations – p. 12/48
These functions are easy to compute up to order 4 trees:
t
r(t) 1 2
3
3
4
4
4
4
σ(t) 1 1
2
1
6
1
2
1
γ(t) 1 2
3
6
4
8
12
24
α(t) 1 1
1
1
1
3
1
1
β(t) 1 2
3
6
4
24
12
24
F (t) f f0 f f00 (f, f) f0 f0 f f(3) (f, f, f) f00 (f, f0 f) f0 f00 (f, f) f0 f0 f0 f
Runge–Kutta methods for ordinary differential equations – p. 13/48
The formal Taylor expansion of the solution at x0 + h is
y(x0 + h) = y0 +
X α(t)hr(t)
t∈T
r(t)!
F (t)(y0 )
Runge–Kutta methods for ordinary differential equations – p. 14/48
The formal Taylor expansion of the solution at x0 + h is
y(x0 + h) = y0 +
X α(t)hr(t)
t∈T
r(t)!
F (t)(y0 )
Using the known formula for α(t), we can write this as
y(x0 + h) = y0 +
X
t∈T
hr(t)
F (t)(y0 )
σ(t)γ(t)
Runge–Kutta methods for ordinary differential equations – p. 14/48
The formal Taylor expansion of the solution at x0 + h is
y(x0 + h) = y0 +
X α(t)hr(t)
t∈T
r(t)!
F (t)(y0 )
Using the known formula for α(t), we can write this as
y(x0 + h) = y0 +
X
t∈T
hr(t)
F (t)(y0 )
σ(t)γ(t)
Our aim will now be to find a corresponding formula for
the result computed by one step of a Runge-Kutta
method.
Runge–Kutta methods for ordinary differential equations – p. 14/48
The formal Taylor expansion of the solution at x0 + h is
y(x0 + h) = y0 +
X α(t)hr(t)
t∈T
r(t)!
F (t)(y0 )
Using the known formula for α(t), we can write this as
y(x0 + h) = y0 +
X
t∈T
hr(t)
F (t)(y0 )
σ(t)γ(t)
Our aim will now be to find a corresponding formula for
the result computed by one step of a Runge-Kutta
method.
By comparing these formulae term by term, we will
obtain conditions for a specific order of accuracy.
Runge–Kutta methods for ordinary differential equations – p. 14/48
Taylor expansion for numerical approximation
We need to evaluate various expressions which depend
on the tableau for a particular method.
Runge–Kutta methods for ordinary differential equations – p. 15/48
Taylor expansion for numerical approximation
We need to evaluate various expressions which depend
on the tableau for a particular method.
These are known as “elementary weights”.
Runge–Kutta methods for ordinary differential equations – p. 15/48
Taylor expansion for numerical approximation
We need to evaluate various expressions which depend
on the tableau for a particular method.
These are known as “elementary weights”.
We use the example tree we have already considered to
illustrate the construction of the elementary weight Φ(t).
l
t=
m n
j
o
k
i
Runge–Kutta methods for ordinary differential equations – p. 15/48
Taylor expansion for numerical approximation
We need to evaluate various expressions which depend
on the tableau for a particular method.
These are known as “elementary weights”.
We use the example tree we have already considered to
illustrate the construction of the elementary weight Φ(t).
l
t=
Φ(t) =
s
X
m n
j
o
k
i
bi aij aik ajl ajmaknako
i,j,k,l,m,n,o=1
Runge–Kutta methods for ordinary differential equations – p. 15/48
Taylor expansion for numerical approximation
We need to evaluate various expressions which depend
on the tableau for a particular method.
These are known as “elementary weights”.
We use the example tree we have already considered to
illustrate the construction of the elementary weight Φ(t).
l
t=
Φ(t) =
m n
j
s
X
o
k
i
bi aij aik ajl ajmaknako
i,j,k,l,m,n,o=1
Simplify by summing over l, m, n, o:
Φ(t) =
s
X
2
2
biaij cj aik ck
i,j,k=1
Runge–Kutta methods for ordinary differential equations – p. 15/48
Now add Φ(t) to the table of functions:
t
r(t)
α(t)
β(t)
Φ(t)
1
1
1
P
bi
2
1
2
P
bi ci
3
1
3
P 2
bi ci
3
1
6
P
bi aij cj
t
r(t)
4
4
4
4
α(t)
1
3
1
1
4
24
12
24
β(t)
P 3 P
P
P
2
Φ(t)
bi ci
bi ci aij cj
bi aij cj
bi aij ajk ck
Runge–Kutta methods for ordinary differential equations – p. 16/48
The formal Taylor expansion of the solution at x0 + h is
y1 = y0 +
X β(t)hr(t)
t∈T
r(t)!
Φ(t)F (t)(y0 )
Runge–Kutta methods for ordinary differential equations – p. 17/48
The formal Taylor expansion of the solution at x0 + h is
y1 = y0 +
X β(t)hr(t)
t∈T
r(t)!
Φ(t)F (t)(y0 )
Using the known formula for β(t), we can write this as
y1 = y 0 +
X hr(t)
t∈T
σ(t)
Φ(t)F (t)(y0 )
Runge–Kutta methods for ordinary differential equations – p. 17/48
Order conditions
To match the Taylor series
X hr(t)
F (t)(y0 )
y(x0 + h) = y0 +
σ(t)γ(t)
t∈T
y1 = y0 +
X hr(t)
t∈T
σ(t)
Φ(t)F (t)(y0 )
up to hp terms we need to ensure that
1
,
Φ(t) =
γ(t)
Runge–Kutta methods for ordinary differential equations – p. 18/48
Order conditions
To match the Taylor series
X hr(t)
F (t)(y0 )
y(x0 + h) = y0 +
σ(t)γ(t)
t∈T
y1 = y0 +
X hr(t)
t∈T
σ(t)
Φ(t)F (t)(y0 )
up to hp terms we need to ensure that
for all trees such that
1
,
Φ(t) =
γ(t)
r(t) ≤ p.
Runge–Kutta methods for ordinary differential equations – p. 18/48
Order conditions
To match the Taylor series
X hr(t)
F (t)(y0 )
y(x0 + h) = y0 +
σ(t)γ(t)
t∈T
y1 = y0 +
X hr(t)
t∈T
σ(t)
Φ(t)F (t)(y0 )
up to hp terms we need to ensure that
for all trees such that
1
,
Φ(t) =
γ(t)
r(t) ≤ p.
These are the “order conditions”.
Runge–Kutta methods for ordinary differential equations – p. 18/48
Construction of low order explicit methods
We will attempt to construct methods of order p = s with
s stages for s = 1, 2, . . . .
Runge–Kutta methods for ordinary differential equations – p. 19/48
Construction of low order explicit methods
We will attempt to construct methods of order p = s with
s stages for s = 1, 2, . . . .
We will find that this is possible up to order 4 but not for
p ≥ 5.
Runge–Kutta methods for ordinary differential equations – p. 19/48
Construction of low order explicit methods
We will attempt to construct methods of order p = s with
s stages for s = 1, 2, . . . .
We will find that this is possible up to order 4 but not for
p ≥ 5.
The usual approach will be to first choose c2 , c3 , . . . , cs
and then solve for b1 , b2 , . . . , bs .
Runge–Kutta methods for ordinary differential equations – p. 19/48
Construction of low order explicit methods
We will attempt to construct methods of order p = s with
s stages for s = 1, 2, . . . .
We will find that this is possible up to order 4 but not for
p ≥ 5.
The usual approach will be to first choose c2 , c3 , . . . , cs
and then solve for b1 , b2 , . . . , bs .
After this solve for those of the aij which can be found as
solutions to linear equations.
Runge–Kutta methods for ordinary differential equations – p. 19/48
Construction of low order explicit methods
We will attempt to construct methods of order p = s with
s stages for s = 1, 2, . . . .
We will find that this is possible up to order 4 but not for
p ≥ 5.
The usual approach will be to first choose c2 , c3 , . . . , cs
and then solve for b1 , b2 , . . . , bs .
After this solve for those of the aij which can be found as
solutions to linear equations.
b1 + b 2 = 1
Order 2:
b2 c2 = 12
0
c2
0
c2
1 − 2c12
1
2c2
1
2
1
2
0 1
0
1 1
1
2
1
2
Runge–Kutta methods for ordinary differential equations – p. 19/48
Order 3:
b1 + b 2 + b 3
b2 c2 + b 3 c3
b2 c22 + b3 c23
b3 a32 c2
=1
= 12
= 13
= 16
Runge–Kutta methods for ordinary differential equations – p. 20/48
b1 + b 2 + b 3
b2 c2 + b 3 c3
b2 c22 + b3 c23
b3 a32 c2
Order 3:
0
1
2
=1
= 12
= 13
= 16
0
1
2
1 −1 2
1
6
2
3
1
6
2
3
2
3
0
2
3
0
1
4
2
3
3
8
2
3
3
8
2
3
0 −1 1
0 34
1
4
Runge–Kutta methods for ordinary differential equations – p. 20/48
b1 + b 2 + b 3 + b 4
b2 c2 + b 3 c3 + b 4 c4
b2 c22 + b3 c23 + b4 c24
b3 a32 c2 + b4 a42 c2 + b4 a43 c3
b2 c32 + b3 c33 + b4 c34
b3 c3 a32 c2 + b4 c4 a42 c2 + b4 c4 a43 c3
2
2
2
b3 a32 c2 + b4 a42 c2 + b4 a43 c3
b4 a43 a32 c2
Order 4:
=1
= 12
= 13
= 16
= 14
= 18
1
= 12
1
= 24
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
Runge–Kutta methods for ordinary differential equations – p. 21/48
b1 + b 2 + b 3 + b 4 = 1
(1)
(2)
b2 c2 + b3 c3 + b4 c4 = 12
(3)
b2 c22 + b3 c23 + b4 c24 = 13
b3 a32 c2 + b4 a42 c2 + b4 a43 c3 = 16
(4)
b2 c32 + b3 c33 + b4 c34 = 14
(5)
b3 c3 a32 c2 + b4 c4 a42 c2 + b4 c4 a43 c3 = 18
(6)
2
2
2
1
b3 a32 c2 + b4 a42 c2 + b4 a43 c3 = 12
(7)
1
b4 a43 a32 c2 = 24
(8)
To solve these equations, treat c2 , c3 , c4 as parameters,
and solve for b1 , b2 , b3 , b4 from (1), (2), (3), (5).
Order 4:
Runge–Kutta methods for ordinary differential equations – p. 21/48
b1 + b 2 + b 3 + b 4 = 1
(1)
(2)
b2 c2 + b3 c3 + b4 c4 = 12
(3)
b2 c22 + b3 c23 + b4 c24 = 13
b3 a32 c2 + b4 a42 c2 + b4 a43 c3 = 16
(4)
b2 c32 + b3 c33 + b4 c34 = 14
(5)
b3 c3 a32 c2 + b4 c4 a42 c2 + b4 c4 a43 c3 = 18
(6)
2
2
2
1
b3 a32 c2 + b4 a42 c2 + b4 a43 c3 = 12
(7)
1
b4 a43 a32 c2 = 24
(8)
To solve these equations, treat c2 , c3 , c4 as parameters,
and solve for b1 , b2 , b3 , b4 from (1), (2), (3), (5).
Now solve for a32 , a42 , a43 from (4). (6), (7).
Order 4:
Runge–Kutta methods for ordinary differential equations – p. 21/48
b1 + b 2 + b 3 + b 4 = 1
(1)
(2)
b2 c2 + b3 c3 + b4 c4 = 12
(3)
b2 c22 + b3 c23 + b4 c24 = 13
b3 a32 c2 + b4 a42 c2 + b4 a43 c3 = 16
(4)
b2 c32 + b3 c33 + b4 c34 = 14
(5)
b3 c3 a32 c2 + b4 c4 a42 c2 + b4 c4 a43 c3 = 18
(6)
2
2
2
1
b3 a32 c2 + b4 a42 c2 + b4 a43 c3 = 12
(7)
1
b4 a43 a32 c2 = 24
(8)
To solve these equations, treat c2 , c3 , c4 as parameters,
and solve for b1 , b2 , b3 , b4 from (1), (2), (3), (5).
Now solve for a32 , a42 , a43 from (4). (6), (7).
Use (8) to obtain consistency condition on c2 , c3 , c4 .
Order 4:
Runge–Kutta methods for ordinary differential equations – p. 21/48
b1 + b 2 + b 3 + b 4 = 1
(1)
(2)
b2 c2 + b3 c3 + b4 c4 = 12
(3)
b2 c22 + b3 c23 + b4 c24 = 13
b3 a32 c2 + b4 a42 c2 + b4 a43 c3 = 16
(4)
b2 c32 + b3 c33 + b4 c34 = 14
(5)
b3 c3 a32 c2 + b4 c4 a42 c2 + b4 c4 a43 c3 = 18
(6)
2
2
2
1
b3 a32 c2 + b4 a42 c2 + b4 a43 c3 = 12
(7)
1
b4 a43 a32 c2 = 24
(8)
To solve these equations, treat c2 , c3 , c4 as parameters,
and solve for b1 , b2 , b3 , b4 from (1), (2), (3), (5).
Now solve for a32 , a42 , a43 from (4). (6), (7).
Use (8) to obtain consistency condition on c2 , c3 , c4 .
Result: c4 = 1.
Order 4:
Runge–Kutta methods for ordinary differential equations – p. 21/48
We will prove a stronger result in another way.
Runge–Kutta methods for ordinary differential equations – p. 22/48
We will prove a stronger result in another way.
Lemma 1 Let U and V be 3 × 3 matrices such that


w11 w12 0
w11 w12


U V = w21 w22 0 where
is non-singular
w21 w22
0
0 0
then either the last row of U is zero or the last column of
V is zero.
Runge–Kutta methods for ordinary differential equations – p. 22/48
We will prove a stronger result in another way.
Lemma 1 Let U and V be 3 × 3 matrices such that


w11 w12 0
w11 w12


U V = w21 w22 0 where
is non-singular
w21 w22
0
0 0
then either the last row of U is zero or the last column of
V is zero.
Proof Let W = U V . Either U or V is singular. If U is singular, let
x be a non-zero vector such that xT U = 0. Therefore xT W = 0.
Therefore the first two components of x are zero. Hence, the last row
of U is zero. The second case follows similarly if V is singular.
Runge–Kutta methods for ordinary differential equations – p. 22/48
We will prove a stronger result in another way.
Lemma 1 Let U and V be 3 × 3 matrices such that


w11 w12 0
w11 w12


U V = w21 w22 0 where
is non-singular
w21 w22
0
0 0
then either the last row of U is zero or the last column of
V is zero.
Proof Let W = U V . Either U or V is singular. If U is singular, let
x be a non-zero vector such that xT U = 0. Therefore xT W = 0.
Therefore the first two components of x are zero. Hence, the last row
of U is zero. The second case follows similarly if V is singular.
We will apply this result with a specific choice of U and
V.
Runge–Kutta methods for ordinary differential equations – p. 22/48
Let

b2

b2 c2

P
U =
i bi ai2
−b2 (1 − c2 )
b3
bc
P 3 3
i bi ai3
−b3 (1 − c3 )

b4

b4 c4

P

b
a
i i i4
−b4 (1 − c4 )
Runge–Kutta methods for ordinary differential equations – p. 23/48
Let


b2
b3
b4


b
c
b
c
b
c
2 2
3 3
4 4

P
P
P
U =


b
a
b
a
b
a
i i i2
i i i3
i i i4
−b2 (1 − c2 )
−b3 (1 − c3 )
−b4 (1 − c4 )
P

1 2 
2
c2 c2
a2j cj − 2 c2
j
P
1 2 
2
a
c
−
c3
V =  c3 c3
3j j
j
2
P
1 2
2
c4 c4
a
c
−
j 4j j
2 c4
Runge–Kutta methods for ordinary differential equations – p. 23/48
Let


b2
b3
b4


b
c
b
c
b
c
2 2
3 3
4 4

P
P
P
U =


b
a
b
a
b
a
i i i2
i i i3
i i i4
−b2 (1 − c2 )
−b3 (1 − c3 )
−b4 (1 − c4 )
P

1 2 
2
c2 c2
a2j cj − 2 c2
j
P
1 2 
2
a
c
−
c3
V =  c3 c3
3j j
j
2
P
1 2
2
c4 c4
a
c
−
j 4j j
2 c4
then

 1 1
2 3 0
U V =  13 41 0 
0 0 0
Runge–Kutta methods for ordinary differential equations – p. 23/48
It follows that b4 = 0, c2 = 0 or c4 = 1.
Runge–Kutta methods for ordinary differential equations – p. 24/48
It follows that b4 = 0, c2 = 0 or c4 = 1.
The first two options are impossible because
1
b4 a43 a32 c2 = 24
.
Runge–Kutta methods for ordinary differential equations – p. 24/48
It follows that b4 = 0, c2 = 0 or c4 = 1.
The first two options are impossible because
1
b4 a43 a32 c2 = 24
.
Hence, c4 = 1 and the last row of U is zero.
Runge–Kutta methods for ordinary differential equations – p. 24/48
It follows that b4 = 0, c2 = 0 or c4 = 1.
The first two options are impossible because
1
b4 a43 a32 c2 = 24
.
Hence, c4 = 1 and the last row of U is zero.
The construction of fourth order Runge–Kutta methods
now becomes straightforward.
Runge–Kutta methods for ordinary differential equations – p. 24/48
It follows that b4 = 0, c2 = 0 or c4 = 1.
The first two options are impossible because
1
b4 a43 a32 c2 = 24
.
Hence, c4 = 1 and the last row of U is zero.
The construction of fourth order Runge–Kutta methods
now becomes straightforward.
Kutta classified all solutions to the fourth order
conditions.
Runge–Kutta methods for ordinary differential equations – p. 24/48
It follows that b4 = 0, c2 = 0 or c4 = 1.
The first two options are impossible because
1
b4 a43 a32 c2 = 24
.
Hence, c4 = 1 and the last row of U is zero.
The construction of fourth order Runge–Kutta methods
now becomes straightforward.
Kutta classified all solutions to the fourth order
conditions.
In particular we have his famous method:
0
1
2
1
2
1
2
0 12
1 0 0 1
1
6
1
3
1
3
1
6
Runge–Kutta methods for ordinary differential equations – p. 24/48
Order barriers
We will review what is achievable up to order 8.
Runge–Kutta methods for ordinary differential equations – p. 25/48
Order barriers
We will review what is achievable up to order 8.
In the table below, Np is the number of order conditions
to achieve this order.
Runge–Kutta methods for ordinary differential equations – p. 25/48
Order barriers
We will review what is achievable up to order 8.
In the table below, Np is the number of order conditions
to achieve this order.
Ms = s(s + 1)/2 is the number of free parameters to
satisfy the order conditions for the required s stages.
Runge–Kutta methods for ordinary differential equations – p. 25/48
Order barriers
We will review what is achievable up to order 8.
In the table below, Np is the number of order conditions
to achieve this order.
Ms = s(s + 1)/2 is the number of free parameters to
satisfy the order conditions for the required s stages.
p Np s M s
1
1 1
1
2
2 2
3
3
4 3
6
4
8 4 10
5 17 6 21
6 37 7 28
7 115 9 45
8 200 11 66
Runge–Kutta methods for ordinary differential equations – p. 25/48
We will now prove that s = p = 5 is impossible.
Runge–Kutta methods for ordinary differential equations – p. 26/48
We will now prove that s = p = 5 is impossible.
P
5
b
Let bj = i=1 bi aij , j = 1, 2, 3, 4 and let


bb3
bb4
bb2


b
b
b


b2 c2
b3 c3
b4 c4
U = P

P
P
bbi ai2
bbi ai3
bbi ai4


i
i
i
− 12bb2 (1 − c2 )
− 12bb3 (1 − c3 )
− 12bb4 (1 − c4 )
Runge–Kutta methods for ordinary differential equations – p. 26/48
We will now prove that s = p = 5 is impossible.
P
5
b
Let bj = i=1 bi aij , j = 1, 2, 3, 4 and let


bb3
bb4
bb2


b
b
b


b2 c2
b3 c3
b4 c4
U = P

P
P
bbi ai2
bbi ai3
bbi ai4


i
i
i
− 12bb2 (1 − c2 )
− 12bb3 (1 − c3 )
− 12bb4 (1 − c4 )
P

1 2 
2
a2j cj − 2 c2
c2 c2
j
P
1 2 
2
a
c
−
c3
V =  c3 c3
3j j
j
2
P
1 2
2
c4 c4
a
c
−
j 4j j
2 c4
Runge–Kutta methods for ordinary differential equations – p. 26/48
We will now prove that s = p = 5 is impossible.
P
5
b
Let bj = i=1 bi aij , j = 1, 2, 3, 4 and let


bb3
bb4
bb2


b
b
b


b2 c2
b3 c3
b4 c4
U = P

P
P
bbi ai2
bbi ai3
bbi ai4


i
i
i
− 12bb2 (1 − c2 )
− 12bb3 (1 − c3 )
− 12bb4 (1 − c4 )
P

1 2 
2
a2j cj − 2 c2
c2 c2
j
P
1 2 
2
a
c
−
c3
V =  c3 c3
3j j
j
2
P
1 2
2
c4 c4
a
c
−
j 4j j
2 c4
then

 1 1
6 12 0
1
1

U V =  12
0
20
0 0 0
Runge–Kutta methods for ordinary differential equations – p. 26/48
Using Lemma 1, we deduce that c4 = 1.
Runge–Kutta methods for ordinary differential equations – p. 27/48
Using Lemma 1, we deduce that c4 = 1. Now use the
lemma
again
with


b2 (1 − c2 )
b3 (1 − c3 )
b5 (1 − c5 )
 b2 c2 (1 − c2 )

b
c
(1
−
c
)
b
c
(1
−
c
)
3
3
3
5
5
5

P
P
P
U =


b
a
(1
−
c
)
b
a
(1
−
c
)
b
a
(1
−
c
)
2
3
5
i i i2
i i i3
i i i5
−b2 (1 − c2 )2
−b3 (1 − c3 )2
−b5 (1 − c5 )2
Runge–Kutta methods for ordinary differential equations – p. 27/48
Using Lemma 1, we deduce that c4 = 1. Now use the
lemma
again
with


b2 (1 − c2 )
b3 (1 − c3 )
b5 (1 − c5 )
 b2 c2 (1 − c2 )

b
c
(1
−
c
)
b
c
(1
−
c
)
3
3
3
5
5
5

P
P
P
U =


b
a
(1
−
c
)
b
a
(1
−
c
)
b
a
(1
−
c
)
2
3
5
i i i2
i i i3
i i i5
−b2 (1 − c2 )2
−b3 (1 − c3 )2
−b5 (1 − c5 )2
P

1 2 
2
a2j cj − 2 c2
c2 c2
j
P
1 2 
2
a
c
−
c3
V =  c3 c3
3j j
j
2
P
1 2
2
c5 c5
a
c
−
j 5j j
2 c5
Runge–Kutta methods for ordinary differential equations – p. 27/48
Using Lemma 1, we deduce that c4 = 1. Now use the
lemma
again
with


b2 (1 − c2 )
b3 (1 − c3 )
b5 (1 − c5 )
 b2 c2 (1 − c2 )

b
c
(1
−
c
)
b
c
(1
−
c
)
3
3
3
5
5
5

P
P
P
U =


b
a
(1
−
c
)
b
a
(1
−
c
)
b
a
(1
−
c
)
2
3
5
i i i2
i i i3
i i i5
−b2 (1 − c2 )2
−b3 (1 − c3 )2
−b5 (1 − c5 )2
P

1 2 
2
a2j cj − 2 c2
c2 c2
j
P
1 2 
2
a
c
−
c3
V =  c3 c3
3j j
j
2
P
1 2
2
c5 c5
a
c
−
j 5j j
2 c5
then

 1 1
6 12 0
1
1
.
U V =  12
0
20
0 0 0
Runge–Kutta methods for ordinary differential equations – p. 27/48
It follows that c5 = 1.
Runge–Kutta methods for ordinary differential equations – p. 28/48
It follows that c5 = 1.
Since we already know that c4 = 1, we obtain a
contradiction from
X
bi (1 − ci )aij ajk ck
Runge–Kutta methods for ordinary differential equations – p. 28/48
It follows that c5 = 1.
Since we already know that c4 = 1, we obtain a
contradiction from
X
1
bi (1 − ci )aij ajk ck = 120
Runge–Kutta methods for ordinary differential equations – p. 28/48
It follows that c5 = 1.
Since we already know that c4 = 1, we obtain a
contradiction from
X
1
0=
bi (1 − ci )aij ajk ck = 120
Runge–Kutta methods for ordinary differential equations – p. 28/48
It follows that c5 = 1.
Since we already know that c4 = 1, we obtain a
contradiction from
X
1
0=
bi (1 − ci )aij ajk ck = 120
By modifying the details slightly, we can prove that
s = p > 5 is never possible.
Runge–Kutta methods for ordinary differential equations – p. 28/48
It follows that c5 = 1.
Since we already know that c4 = 1, we obtain a
contradiction from
X
1
0=
bi (1 − ci )aij ajk ck = 120
By modifying the details slightly, we can prove that
s = p > 5 is never possible.
The proof that s = p + 1 is impossible when p ≥ 7 is
more complicated.
Runge–Kutta methods for ordinary differential equations – p. 28/48
It follows that c5 = 1.
Since we already know that c4 = 1, we obtain a
contradiction from
X
1
0=
bi (1 − ci )aij ajk ck = 120
By modifying the details slightly, we can prove that
s = p > 5 is never possible.
The proof that s = p + 1 is impossible when p ≥ 7 is
more complicated.
The proof that s = p + 2 is impossible when p ≥ 8 is
much more complicated.
Runge–Kutta methods for ordinary differential equations – p. 28/48
Algebraic interpretation
We will introduce an algebraic system which represents
individual Runge-Kutta methods and also compositions
of methods.
Runge–Kutta methods for ordinary differential equations – p. 29/48
Algebraic interpretation
We will introduce an algebraic system which represents
individual Runge-Kutta methods and also compositions
of methods.
This centres on the meaning of order for Runge-Kutta
methods and leads to a possible generalisation to
“effective order”.
Runge–Kutta methods for ordinary differential equations – p. 29/48
Algebraic interpretation
We will introduce an algebraic system which represents
individual Runge-Kutta methods and also compositions
of methods.
This centres on the meaning of order for Runge-Kutta
methods and leads to a possible generalisation to
“effective order”.
Denote by G the group consisting of mappings of
(rooted) trees to real numbers where the group operation
is defined in the usual way
Runge–Kutta methods for ordinary differential equations – p. 29/48
Algebraic interpretation
We will introduce an algebraic system which represents
individual Runge-Kutta methods and also compositions
of methods.
This centres on the meaning of order for Runge-Kutta
methods and leads to a possible generalisation to
“effective order”.
Denote by G the group consisting of mappings of
(rooted) trees to real numbers where the group operation
is defined in the usual way, according to the algebraic
theory of Runge-Kutta methods or to the (equivalent)
theory of B-series.
Runge–Kutta methods for ordinary differential equations – p. 29/48
Algebraic interpretation
We will introduce an algebraic system which represents
individual Runge-Kutta methods and also compositions
of methods.
This centres on the meaning of order for Runge-Kutta
methods and leads to a possible generalisation to
“effective order”.
Denote by G the group consisting of mappings of
(rooted) trees to real numbers where the group operation
is defined in the usual way, according to the algebraic
theory of Runge-Kutta methods or to the (equivalent)
theory of B-series.
We will illustrate this operation in a table
Runge–Kutta methods for ordinary differential equations – p. 29/48
Algebraic interpretation
We will introduce an algebraic system which represents
individual Runge-Kutta methods and also compositions
of methods.
This centres on the meaning of order for Runge-Kutta
methods and leads to a possible generalisation to
“effective order”.
Denote by G the group consisting of mappings of
(rooted) trees to real numbers where the group operation
is defined in the usual way, according to the algebraic
theory of Runge-Kutta methods or to the (equivalent)
theory of B-series.
We will illustrate this operation in a table, where we also
introduce the special member E ∈ G.
Runge–Kutta methods for ordinary differential equations – p. 29/48
i ti
1
2
3
4
5
6
7
8
Runge–Kutta methods for ordinary differential equations – p. 30/48
r(ti )
1
2
3
i ti
1
2
3
3
4
4
5
4
6
4
7
4
8
Runge–Kutta methods for ordinary differential equations – p. 30/48
r(ti )
1
2
3
i ti α(ti ) β(ti )
1
α1
β1
2
α2
β2
3
α3
β3
3
4
4
5
α4
α5
β4
β5
4
6
α6
β6
4
7
α7
β7
4
8
α8
β8
Runge–Kutta methods for ordinary differential equations – p. 30/48
r(ti )
1
2
3
i ti α(ti ) β(ti )
1
α1
β1
2
α2
β2
3
α3
β3
(αβ)(ti )
α1 + β 1
α2 + α 1 β 1 + β 2
α3 + α12 β1 + 2α1 β2 + β3
3
4
4
5
α4
α5
4
6
α6
4
7
α7
β4
α4 + α 2 β 1 + α 1 β 2 + β 4
β5 α5 + α13 β1 + 3α12 β2 + 3α1 β3 + β5
2
α
+
α
α
β
+
(α
6
1 2 1
1 + α2 )β2
β6
+ α1 (β3 + β4 ) + β6
β7 α7 + α3 β1 + α12 β2 + 2α1 β4 + β7
4
8
α8
β8
α8 + α 4 β 1 + α 2 β 2 + α 1 β 4 + β 8
Runge–Kutta methods for ordinary differential equations – p. 30/48
r(ti )
1
2
3
i ti α(ti ) β(ti )
1
α1
β1
2
α2
β2
3
α3
β3
3
4
4
5
α4
α5
β4
β5
4
6
α6
β6
4
7
α7
β7
4
8
α8
β8
(αβ)(ti )
α1 + β 1
α2 + α 1 β 1 + β 2
α3 + α12 β1 + 2α1 β2 + β3
E(ti )
1
α8 + α 4 β 1 + α 2 β 2 + α 1 β 4 + β 8
1
24
1
2
1
3
1
α4 + α 2 β 1 + α 1 β 2 + β 4
6
α5 + α13 β1 + 3α12 β2 + 3α1 β3 + β5 14
1
α6 + α1 α2 β1 + (α12 + α2 )β2
8
+ α1 (β3 + β4 ) + β6
1
α7 + α3 β1 + α12 β2 + 2α1 β4 + β7 12
Runge–Kutta methods for ordinary differential equations – p. 30/48
Gp will denote the normal subgroup defined by t 7→ 0 for
r(t) ≤ p.
Runge–Kutta methods for ordinary differential equations – p. 31/48
Gp will denote the normal subgroup defined by t 7→ 0 for
r(t) ≤ p.
If α ∈ G then this maps canonically to αGp ∈ G/Gp.
Runge–Kutta methods for ordinary differential equations – p. 31/48
Gp will denote the normal subgroup defined by t 7→ 0 for
r(t) ≤ p.
If α ∈ G then this maps canonically to αGp ∈ G/Gp.
If α is defined from the elementary weights for a
Runge-Kutta method then order p can be written as
αGp = EGp.
Runge–Kutta methods for ordinary differential equations – p. 31/48
Gp will denote the normal subgroup defined by t 7→ 0 for
r(t) ≤ p.
If α ∈ G then this maps canonically to αGp ∈ G/Gp.
If α is defined from the elementary weights for a
Runge-Kutta method then order p can be written as
αGp = EGp.
Effective order p is defined by the existence of β such
that
βαGp = EβGp.
Runge–Kutta methods for ordinary differential equations – p. 31/48
The computational interpretation of this idea is that we
carry out a starting step corresponding to β
Runge–Kutta methods for ordinary differential equations – p. 32/48
The computational interpretation of this idea is that we
carry out a starting step corresponding to β and a
finishing step corresponding to β −1
Runge–Kutta methods for ordinary differential equations – p. 32/48
The computational interpretation of this idea is that we
carry out a starting step corresponding to β and a
finishing step corresponding to β −1 , with many steps in
between corresponding to α.
Runge–Kutta methods for ordinary differential equations – p. 32/48
The computational interpretation of this idea is that we
carry out a starting step corresponding to β and a
finishing step corresponding to β −1 , with many steps in
between corresponding to α.
This is equivalent to many steps all corresponding to
βαβ −1 .
Runge–Kutta methods for ordinary differential equations – p. 32/48
The computational interpretation of this idea is that we
carry out a starting step corresponding to β and a
finishing step corresponding to β −1 , with many steps in
between corresponding to α.
This is equivalent to many steps all corresponding to
βαβ −1 .
Thus, the benefits of high order can be enjoyed by high
effective order.
Runge–Kutta methods for ordinary differential equations – p. 32/48
We analyse the conditions for effective order 4.
Without loss of generality assume β(t1 ) = 0.
(Eβ)(ti )
i
(βα)(ti )
1
α1
1
1
2
β 2 + α2
2 + β2
1
3
β 3 + α3
3 + 2β2 + β3
1
4
β 4 + β 2 α1 + α 4
6 + β2 + β4
1
5
β 5 + α5
4 + 3β2 + 3β3 + β5
1
3
6
β 6 + β 2 α2 + α 6
+
8
2 β2 + β 3 + β 4 + β 6
1
7
β 7 + β 3 α1 + α 7
12 + β2 + 2β4 + β7
1
1
8 β 8 + β 4 α1 + β 2 α2 + α 8
+
24
2 β2 + β 4 + β 8
Runge–Kutta methods for ordinary differential equations – p. 33/48
Of these 8 conditions, only 5 are conditions on α.
Runge–Kutta methods for ordinary differential equations – p. 34/48
Of these 8 conditions, only 5 are conditions on α.
Once α is known, there remain 3 conditions on β.
Runge–Kutta methods for ordinary differential equations – p. 34/48
Of these 8 conditions, only 5 are conditions on α.
Once α is known, there remain 3 conditions on β.
The 5 order conditions, written in terms of the
Runge-Kutta tableau, are
X
bi = 1
X
bi ci = 12
X
bi aij cj = 16
X
1
bi aij ajk ck = 24
X
X
bi aij cj (2ci − cj ) = 14
bi c2i (1 − ci ) +
Runge–Kutta methods for ordinary differential equations – p. 34/48
Implicit Runge–Kutta methods
Since we have the order barriers, we might ask how to
get around them.
Runge–Kutta methods for ordinary differential equations – p. 35/48
Implicit Runge–Kutta methods
Since we have the order barriers, we might ask how to
get around them. For explicit methods, solving the order
conditions becomes increasingly difficult as the order
increases
Runge–Kutta methods for ordinary differential equations – p. 35/48
Implicit Runge–Kutta methods
Since we have the order barriers, we might ask how to
get around them. For explicit methods, solving the order
conditions becomes increasingly difficult as the order
increases but everything becomes simpler for implicit
methods.
Runge–Kutta methods for ordinary differential equations – p. 35/48
Implicit Runge–Kutta methods
Since we have the order barriers, we might ask how to
get around them. For explicit methods, solving the order
conditions becomes increasingly difficult as the order
increases but everything becomes simpler for implicit
methods.
For example the following method has order 5:
0
1
4
7
10
1
1
8
1
− 100
2
7
1
14
1
8
14
25
0
32
81
3
20
5
7
250
567
5
54
Runge–Kutta methods for ordinary differential equations – p. 35/48
This idea can be taken further by introducing a full lower
triangular A matrix.
Runge–Kutta methods for ordinary differential equations – p. 36/48
This idea can be taken further by introducing a full lower
triangular A matrix.
If all the diagonal elements are equal, we get the
Diagonally-Implicit methods of R. Alexander and the
Semi-Explicit methods of S. P. Nørsett.
Runge–Kutta methods for ordinary differential equations – p. 36/48
This idea can be taken further by introducing a full lower
triangular A matrix.
If all the diagonal elements are equal, we get the
Diagonally-Implicit methods of R. Alexander and the
Semi-Explicit methods of S. P. Nørsett.
The following third order L-stable method illustrates
what is possible for DIRK methods
Runge–Kutta methods for ordinary differential equations – p. 36/48
This idea can be taken further by introducing a full lower
triangular A matrix.
If all the diagonal elements are equal, we get the
Diagonally-Implicit methods of R. Alexander and the
Semi-Explicit methods of S. P. Nørsett.
The following third order L-stable method illustrates
what is possible for DIRK methods
λ
1
2 (1 + λ)
1
λ
1
2 (1 − λ)
1
2
(−6λ
+ 16λ − 1)
4
1
2
(−6λ
+ 16λ − 1)
4
λ
1
2
(6λ
− 20λ + 5) λ
4
1
2
(6λ
− 20λ + 5) λ
4
where λ ≈ 0.4358665215 satisfies 16 − 32 λ+3λ2 −λ3 = 0.
Runge–Kutta methods for ordinary differential equations – p. 36/48
Singly-implicit Runge-Kutta methods
A SIRK method is characterised by the equation
σ(A) = {λ}.
Runge–Kutta methods for ordinary differential equations – p. 37/48
Singly-implicit Runge-Kutta methods
A SIRK method is characterised by the equation
σ(A) = {λ}. That is A has a one-point spectrum.
Runge–Kutta methods for ordinary differential equations – p. 37/48
Singly-implicit Runge-Kutta methods
A SIRK method is characterised by the equation
σ(A) = {λ}. That is A has a one-point spectrum.
For DIRK methods the stages can be computed
independently and sequentially from equations of the
form
Yi − hλf (Yi ) = a known quantity
Runge–Kutta methods for ordinary differential equations – p. 37/48
Singly-implicit Runge-Kutta methods
A SIRK method is characterised by the equation
σ(A) = {λ}. That is A has a one-point spectrum.
For DIRK methods the stages can be computed
independently and sequentially from equations of the
form
Yi − hλf (Yi ) = a known quantity
Each stage requires the same factorised matrix I − hλJ
to permit solution by a modified Newton iteration
process (where J ≈ ∂f /∂y).
Runge–Kutta methods for ordinary differential equations – p. 37/48
Singly-implicit Runge-Kutta methods
A SIRK method is characterised by the equation
σ(A) = {λ}. That is A has a one-point spectrum.
For DIRK methods the stages can be computed
independently and sequentially from equations of the
form
Yi − hλf (Yi ) = a known quantity
Each stage requires the same factorised matrix I − hλJ
to permit solution by a modified Newton iteration
process (where J ≈ ∂f /∂y).
How then is it possible to implement SIRK methods in a
similarly efficient manner?
Runge–Kutta methods for ordinary differential equations – p. 37/48
Singly-implicit Runge-Kutta methods
A SIRK method is characterised by the equation
σ(A) = {λ}. That is A has a one-point spectrum.
For DIRK methods the stages can be computed
independently and sequentially from equations of the
form
Yi − hλf (Yi ) = a known quantity
Each stage requires the same factorised matrix I − hλJ
to permit solution by a modified Newton iteration
process (where J ≈ ∂f /∂y).
How then is it possible to implement SIRK methods in a
similarly efficient manner?
The answer lies in the inclusion of a transformation to
Jordan canonical form into the computation.
Runge–Kutta methods for ordinary differential equations – p. 37/48
Suppose the matrix T transforms A to canonical form as
follows
T −1 AT = A
Runge–Kutta methods for ordinary differential equations – p. 38/48
Suppose the matrix T transforms A to canonical form as
follows
T −1 AT = A
where
A = λ(I − J)
Runge–Kutta methods for ordinary differential equations – p. 38/48
Suppose the matrix T transforms A to canonical form as
follows
T −1 AT = A
where
A = λ(I − J) = λ









1
0
−1
1
0 −1
..
..
.
.
0
0
0
0
0
0
1
..
.
0
0
··· 0
··· 0
··· 0
..
.
··· 1
· · · −1
0
0
0
..
.
0
1









Runge–Kutta methods for ordinary differential equations – p. 38/48
Consider a single Newton iteration, simplified by the use
of the same approximate Jacobian J for each stage.
Runge–Kutta methods for ordinary differential equations – p. 39/48
Consider a single Newton iteration, simplified by the use
of the same approximate Jacobian J for each stage.
Assume the incoming approximation is y0 and that we
are attempting to evaluate
y1 = y0 + h(bT ⊗ I)F
Runge–Kutta methods for ordinary differential equations – p. 39/48
Consider a single Newton iteration, simplified by the use
of the same approximate Jacobian J for each stage.
Assume the incoming approximation is y0 and that we
are attempting to evaluate
y1 = y0 + h(bT ⊗ I)F
where F is made up from the s subvectors Fi = f (Yi ),
i = 1, 2, . . . , s.
Runge–Kutta methods for ordinary differential equations – p. 39/48
Consider a single Newton iteration, simplified by the use
of the same approximate Jacobian J for each stage.
Assume the incoming approximation is y0 and that we
are attempting to evaluate
y1 = y0 + h(bT ⊗ I)F
where F is made up from the s subvectors Fi = f (Yi ),
i = 1, 2, . . . , s.
The implicit equations to be solved are
Y = e ⊗ y0 + h(A ⊗ I)F
Runge–Kutta methods for ordinary differential equations – p. 39/48
Consider a single Newton iteration, simplified by the use
of the same approximate Jacobian J for each stage.
Assume the incoming approximation is y0 and that we
are attempting to evaluate
y1 = y0 + h(bT ⊗ I)F
where F is made up from the s subvectors Fi = f (Yi ),
i = 1, 2, . . . , s.
The implicit equations to be solved are
Y = e ⊗ y0 + h(A ⊗ I)F
where e is the vector in Rn with every component equal
to 1 and Y has subvectors Yi , i = 1, 2, . . . , s
Runge–Kutta methods for ordinary differential equations – p. 39/48
The Newton process consists of solving the linear system
(Is ⊗ I − hA ⊗ J )D = Y − e ⊗ y0 − h(A ⊗ I)F
Runge–Kutta methods for ordinary differential equations – p. 40/48
The Newton process consists of solving the linear system
(Is ⊗ I − hA ⊗ J )D = Y − e ⊗ y0 − h(A ⊗ I)F
and updating
Y →Y −D
Runge–Kutta methods for ordinary differential equations – p. 40/48
The Newton process consists of solving the linear system
(Is ⊗ I − hA ⊗ J )D = Y − e ⊗ y0 − h(A ⊗ I)F
and updating
Y →Y −D
To benefit from the SI property, write
Y = (T −1 ⊗I)Y,
F = (T −1 ⊗I)F,
D = (T −1 ⊗I)D,
Runge–Kutta methods for ordinary differential equations – p. 40/48
The Newton process consists of solving the linear system
(Is ⊗ I − hA ⊗ J )D = Y − e ⊗ y0 − h(A ⊗ I)F
and updating
Y →Y −D
To benefit from the SI property, write
Y = (T −1 ⊗I)Y,
F = (T −1 ⊗I)F,
D = (T −1 ⊗I)D,
so that
(Is ⊗ I − hA ⊗ J )D = Y − e ⊗ y0 − h(A ⊗ I)F
Runge–Kutta methods for ordinary differential equations – p. 40/48
The Newton process consists of solving the linear system
(Is ⊗ I − hA ⊗ J )D = Y − e ⊗ y0 − h(A ⊗ I)F
and updating
Y →Y −D
To benefit from the SI property, write
Y = (T −1 ⊗I)Y,
F = (T −1 ⊗I)F,
D = (T −1 ⊗I)D,
so that
(Is ⊗ I − hA ⊗ J )D = Y − e ⊗ y0 − h(A ⊗ I)F
The following table summarises the costs
Runge–Kutta methods for ordinary differential equations – p. 40/48
LU factorisation
s3 N 3
Backsolves
s2 N 2
Runge–Kutta methods for ordinary differential equations – p. 41/48
without
transformation
LU factorisation
s3 N 3
Backsolves
s2 N 2
Runge–Kutta methods for ordinary differential equations – p. 41/48
without
transformation
LU factorisation
s3 N 3
Backsolves
s2 N 2
with
transformation
Runge–Kutta methods for ordinary differential equations – p. 41/48
without
transformation
with
transformation
LU factorisation
s3 N 3
N3
Backsolves
s2 N 2
sN 2
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost to a level comparable to BDF methods
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost to a level comparable to BDF methods.
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost to a level comparable to BDF methods.
Also we reduce the back substitution cost
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost to a level comparable to BDF methods.
Also we reduce the back substitution cost
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost to a level comparable to BDF methods.
Also we reduce the back substitution cost to the same
work per stage as for DIRK or BDF
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost to a level comparable to BDF methods.
Also we reduce the back substitution cost to the same
work per stage as for DIRK or BDF methods.
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost to a level comparable to BDF methods.
Also we reduce the back substitution cost to the same
work per stage as for DIRK or BDF methods.
By comparison, the additional transformation costs are
insignificant for large problems
Runge–Kutta methods for ordinary differential equations – p. 41/48
LU factorisation
Transformation
Backsolves
Transformation
without
transformation
with
transformation
s3 N 3
N3
s2 N
sN 2
s2 N
s2 N 2
In summary, we reduce the very high LU factorisation
cost to a level comparable to BDF methods.
Also we reduce the back substitution cost to the same
work per stage as for DIRK or BDF methods.
By comparison, the additional transformation costs are
insignificant for large problems .
Runge–Kutta methods for ordinary differential equations – p. 41/48
Stage order s means that
Z
s
X
aij φ(ci ) =
j=1
ci
φ(t)dt,
0
Runge–Kutta methods for ordinary differential equations – p. 42/48
Stage order s means that
Z
s
X
aij φ(ci ) =
j=1
ci
φ(t)dt,
0
for φ any polynomial of degree s − 1.
Runge–Kutta methods for ordinary differential equations – p. 42/48
Stage order s means that
Z
s
X
aij φ(ci ) =
j=1
ci
φ(t)dt,
0
for φ any polynomial of degree s − 1. This implies that
Ack−1 = k1 ck ,
k = 1, 2, . . . , s,
Runge–Kutta methods for ordinary differential equations – p. 42/48
Stage order s means that
Z
s
X
aij φ(ci ) =
j=1
ci
φ(t)dt,
0
for φ any polynomial of degree s − 1. This implies that
Ack−1 = k1 ck ,
k = 1, 2, . . . , s,
where the vector powers are interpreted component by
component.
Runge–Kutta methods for ordinary differential equations – p. 42/48
Stage order s means that
Z
s
X
aij φ(ci ) =
j=1
ci
φ(t)dt,
0
for φ any polynomial of degree s − 1. This implies that
Ack−1 = k1 ck ,
k = 1, 2, . . . , s,
where the vector powers are interpreted component by
component.
This is equivalent to
1 k
A c = c ,
k!
k 0
k = 1, 2, . . . , s
(∗)
Runge–Kutta methods for ordinary differential equations – p. 42/48
From the Cayley-Hamilton theorem
(A − λI)s c0 = 0
Runge–Kutta methods for ordinary differential equations – p. 43/48
From the Cayley-Hamilton theorem
(A − λI)s c0 = 0
and hence
s
X
i=0
s
(−λ)s−i Ai c0 = 0.
i
Runge–Kutta methods for ordinary differential equations – p. 43/48
From the Cayley-Hamilton theorem
(A − λI)s c0 = 0
and hence
s
X
i=0
s
(−λ)s−i Ai c0 = 0.
i
Substitute from (∗) and it is found that
s
X
1 s
s−i i
(−λ) c = 0.
i! i
i=0
Runge–Kutta methods for ordinary differential equations – p. 43/48
Hence each component of c satisfies
s
X 1 s x i
−
=0
i
i!
λ
i=0
Runge–Kutta methods for ordinary differential equations – p. 44/48
Hence each component of c satisfies
s
X 1 s x i
−
=0
i
i!
λ
i=0
That is
x
=0
Ls
λ
where LS denotes the Laguerre polynomial of degree s.
Runge–Kutta methods for ordinary differential equations – p. 44/48
Hence each component of c satisfies
s
X 1 s x i
−
=0
i
i!
λ
i=0
That is
x
=0
Ls
λ
where LS denotes the Laguerre polynomial of degree s.
Let ξ1 , ξ2 , . . . , ξs denote the zeros of Ls so that
ci = λξi ,
i = 1, 2, . . . , s
Runge–Kutta methods for ordinary differential equations – p. 44/48
Hence each component of c satisfies
s
X 1 s x i
−
=0
i
i!
λ
i=0
That is
x
=0
Ls
λ
where LS denotes the Laguerre polynomial of degree s.
Let ξ1 , ξ2 , . . . , ξs denote the zeros of Ls so that
ci = λξi ,
i = 1, 2, . . . , s
The question now is, how should λ be chosen?
Runge–Kutta methods for ordinary differential equations – p. 44/48
Unfortunately, to obtain A-stability, at least for orders
p > 2, λ has to be chosen so that some of the ci are
outside the interval [0, 1].
Runge–Kutta methods for ordinary differential equations – p. 45/48
Unfortunately, to obtain A-stability, at least for orders
p > 2, λ has to be chosen so that some of the ci are
outside the interval [0, 1].
This effect becomes more severe for increasingly high
orders and can be seen as a major disadvantage of these
methods.
Runge–Kutta methods for ordinary differential equations – p. 45/48
Unfortunately, to obtain A-stability, at least for orders
p > 2, λ has to be chosen so that some of the ci are
outside the interval [0, 1].
This effect becomes more severe for increasingly high
orders and can be seen as a major disadvantage of these
methods.
We will look at two approaches for overcoming this
disadvantage.
Runge–Kutta methods for ordinary differential equations – p. 45/48
Unfortunately, to obtain A-stability, at least for orders
p > 2, λ has to be chosen so that some of the ci are
outside the interval [0, 1].
This effect becomes more severe for increasingly high
orders and can be seen as a major disadvantage of these
methods.
We will look at two approaches for overcoming this
disadvantage.
However, we first look at the transformation matrix T for
efficient implementation.
Runge–Kutta methods for ordinary differential equations – p. 45/48
Define the matrix T as follows:

L0 (ξ1 ) L1 (ξ1 ) L2 (ξ1 )
 L (ξ ) L (ξ ) L (ξ )
1 2
2 2
 0 2
 L (ξ ) L (ξ ) L (ξ )
T = 0 3
1 3
2 3

..
..
..

.
.
.
L0 (ξs ) L1 (ξs ) L2 (ξs )
· · · Ls−1 (ξ1 )
· · · Ls−1 (ξ2 )
· · · Ls−1 (ξ3 )
..
.
· · · Ls−1 (ξs )







Runge–Kutta methods for ordinary differential equations – p. 46/48
Define the matrix T as follows:

L0 (ξ1 ) L1 (ξ1 ) L2 (ξ1 )
 L (ξ ) L (ξ ) L (ξ )
1 2
2 2
 0 2
 L (ξ ) L (ξ ) L (ξ )
T = 0 3
1 3
2 3

..
..
..

.
.
.
L0 (ξs ) L1 (ξs ) L2 (ξs )
· · · Ls−1 (ξ1 )
· · · Ls−1 (ξ2 )
· · · Ls−1 (ξ3 )
..
.
· · · Ls−1 (ξs )







It can be shown that for a SIRK method
T −1 AT = λ(I − J)
Runge–Kutta methods for ordinary differential equations – p. 46/48
There are two ways in which SIRK methods can be
generalized
In the first of these we add extra diagonally implicit
stages so that the coefficient matrix looks like this:
b 0
A
,
W λI
b is
where the spectrum of the p × p submatrix A
b = {λ}
σ(A)
For s − p = 1, 2, 3, . . . we get improvements to the
behaviour of the methods
Runge–Kutta methods for ordinary differential equations – p. 47/48
A second generalization is to replace “order” by
“effective order”.
Runge–Kutta methods for ordinary differential equations – p. 48/48
A second generalization is to replace “order” by
“effective order”.
This allows us to locate the abscissae where we wish.
Runge–Kutta methods for ordinary differential equations – p. 48/48
A second generalization is to replace “order” by
“effective order”.
This allows us to locate the abscissae where we wish.
In “DESIRE” methods:
Diagonally Extended Singly Implicit Runge-Kutta
methods using Effective order
these two generalizations are combined.
Runge–Kutta methods for ordinary differential equations – p. 48/48
A second generalization is to replace “order” by
“effective order”.
This allows us to locate the abscissae where we wish.
In “DESIRE” methods:
Diagonally Extended Singly Implicit Runge-Kutta
methods using Effective order
these two generalizations are combined.
This seems to be as far as we can go in constructing
efficient and accurate singly-implicit Runge-Kutta
methods.
Runge–Kutta methods for ordinary differential equations – p. 48/48
Download