John Butcher’s tutorials
Introduction to Runge–Kutta methods
1
Φ( t ) =
γ ( t )
Introduction to Runge–Kutta methods
Introduction
It will be convenient to consider only autonomous initial value problems y ′ ( x ) = f ( y ( x )) , f : R
N
→ R
N
.
y ( x
0
) = y
0
,
The Euler method is the simplest way of obtaining numerical approximations at using the formula x
1
= x
0
+ h, x
2
= x
1
+ h, . . .
y n
= y n
− 1
+ hf ( y n
− 1
) , h = x n
− x n
− 1
, n = 1 , 2 , . . . .
Introduction to Runge–Kutta methods
Introduction
It will be convenient to consider only autonomous initial value problems y ′ ( x ) = f ( y ( x )) , f : R
N
→ R
N
.
y ( x
0
) = y
0
,
The Euler method is the simplest way of obtaining numerical approximations at using the formula x
1
= x
0
+ h, x
2
= x
1
+ h, . . .
y n
= y n
− 1
+ hf ( y n
− 1
) , h = x n
− x n
− 1
, n = 1 , 2 , . . . .
Introduction to Runge–Kutta methods
Introduction
It will be convenient to consider only autonomous initial value problems y ′ ( x ) = f ( y ( x )) , f : R
N
→ R
N
.
y ( x
0
) = y
0
,
The Euler method is the simplest way of obtaining numerical approximations at using the formula x
1
= x
0
+ h, x
2
= x
1
+ h, . . .
y n
= y n
− 1
+ hf ( y n
− 1
) , h = x n
− x n
− 1
, n = 1 , 2 , . . . .
Introduction to Runge–Kutta methods
This method can be made more accurate by using either the mid-point quadrature formula y n
= y n − 1
+ hf y n − 1
+
1
2 hf ( y n − 1
) .
or the trapezoidal rule quadrature formula: y n
= y n
− 1
+
1
2 hf ( y n
− 1
) +
1
2 hf y n
− 1
+ hf ( y n
− 1
) .
These methods from Runge’s 1895 paper are “second order” because the error in a single step behaves like O ( h
3
).
This is in contrast to the first order Euler method where the order behaviour is O ( h
2
).
Introduction to Runge–Kutta methods
This method can be made more accurate by using either the mid-point quadrature formula y n
= y n − 1
+ hf y n − 1
+
1
2 hf ( y n − 1
) .
or the trapezoidal rule quadrature formula: y n
= y n
− 1
+
1
2 hf ( y n
− 1
) +
1
2 hf y n
− 1
+ hf ( y n
− 1
) .
These methods from Runge’s 1895 paper are “second order” because the error in a single step behaves like O ( h
3
).
This is in contrast to the first order Euler method where the order behaviour is O ( h
2
).
Introduction to Runge–Kutta methods
This method can be made more accurate by using either the mid-point quadrature formula y n
= y n − 1
+ hf y n − 1
+
1
2 hf ( y n − 1
) .
or the trapezoidal rule quadrature formula: y n
= y n
− 1
+
1
2 hf ( y n
− 1
) +
1
2 hf y n
− 1
+ hf ( y n
− 1
) .
These methods from Runge’s 1895 paper are “second order” because the error in a single step behaves like O ( h
3
).
This is in contrast to the first order Euler method where the order behaviour is O ( h
2
).
Introduction to Runge–Kutta methods
This method can be made more accurate by using either the mid-point quadrature formula y n
= y n − 1
+ hf y n − 1
+
1
2 hf ( y n − 1
) .
or the trapezoidal rule quadrature formula: y n
= y n
− 1
+
1
2 hf ( y n
− 1
) +
1
2 hf y n
− 1
+ hf ( y n
− 1
) .
These methods from Runge’s 1895 paper are “second order” because the error in a single step behaves like O ( h
3
).
This is in contrast to the first order Euler method where the order behaviour is O ( h
2
).
Introduction to Runge–Kutta methods
A few years later, Heun gave a full explanation of order 3 methods.
Shortly afterwards 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.
With the emergence of stiff problems as an important application area, attention moved to implicit methods.
Introduction to Runge–Kutta methods
A few years later, Heun gave a full explanation of order 3 methods.
Shortly afterwards 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.
With the emergence of stiff problems as an important application area, attention moved to implicit methods.
Introduction to Runge–Kutta methods
A few years later, Heun gave a full explanation of order 3 methods.
Shortly afterwards 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.
With the emergence of stiff problems as an important application area, attention moved to implicit methods.
Introduction to Runge–Kutta methods
A few years later, Heun gave a full explanation of order 3 methods.
Shortly afterwards 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.
With the emergence of stiff problems as an important application area, attention moved to implicit methods.
Introduction to Runge–Kutta methods
A few years later, Heun gave a full explanation of order 3 methods.
Shortly afterwards 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.
With the emergence of stiff problems as an important application area, attention moved to implicit methods.
Introduction to Runge–Kutta methods
Formulation of Runge–Kutta methods
In carrying out a step we evaluate s stage values
Y
1 and s stage derivatives
, Y
2
, . . . , Y s
F
1
, F
2
, . . . , F s
, using the formula F i
= f ( Y i
).
Each Y i y
0
: is defined as a linear combination of the F j
Y i
= y
0
+ h s
X a ij
F j
, i = 1 , 2 , . . . , s, j =1 and the approximation at x
1 y
1
= y
0
= x
0
+ h is found from
+ h s
X b i
F i
.
i =1 added on to
Introduction to Runge–Kutta methods
Formulation of Runge–Kutta methods
In carrying out a step we evaluate s stage values
Y
1 and s stage derivatives
, Y
2
, . . . , Y s
F
1
, F
2
, . . . , F s
, using the formula F i
= f ( Y i
).
Each Y i y
0
: is defined as a linear combination of the F j
Y i
= y
0
+ h s
X a ij
F j
, i = 1 , 2 , . . . , s, j =1 and the approximation at x
1 y
1
= y
0
= x
0
+ h is found from
+ h s
X b i
F i
.
i =1 added on to
Introduction to Runge–Kutta methods
We represent the method by a tableau: c
1 c
2 c
.
..
s a
11 a
21
.
..
a s 1 b
1 a
12 a
22 a b
.
..
s 2
2
· · · a
1 s
· · · a
2 s
· · · a
· · · b
.
..
ss s or, if the method is explicit, by the simplified tableau
0 c
2
.
..
a
21
.
..
.
..
. ..
c s a s 1 a s 2
· · · a s,s
− 1 b
1 b
2
· · · b s
− 1 b s
In each case, of c i c i
( i = 1 , 2 indicates the point
, . . .
X i
) is defined as P s j =1 a ij
. The value
= x
0
+ hc i for which Y i is a good approximation to y ( X i
).
Introduction to Runge–Kutta methods
We represent the method by a tableau: c
1 c
2 c
.
..
s a
11 a
21
.
..
a s 1 b
1 a
12 a
22 a b
.
..
s 2
2
· · · a
1 s
· · · a
2 s
· · · a
· · · b
.
..
ss s or, if the method is explicit, by the simplified tableau
0 c
2
.
..
a
21
.
..
.
..
. ..
c s a s 1 a s 2
· · · a s,s
− 1 b
1 b
2
· · · b s
− 1 b s
In each case, of c i c i
( i = 1 , 2 indicates the point
, . . .
X i
) is defined as P s j =1 a ij
. The value
= x
0
+ hc i for which Y i is a good approximation to y ( X i
).
Introduction to Runge–Kutta methods
We represent the method by a tableau: c
1 c
2 c
.
..
s a
11 a
21
.
..
a s 1 b
1 a
12 a
22 a b
.
..
s 2
2
· · · a
1 s
· · · a
2 s
· · · a
· · · b
.
..
ss s or, if the method is explicit, by the simplified tableau
0 c
2
.
..
a
21
.
..
.
..
. ..
c s a s 1 a s 2
· · · a s,s
− 1 b
1 b
2
· · · b s
− 1 b s
In each case, of c i c i
( i = 1 , 2 indicates the point
, . . .
X i
) is defined as P s j =1 a ij
. The value
= x
0
+ hc i for which Y i is a good approximation to y ( X i
).
Introduction to Runge–Kutta methods
Examples: y
1
= y
0
+ 0 hf ( y
0
) + 1 hf y
0
+
1
2 hf ( y
0
)
0
1
2
1
2
0 1
Introduction to Runge–Kutta methods
Examples: y
1
= y
0
+ 0 hf ( y
0
) + 1 hf y
0
+
1
2 hf ( y
0
)
Y
1
0
1
2
1
2
0 1
Y
2
Introduction to Runge–Kutta methods
Examples: y
1
= y
0
+ 0 hf ( y
0
) + 1 hf y
0
+
1
2 hf ( y
0
)
Y
1
0
1
2
1
2
0 1
Y
2 y
1
= y
0
+ 1
2 hf ( y
0
) + 1
2 hf y
0
+ 1 hf ( y
0
)
0
1 1
1
2
1
2
Introduction to Runge–Kutta methods
Examples: y
1
= y
0
+ 0 hf ( y
0
) + 1 hf y
0
+
1
2 hf ( y
0
)
Y
1
0
1
2
1
2
0 1
Y
2 y
1
= y
0
+ 1
2 hf ( y
0
) + 1
2 hf y
0
+ 1 hf ( y
0
)
Y
1
0
1 1
1
2
1
2
Y
2
Introduction to Runge–Kutta methods
Taylor series of exact solution
We need formulae for the second, third, . . .
, derivatives.
y ′ ( x ) = f ( y ( x )) y ′′ ( x ) = f ′ ( y ( x )) y ′ ( x )
= f ′ ( y ( x )) f ( y ( x )) y ′′′ ( x ) = f ′′ ( y ( x ))( f ( y ( x )) , y ′ ( x ))+ f ′ ( y ( x )) f ′ ( y ( x )) y ′ ( x )
= f ′′ ( y ( x ))( f ( y ( x )) , f ( y ( x )))
+ f ′ ( y ( x )) f ′ ( 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 )), f ′ = f ′ ( y ( x )), f ′′ = f ′′ ( y ( x )), . . .
.
Introduction to Runge–Kutta methods
Taylor series of exact solution
We need formulae for the second, third, . . .
, derivatives.
y ′ ( x ) = f ( y ( x )) y ′′ ( x ) = f ′ ( y ( x )) y ′ ( x )
= f ′ ( y ( x )) f ( y ( x )) y ′′′ ( x ) = f ′′ ( y ( x ))( f ( y ( x )) , y ′ ( x ))+ f ′ ( y ( x )) f ′ ( y ( x )) y ′ ( x )
= f ′′ ( y ( x ))( f ( y ( x )) , f ( y ( x )))
+ f ′ ( y ( x )) f ′ ( 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 )), f ′ = f ′ ( y ( x )), f ′′ = f ′′ ( y ( x )), . . .
.
Introduction to Runge–Kutta methods
Taylor series of exact solution
We need formulae for the second, third, . . .
, derivatives.
y ′ ( x ) = f ( y ( x )) y ′′ ( x ) = f ′ ( y ( x )) y ′ ( x )
= f ′ ( y ( x )) f ( y ( x )) y ′′′ ( x ) = f ′′ ( y ( x ))( f ( y ( x )) , y ′ ( x ))+ f ′ ( y ( x )) f ′ ( y ( x )) y ′ ( x )
= f ′′ ( y ( x ))( f ( y ( x )) , f ( y ( x )))
+ f ′ ( y ( x )) f ′ ( 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 )), f ′ = f ′ ( y ( x )), f ′′ = f ′′ ( y ( x )), . . .
.
Introduction to Runge–Kutta methods
Taylor series of exact solution
We need formulae for the second, third, . . .
, derivatives.
y ′ ( x ) = f ( y ( x )) y ′′ ( x ) = f ′ ( y ( x )) y ′ ( x )
= f ′ ( y ( x )) f ( y ( x )) y ′′′ ( x ) = f ′′ ( y ( x ))( f ( y ( x )) , y ′ ( x ))+ f ′ ( y ( x )) f ′ ( y ( x )) y ′ ( x )
= f ′′ ( y ( x ))( f ( y ( x )) , f ( y ( x )))
+ f ′ ( y ( x )) f ′ ( 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 )), f ′ = f ′ ( y ( x )), f ′′ = f ′′ ( y ( x )), . . .
.
Introduction to Runge–Kutta methods
Taylor series of exact solution
We need formulae for the second, third, . . .
, derivatives.
y ′ ( x ) = f ( y ( x )) y ′′ ( x ) = f ′ ( y ( x )) y ′ ( x )
= f ′ ( y ( x )) f ( y ( x )) y ′′′ ( x ) = f ′′ ( y ( x ))( f ( y ( x )) , y ′ ( x ))+ f ′ ( y ( x )) f ′ ( y ( x )) y ′ ( x )
= f ′′ ( y ( x ))( f ( y ( x )) , f ( y ( x )))
+ f ′ ( y ( x )) f ′ ( 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 )), f ′ = f ′ ( y ( x )), f ′′ = f ′′ ( y ( x )), . . .
.
Introduction to Runge–Kutta methods
Taylor series of exact solution
We need formulae for the second, third, . . .
, derivatives.
y ′ ( x ) = f ( y ( x )) y ′′ ( x ) = f ′ ( y ( x )) y ′ ( x )
= f ′ ( y ( x )) f ( y ( x )) y ′′′ ( x ) = f ′′ ( y ( x ))( f ( y ( x )) , y ′ ( x ))+ f ′ ( y ( x )) f ′ ( y ( x )) y ′ ( x )
= f ′′ ( y ( x ))( f ( y ( x )) , f ( y ( x )))
+ f ′ ( y ( x )) f ′ ( 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 )), f ′ = f ′ ( y ( x )), f ′′ = f ′′ ( y ( x )), . . .
.
Introduction to Runge–Kutta methods
Taylor series of exact solution
We need formulae for the second, third, . . .
, derivatives.
y ′ ( x ) = f ( y ( x )) y ′′ ( x ) = f ′ ( y ( x )) y ′ ( x )
= f ′ ( y ( x )) f ( y ( x )) y ′′′ ( x ) = f ′′ ( y ( x ))( f ( y ( x )) , y ′ ( x ))+ f ′ ( y ( x )) f ′ ( y ( x )) y ′ ( x )
= f ′′ ( y ( x ))( f ( y ( x )) , f ( y ( x )))
+ f ′ ( y ( x )) f ′ ( 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 )), f ′ = f ′ ( y ( x )), f ′′ = f ′′ ( y ( x )), . . .
.
Introduction to Runge–Kutta methods
y ′ ( x ) = f f y y ′′ ( x ) = f
′′′
′
( x ) = f ′′
+ f f
′
( f , f ) f ′ f f f f ′ f f ′ f ′ f ′′ f
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.
Introduction to Runge–Kutta methods
y ′ ( x ) = f f y y ′′ ( x ) = f
′′′
′
( x ) = f ′′
+ f f
′
( f , f ) f ′ f f f f ′ f f ′ f ′ f ′′ f
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.
Introduction to Runge–Kutta methods
y ′ ( x ) = f f y y ′′ ( x ) = f
′′′
′
( x ) = f ′′
+ f f
′
( f , f ) f ′ f f f f ′ f f ′ f ′ f ′′ f
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.
Introduction to Runge–Kutta methods
Let T denote the set of rooted trees:
T = n
, , , , , , , , . . .
o
We identify the following functions on T .
Introduction to Runge–Kutta methods
Let T denote the set of rooted trees:
T = n
, , , , , , , , . . .
o
We identify the following functions on T .
In this table, t will denote a typical tree
Introduction to Runge–Kutta methods
Let T denote the set of rooted trees:
T = n
, , , , , , , , . . .
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
Introduction to Runge–Kutta methods
Let T denote the set of rooted trees:
T = n
, , , , , , , , . . .
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
Introduction to Runge–Kutta methods
Let T denote the set of rooted trees:
T = n
, , , , , , , , . . .
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
Introduction to Runge–Kutta methods
Let T denote the set of rooted trees:
T = n
, , , , , , , , . . .
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
Introduction to Runge–Kutta methods
Let T denote the set of rooted trees:
T = n
, , , , , , , , . . .
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
Introduction to Runge–Kutta methods
Let T denote the set of rooted trees:
T = n
, , , , , , , , . . .
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 )( y
0
) elementary differential
Introduction to Runge–Kutta methods
Let T denote the set of rooted trees:
T = n
, , , , , , , , . . .
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 )( y
0
) elementary differential
We will give examples of these functions based on t =
Introduction to Runge–Kutta methods
t =
Introduction to Runge–Kutta methods
t = r ( t ) = 7
1 2 3 4
5
7
6
Introduction to Runge–Kutta methods
t = r ( t ) = 7
σ ( t ) = 8
1 2 3 4
5
7
6
Introduction to Runge–Kutta methods
t = r ( t ) = 7
σ ( t ) = 8
γ ( t ) = 63
1 2 3 4
5
7
6
1 1 1 1
3
7
3
Introduction to Runge–Kutta methods
t = r ( t ) = 7
σ ( t ) = 8
γ ( t ) = 63
α ( t ) = r ( t )!
σ ( t ) γ ( t )
= 10
1 2 3 4
5
7
6
1 1 1 1
3
7
3
Introduction to Runge–Kutta methods
t = r ( t ) = 7
σ ( t ) = 8
γ ( t ) = 63
α ( t ) = r ( t )!
σ ( t ) γ ( t )
β ( t ) = r ( t )!
σ ( t )
= 10
= 630
1 2 3 4
5
7
6
1 1 1 1
3
7
3
Introduction to Runge–Kutta methods
t = r ( t ) = 7
σ ( t ) = 8
γ ( t ) = 63
α ( t ) = r ( t )!
σ ( t ) γ ( t )
β ( t ) = r ( t )!
σ ( t )
= 10
= 630
F ( t ) = f ′′ f ′′ ( f , f ) , f ′′ ( f , f )
Introduction to Runge–Kutta methods
1 2 3 4
5
7
6
1 1 1 1
3
7
3 f f f f f
′′ f
′′ f
′′
These functions are easy to compute up to order-4 trees: t r ( t ) 1 2 3 3
σ ( t ) 1 1 2 1
γ ( t ) 1 2 3 6
4
6
4
4
1
8
4
2
12
4
1
24
α ( t ) 1 1 1 1 1 3 1 1
β ( t ) 1 2 3 6 4 24 12 24
F ( t ) f f ′ f f ′′ ( f , f ) f ′ f ′ f f
(3)
( f , f , f ) f ′′ ( f , f ′ f ) f ′ f ′′ ( f , f ) f ′ f ′ f ′ f
Introduction to Runge–Kutta methods
The formal Taylor expansion of the solution at x
0
+ h is y ( x
0
+ h ) = y
0
+
X
α ( t ) h r ( t ) r ( t )!
F ( t )( y
0
) t
∈
T
Using the known formula for α ( t ), we can write this as y ( x
0
+ h ) = y
0
+
X h r ( t )
σ ( t ) γ ( t )
F ( t )( y
0
) 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 be able to obtain conditions for a specific order of accuracy.
Introduction to Runge–Kutta methods
The formal Taylor expansion of the solution at x
0
+ h is y ( x
0
+ h ) = y
0
+
X
α ( t ) h r ( t ) r ( t )!
F ( t )( y
0
) t
∈
T
Using the known formula for α ( t ), we can write this as y ( x
0
+ h ) = y
0
+
X h r ( t )
σ ( t ) γ ( t )
F ( t )( y
0
) 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 be able to obtain conditions for a specific order of accuracy.
Introduction to Runge–Kutta methods
The formal Taylor expansion of the solution at x
0
+ h is y ( x
0
+ h ) = y
0
+
X
α ( t ) h r ( t ) r ( t )!
F ( t )( y
0
) t
∈
T
Using the known formula for α ( t ), we can write this as y ( x
0
+ h ) = y
0
+
X h r ( t )
σ ( t ) γ ( t )
F ( t )( y
0
) 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 be able to obtain conditions for a specific order of accuracy.
Introduction to Runge–Kutta methods
The formal Taylor expansion of the solution at x
0
+ h is y ( x
0
+ h ) = y
0
+
X
α ( t ) h r ( t ) r ( t )!
F ( t )( y
0
) t
∈
T
Using the known formula for α ( t ), we can write this as y ( x
0
+ h ) = y
0
+
X h r ( t )
σ ( t ) γ ( t )
F ( t )( y
0
) 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 be able to obtain conditions for a specific order of accuracy.
Introduction to Runge–Kutta methods
Taylor series of approximation
We need to evaluate various expressions which depend on the tableau for a particular method.
Introduction to Runge–Kutta methods
Taylor series of approximation
We need to evaluate various expressions which depend on the tableau for a particular method.
These are known as “elementary weights”.
Introduction to Runge–Kutta methods
Taylor series of 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 m n o t = j k i
Introduction to Runge–Kutta methods
Taylor series of 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 m n o t = j k
Φ( t ) = i s
X i,j,k,l,m,n,o =1 b i a ij a ik a jl a jm a kn a ko
Introduction to Runge–Kutta methods
Taylor series of 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 m n o t = j k i s
X
Φ( t ) = b i a ij a ik a jl a jm a kn a ko i,j,k,l,m,n,o =1
Simplify by summing over l, m, n, o : s
X
Φ( t ) = b i a ij c
2 j a ik c
2 k i,j,k =1
Introduction to Runge–Kutta methods
Now add Φ( t ) to the table of functions: t r ( t )
α ( t )
β ( t )
Φ( t )
1
1
1
P b i
2
1
2
P b i c i
3
1
3
P b i c
2 i
3
1
6
P b i a ij c j t r ( t )
α ( t )
β ( t )
Φ( t )
4
1
4
P b i c
3 i
4
3
24
P b i c i a ij c j
4
1
4
1
12
P b i a ij c
2 j
24
P b i a ij a jk c k
Introduction to Runge–Kutta methods
The formal Taylor expansion of the numerical approximation to the solution at x
0
+ h is y
1
= y
0
+
X
β ( t ) h r ( t ) r ( t )!
Φ( t ) F ( t )( y
0
) t
∈
T
Using the known formula for β ( t ), we can write this as y
1
= y
0
+
X h r ( t )
σ ( t )
Φ( t ) F ( t )( y
0
) t ∈ T
Introduction to Runge–Kutta methods
The formal Taylor expansion of the numerical approximation to the solution at x
0
+ h is y
1
= y
0
+
X
β ( t ) h r ( t ) r ( t )!
Φ( t ) F ( t )( y
0
) t
∈
T
Using the known formula for β ( t ), we can write this as y
1
= y
0
+
X h r ( t )
σ ( t )
Φ( t ) F ( t )( y
0
) t ∈ T
Introduction to Runge–Kutta methods
Order conditions
To match the Taylor series y ( x
0
+ h ) = y
0
+
X h r ( t )
σ ( t ) γ ( t )
F ( t )( y
0
) t
∈
T y
1
= y
0
+
X h r ( t )
σ ( t )
Φ( t ) F ( t )( y
0
) t ∈ T up to h p terms we need to ensure that
Φ( t ) =
1
γ ( t )
, for all trees such that r ( t ) ≤ p.
These are the “order conditions”.
Introduction to Runge–Kutta methods
Order conditions
To match the Taylor series y ( x
0
+ h ) = y
0
+
X h r ( t )
σ ( t ) γ ( t )
F ( t )( y
0
) t
∈
T y
1
= y
0
+
X h r ( t )
σ ( t )
Φ( t ) F ( t )( y
0
) t ∈ T up to h p terms we need to ensure that
Φ( t ) =
1
γ ( t )
, for all trees such that r ( t ) ≤ p.
These are the “order conditions”.
Introduction to Runge–Kutta methods
The order conditions will be illustrated in the case of explicit 4 stage methods with order 4.
t Φ( t ) =
1
γ ( t ) b
1
+ b
2
+ b
3
+ b
4
= 1 b
3 a
32 c
2 b
3 c
3 a
32 c
2 b
2 b
2 c
2 c
2
2
+ b
4 a
42 c
2 b
2 c
3
2
+ b
3 c
3
+ b
3 c
2
3
+ b
4
+ b
3 c
3
3
+ b
4 c
4 a
42 c
2 b
3 a
32 c
2
2
+ b
4
+ b
4 a
42 c
2
2
+ b
4 c
4
+ b
4 c
2
4 a
43 c
3
+ b
4 c
3
4 c
4 a
43 c
3
+ b
4 a
43 c
2
3
=
=
=
=
=
= b
4 a
43 a
32 c
2
=
1
6
1
3
1
4
1
2
1
8
1
12
1
24