Tải bản đầy đủ (.pdf) (35 trang)

Numerical Methods for Ordinary Dierential Equations Episode 7 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (289.59 KB, 35 trang )

194 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
We can eliminate the factor c
6
−1 because, if it were zero, then it would follow
that c
3
=
1
3
and that c
4
= 1, which are consistent with the vanishing of the
second factor, which leads to
c
4
=
c
3
2 −10c
3
+15c
2
3
. (326s)
Having chosen c
3
, and therefore c
4
, together with arbitrary c
2
, c


5
and c
6
and
the known value c
7
= 1, excluding some impossible cases, we can solve for
the components of b
from (326a)–(326g). We can then solve for a
54
, a
64
and
a
65
from the consistent equations (326h)–(326k). We then solve for a
32
from
(326l) and then for a
42
, a
43
, a
52
, a
53
, a
62
and a
63

from (326l) with i =4,5, 6
and from (326o), (326p) and (326q). It remains to compute the first column
of A from (326m) and the last row from (326n).
The following example is of a method derived from these equations:
0
1
3
1
3
2
3
0
2
3
1
3
1
12
1
3

1
12
5
6
25
48

55
24

35
48
15
8
1
6
3
20

11
24

1
8
1
2
1
10
1 −
261
260
33
13
43
156

118
39
32
195

80
39
13
200
0
11
40
11
40
4
25
4
25
13
200
.
It is possible to derive sixth order methods in other ways. For example,
Hu
ˇ
ta used the C(3) with subsidiary conditions for stages 2 and 3. However,
he used s = 8, and this gave him more freedom in the choice of c.
The alternative example of a method of this order that we give uses C(2)
and D(2) with subsidiary conditions to repair the gaps in the order conditions
caused by C(2) not applying to stage 2 and D(2) not holding for stage 6. It
is necessary to choose b
2
= 0, and to require that c
3
, c
4

and c
5
are related so
that the right-hand side vanishes in the equations
7

i,j=1
b
i
(1 −c
i
)(c
i
− c
5
)a
ij
c
j
(c
j
− c
3
)=
1
90

c
3
40


c
5
60
+
c
3
c
5
24
,
7

i=1
b
i
(1 −c
i
)(c
i
− c
3
)(c
i
− c
4
)(c
i
− c
5

)c
i
=
1
30

c
3
+ c
4
+ c
5
20
+
c
3
c
4
+ c
3
c
5
+ c
4
c
5
12

c
3

c
4
c
5
6
,
RUNGE–KUTTA METHODS 195
because the left-hand sides are identically zero. A method derived along these
lines is as follows:
0
2
5
2
5
4
5
0
4
5
2
9
169
1458
110
729

65
1458
8
15


44
675

88
135
76
351
336
325
0
21
106
0 −
105
689

324
689
45
106
1 −
2517
4864

55
38
10615
31616
567

7904
7245
4864
2597
2432
00
1375
4992
6561
20384
3375
12544
53
768
19
294
.
327 Methods of orders greater than 6
Methods with order 7 must have at least nine stages. It is possible to construct
such a method using the principles of Subsection 323, extending the approach
used in Subsection 326. The abscissa vector is chosen as
c =[
0
1
3
c
4
2
3
c

4
c
4
c
5
c
6
c
7
01
]
,
and the orders of stages numbered 4, 5, ,9 are forced to be 3. To achieve
consistency of the conditions

b
i
(1 −c
i
)a
ij
a
jk
c
k
(c
k
− c
4
)(c

k
− c
5
)=
1
4·5·6·7

c
4
+ c
5
3·4·5·6
+
c
4
c
5
2·3·4·5
,

b
i
(1 −c
i
)a
ij
c
j
(c
j

− c
4
)(c
j
− c
5
)(c
j
− c
6
)=
1
5·6·7

c
4
+ c
5
+ c
6
4·5·6
+
c
4
c
5
+ c
4
c
6

+ c
5
c
6
3·4·5

c
4
c
5
c
6
2·3·4
,

b
i
(1 −c
i
)c
i
a
ij
c
j
(c
j
− c
4
)(c

j
− c
5
)=
1
4·6·7

c
4
+ c
5
3·5·6
+
c
4
c
5
2·4·5
,
it is found that
c
6
=
u −12v +7uv
3 −12u +24v +14u
2
− 70uv + 105v
2
,
where u = c

4
+ c
5
and v = c
4
c
5
.Thevalueofc
7
is selected to ensure that

1
0
x(1 − x)(x − c
4
)(x − c
5
)(x − c
6
)(x − c
7
)dx =0.
196 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
The tableau for a possible method derived along these lines is
0
1
6
1
6
1

3
0
1
3
1
2
1
8
0
3
8
2
11
148
1331
0
150
1331

56
1331
2
3

404
243
0 −
170
27
4024

1701
10648
1701
6
7
2466
2401
0
1242
343

19176
16807

51909
16807
1053
2401
0
5
154
00
96
539

1815
20384

405
2464

49
1144
1 −
113
32
0 −
195
22
32
7
29403
3584

729
512
1029
1408
21
16
000
32
105
1771561
6289920
243
2560
16807
74880
77
1440

11
270
.
Order 8 requires 11 stages, and methods of this order were derived by Curtis
(1970)and Cooper and Verner (1972). In each case the abscissae were based
on the Lobatto quadrature formula with three internal points. We quote the
method of Cooper and Verner in Table 327(I).
Although order 9 has not attracted much interest, and it is unknown how
many stages are required to achieve this order, order 10 has posed a challenge.
In Curtis (1975) a method of order 10 was presented with 18 stages. However,
using an ingenious combination of various simplifying assumptions, Hairer
(1978) accomplished this feat in 17 stages. It is still not known if fewer stages
are possible.
Exercises 32
32.1 Find a method with s = p =3suchthatc =[0,
1
2
, 1].
32.2 Find a method with s = p =3suchthatc =[0,
1
3
, 1].
32.3 Find a method with s = p =4suchthatb
1
=0andc
2
=
1
5
.

32.4 Find a method with s = p =4suchthatb
2
=0andc
2
=
1
4
.
32.5 Find a method with s = p =4suchthatb
1
=0andc
3
=0.
32.6 Show that Lemma 322A can be used to prove that c
4
=1,ifs = p ≥ 4.
32.7 Show that Lemma 322A can be used to prove that c
5
=1,ifs = p ≥ 5
leading to an alternative proof of Theorem 324B.
RUNGE–KUTTA METHODS 197
Table 327(I) Tableau for Cooper–Verner eighth order method
0
1
2
1
2
1
2
1

4
1
4
7+

21
14
1
7
−7−3

21
98
21+5

21
49
7+

21
14
11+

21
84
0
18+4

21
63

21−

21
252
1
2
5+

21
48
0
9+

21
36
−231+14

21
360
63−7

21
80
7−

21
14
10−

21

42
0
−432+92

21
315
633−145

21
90
−504+115

21
70
63−13

21
35
7−

21
14
1
14
00 0
14−3

21
126
13−3


21
63
1
9
1
2
1
32
00 0
91−21

21
576
11
72
−385−75

21
1152
63+13

21
128
7+

21
14
1
14

00 0
1
9
−733−147

21
2205
515+111

21
504
−51−11

21
56
132+28

21
245
1 00 0 0
−42+7

21
18
−18+28

21
45
−273−53


21
72
301+53

21
72
28−28

21
45
49−7

21
18
1
20
00 0 0 0 0
49
180
16
45
49
180
1
20
198 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
33 Runge–Kutta Methods with Error Estimates
330 Introduction
Practical computations with Runge–Kutta methods usually require a means
of local error estimation. This is because stepsizes are easy to adjust so as

to follow the behaviour of the solution, but the optimal sequence of stepsizes
depends on the local truncation error. Of course, the exact truncation error
cannot realistically be found, but asymptotically correct approximations to
it can be computed as the integration proceeds. One way of looking at this
is that two separate approximations to the solution at a step value x
n
are
found. Assuming that the solution value at the previous point is regarded
as exact, because it is the local error that is being approximated, denote the
two solutions found at the current point by y
n
and y
n
. Suppose the two
approximations have orders p and q, respectively, so that
y
n
= y(x
n
)+O(h
p+1
), y
n
= y(x
n
)+O(h
q+1
).
Then, if q>p,
y

n
− y
n
= y(x
n
) − y
n
+ O(h
p+2
),
which can be used as an approximation to the error committed in the step.
Furthermore, the approximation becomes increasingly accurate as h becomes
small. Thus y
n
− y
n
is used as the error estimator.
Even though we emphasize the construction of method pairs for which
q = p+1, and for which it is y
n
(rather than the asymptotically more accurate
approximation y
n
) that is propagated as the numerical approximation at x
n
,
customary practice is to use the higher order as the propagated value. This
is sometimes interpreted as ‘local extrapolation’, in the sense that the error
estimate is added to the approximate solution as a correction. While the
estimator is still used as a stepsize controller, it is now no longer related

asymptotically to the local truncation error.
We review the ‘deferred approach to the limit’ of Richardson (1927) and
then consider specially constructed Runge–Kutta tableaux, which combine
two methods, with orders one apart, built into one. The classical method
of this type is due to Merson (1957), but we also consider built-in estimators
due to Fehlberg (1968, 1969), Verner (1978) and Dormand and Prince (1980).
Some of the methods derived for the author’s previous book (Butcher, 1987)
will also be recalled.
331 Richardson error estimates
Richardson extrapolation consists of calculating a result in a manner that
depends on a small parameter, and for which the error in the calculation
varies systematically as the parameter varies. By using a sequence of values
of the parameter, much of the effect of the errors can be eliminated so that
RUNGE–KUTTA METHODS 199
improved accuracy results. In numerical quadrature, for example, the method
of Romberg (1955) is based on calculating an integral I =

b
a
φ(x)dx using
the trapezoidal rule with a stepsize h equal to an integer divisor of b −a.For
a single choice of h, the result computed can be expanded by an asymptotic
formula of the form
T (h)=I + C
1
h
2
+ C
2
h

4
+ ··· ,
so that, using a sequence h = H, 2
−1
H, 2
−2
H, , we arrive at the
approximations T
0
= T (H), T
1
= T (
1
2
H), T
2
= T (
1
4
H), with expansions
T
0
= I + C
1
H
2
+ C
2
H
4

+ ··· ,
T
1
= I +
1
4
C
1
H
2
+
1
16
C
2
H
4
+ ··· ,
T
2
= I +
1
16
C
1
H
2
+
1
256

C
2
H
4
+ ··· ,
.
.
.
.
.
.
By forming
T
01
=
4
3
T
1

1
3
T
0
,
T
12
=
4
3

T
2

1
3
T
1
,
.
.
.
.
.
.
we obtain an ‘improved’ sequence in which the C
1
H
2
terms are eliminated
from the asymptotic expansions so that convergence towards the exact result
I is more rapid as terms in the sequence are calculated. Similarly, a second
sequence of improved approximations can be found from
T
012
=
16
15
T
12


1
15
T
01
,
T
123
=
16
15
T
23

1
15
T
12
,
.
.
.
.
.
.
This idea has an application to Runge–Kutta methods for ordinary
differential equations on the small scale of a single step, repeated with
two steps and half the original value of h.Lety
n−1
denote an incoming
approximation for y(x

n−1
)andy
n
the solution computed as an approximation
to y(x
n
)=y(x
n−1
+ h) using a Runge–Kutta method with tableau
200 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
0
c
2
a
21
c
3
a
31
a
32
.
.
.
.
.
.
.
.
.

.
.
.
c
s
a
s1
a
s2
··· a
s,s−1
b
1
b
2
··· b
s−1
b
s
.
Repeating the calculation with h replaced by
1
2
h but carrying out two steps,
rather than only one, is equivalent to taking a single step with the original h,
but using the tableau
0
1
2
c

2
1
2
a
21
1
2
c
3
1
2
a
31
1
2
a
32
.
.
.
.
.
.
.
.
.
.
.
.
1

2
c
s
1
2
a
s1
1
2
a
s2
···
1
2
a
s,s−1
1
2
1
2
b
1
1
2
b
2
···
1
2
b

s−1
1
2
b
s
1
2
+
1
2
c
2
1
2
b
1
1
2
b
2
···
1
2
b
s−1
1
2
b
s
1

2
a
21
1
2
+
1
2
c
3
1
2
b
1
1
2
b
2
···
1
2
b
s−1
1
2
b
s
1
2
a

31
1
2
a
32
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1

2
+
1
2
c
s
1
2
b
1
1
2
b
2
···
1
2
b
s−1
1
2
b
s
1
2
a
s1
1
2
a

s2
···
1
2
a
s,s−1
1
2
b
1
1
2
b
2
···
1
2
b
s−1
1
2
b
s
1
2
b
1
1
2
b

2
···
1
2
b
s−1
1
2
b
s
Denote the result computed by this 2s-stage method by y
n
, and note that if
the local truncation error in y
n
is C(x
n
)h
p+1
+ O(h
p+2
), so that
y
n
= y(x
n
) − C(x
n
)h
p+1

+ O(h
p+2
), (331a)
then
y
n
= y(x
n
) − 2
−p
C(x
n
)h
p+1
+ O(h
p+2
), (331b)
because the error in computing y
n
is 2
−p−1
C(x
n
)h
p+1
+ O(h
p+2
) contributed
from each of two steps.
From the difference of (331a) and (331b) we find

y
n
− y
n
=(1−2
−p
)C(x
n
)h
p+1
+ O(h
p+2
),
so that the local truncation error in y
n
can be approximated by
(1 − 2
−p
)
−1
(y
n
− y
n
). (331c)
RUNGE–KUTTA METHODS 201
This seems like an expensive way of computing the error in the result
computed using an s-stage method, because the additional computations
required for the estimation take twice as long as the result itself. However, the
additional cost becomes more reasonable when we realize that it is not y

n
but
y
n
that should be propagated. The additional cost on this basis is something
like 50%. Actually, it is slightly less than this because the calculation of the
derivative of y
n−1
is shared by each of the two methods, and needs to be
carried out only once.
332 Methods with built-in estimates
Instead of using the Richardson technique it is possible to combine two
methods into one by constructing a tableau with common stages but two
alternative output coefficient vectors. The following method, due to Merson
(1957), seems to have been the first attempt at constructing this type of
stepsize control mechanism:
0
1
3
1
3
1
3
1
6
1
6
1
2
1

8
0
3
8
1
1
2
0 −
3
2
2
1
6
00
2
3
1
6
1
10
0
3
10
2
5
1
5
.
The interpretation of this tableau, which contains two b
vectors, is that it

combines two methods given by
0
1
3
1
3
1
3
1
6
1
6
1
2
1
8
0
3
8
1
1
2
0 −
3
2
2
1
6
00
2

3
1
6
(332a)
and by
0
1
3
1
3
1
3
1
6
1
6
1
2
1
8
0
3
8
1
1
2
0 −
3
2
2

1
10
0
3
10
2
5
1
5
.
(332b)
202 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
10
2
10
3
10
4
10
−2
10
−6
10
−10
number of f evaluations
global error
e =0.1
e =0.5
e =0.9
Figure 332(i) Two alternative stepsize control mechanisms based on

Richardson (dashed line) and built-in (solid line) error estimates
In Merson’s derivation of this method, (332a) was shown to be of order 4.
Although (332b) has order only 3, it becomes effectively of order 5 if used to
solve linear problems with constant coefficients. The difference between the
results computed by the two methods can, it is suggested, be used as a local
error estimator. To show how well the method works in practice, an experiment
using this technique has been carried out and the results summarized in
Figure 332(i). The three problems attempted are the Kepler orbit problem
with eccentricities e =0.1, e =0.5ande =0.9, respectively.
333 A class of error-estimating methods
In the search for efficient step-control mechanisms, we consider (s + 1)-stage
methods of the form
0
c
2
a
21
c
3
a
31
a
32
.
.
.
.
.
.
.

.
.
.
.
.
c
s
a
s1
a
s2
··· a
s,s−1
1 a
s+1,1
a
s+1,2
··· a
s+1,s−1
a
s+1,s
b
1
b
2
··· b
s−1
b
s
b

s+1
(333a)
with order p + 1, with the coefficients chosen so that the embedded method
RUNGE–KUTTA METHODS 203
0
c
2
a
21
c
3
a
31
a
32
.
.
.
.
.
.
.
.
.
.
.
.
c
s
a

s1
a
s2
··· a
s,s−1
a
s+1,1
a
s+1,2
··· a
s+1,s−1
a
s+1,s
(333b)
has order p.
Even though this method formally has s + 1 stages, in terms of
computational cost it can be regarded as having only s, because the derivative
calculation needed for stage s+ 1 is identical to the first derivative calculation
in the succeeding step. It is convenient to write order conditions for the
embedded method pair in terms of the number B = b
s+1
and the artificial
tableau
0
c
2
a
21
c
3

a
31
a
32
.
.
.
.
.
.
.
.
.
.
.
.
c
s
a
s1
a
s2
··· a
s,s−1
b
1
b
2
··· b
s−1

b
s
.
(333c)
An elementary weight, computed using this tableau, differs from that of the
full method by a single term. This additional term is formed by multiplying
B by the derivative of the order p result found by the method represented by
(333b). This enables us to form modified order conditions for (333c), which
will ensure that both (333a) and (333b) satisfy the correct conditions. We
denote the elementary weights for (333c) by Φ(t).
Theorem 333A If (333b) has order p and (333a) has order p +1 and
B = b
s+1
,then
Φ(t)=
1 − Br(t)
γ(t)
,r(t) ≤ p +1. (333d)
Conversely, if (333d) holds with c
s
=1and B =0and, in addition,
b
s+1
= B, (333e)
a
s+1,s
= B
−1
b
s

(1 − c
s
), (333f)
a
s+1,j
= B
−1

b
j
(1 − c
j
) −
s

i=1
b
i
a
ij

,j=1, 2, ,s− 1, (333g)
then (333b) has order p and (333a) has order p +1.
204 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
Proof. For a given tree t,let

Φ(t) denote the elementary weight for (333a) and
Φ(t) the elementary weight for (333b). Because the latter method has order
p, it follows that for a tree t =[t
1

t
2
···t
m
], with order not exceeding p +1,we
have
Φ(t
i
)=1/γ(t
i
), for i =1, 2, ,m. Hence, for a method identical with
(333a) except for b
replaced by the basis vector e
s+1
, the elementary weight
corresponding to t will be
m

i=1
1
γ(t
i
)
=
r(t)
γ(t)
.
Adding B multiplied by this quantity to Φ(t) gives the result
Φ(t)+B
r(t)

γ(t)
=

Φ(t)=
1
γ(t)
,
which is equivalent to (333d).
To prove the converse, we first note that, because B = 0, the previous
argument can be reversed. That is, if (333b) has order p then (333d) implies
that (333a) has order p + 1. Hence, it is only necessary to prove that (333b)
has order p.WecalculateΦ(t), for r(t) ≤ p as follows, where we have written
χ
i
(t) for the coefficient of b
i
in Φ(t)
Φ(t)=B
−1
s

j=1
b
j
(1 − c
j

j
(t) − B
−1

s

i=1
s−1

j=1
b
i
a
ij
χ
j
(t)
= B
−1
(Φ(t) − Φ(tτ ) − Φ(τt))
= B
−1

1 − Br(t)
γ(t)

r(t)(1 − B(1 + r(t)))
(1 + r(t))γ(t)

1 − B(1 + r(t))
(1 + r(t))γ(t)

=
1

γ(t)
. 
Although the derivation is carried out from a modified version of the order
conditions, it is convenient to display a particular method in the format
0
c
2
a
21
c
3
a
31
a
32
.
.
.
.
.
.
.
.
.
.
.
.
c
s
a

s1
a
s2
··· a
s,s−1
b
1
b
2
··· b
s−1
b
s
d
1
d
2
··· d
s−1
d
s
,
where
[
d
1
d
2
··· d
s−1

d
s
]=[
b
1
−a
s1
b
2
−a
s2
··· b
s−1
−a
s,s−1
b
s
]
RUNGE–KUTTA METHODS 205
is the vector of coefficients in the proposed error estimator. That is,
h

s
i=1
d
i
f(Y
i
) is used to evaluate the difference between the order p
approximation y

n−1
+ h

s
i=1
a
s+1,i
f(Y
i
) and the supposedly more accurate
approximation of order p +1 given by y
n−1
+ h

s
i=1
b
i
f(Y
i
). The dashed line
above row number s of the tableau is intended to indicate that the row below
it is the approximation to be propagated and, of course, the dashed line below
the b
vector separates the order p+1 approximation from the error estimator.
Now let us look at some example of these embedded methods. Methods of
orders 1 and 2 are easy to derive and examples of each of these are as follows:
0
1 1
1

2
1
2

1
2
1
2
and
0
1
2
1
2
1
2
0
1
2
1 00 1
1
6
1
3
1
3
1
6
1
6

1
3

2
3
1
6
.
Observe that for the second order method, the third order method in which
it is embedded is actually the classical fourth order method.
Order 3 embedded in order 4 requires s = 4 stages. From the modified order
conditions we find that
b
3
(c
3
− c
4
)c
3
(c
3
− c
2
)=

1
4
− B


−(c
2
+ c
4
)

1
3
− B

+c
2
c
4

1
2
− B

, (333h)
b
4
a
43
c
3
(c
3
− c
2

)=

1
12

B
3

− c
2

1
6

B
2

, (333i)
b
3
(c
3
− c
4
)a
32
c
2
=


1
8

B
2

− c
4

1
6

B
2

, (333j)
b
4
a
43
a
32
c
2
=

1
24

B

6

, (333k)
so that, equating the products (333h)×(333k) and (333i)×(333j) and
simplifying, we find the consistency condition
c
4
=
1 − 7B +12B
2
1 − 6B +12B
2
.
For example, choosing B =
1
12
to give c
4
=
6
7
, together with c
2
=
2
7
and
c
3
=

4
7
, yields the tableau
206 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
0
2
7
2
7
4
7

8
35
4
5
6
7
29
42

2
3
5
6
1
1
6
1
6

5
12
1
4
11
96
7
24
35
96
7
48
1
12

5
96
1
8

5
96

5
48
1
12
.
Order 4 embedded in order 5 requires s = 6. That is, there are seven stages
overall, but the last stage derivative is identical to the first stage derivative

for the following step. To derive a method of this type, make the simplifying
assumption
6

j=1
a
ij
c
j
=
1
2
c
2
i
,i=2,
together with the subsidiary conditions
b
2
=
6

i=3
b
i
a
i2
=
6


i=3
b
i
c
i
a
i2
=
6

i=4
i−1

j=3
b
i
a
ij
a
j2
=0.
Also, impose order conditions for the trees
but instead of
the corresponding conditions for the trees
, use linear
combinations as follows:

6≥i>j≥4
b
i

a
ij
c
j
(c
j
− c
3
)=

1
12

1
3
B

− c
3

1
6

1
2
B

, (333l)

5≥i≥5

b
i
c
i
(c
i
− c
6
)(c
i
− c
4
)(c
i
−c
3
)=

1
5
−B

− (c
6
+ c
4
+ c
3
)


1
4
− B

+(c
6
c
4
+ c
6
c
3
+ c
4
c
3
)

1
3
−B

−c
6
c
4
c
3

1

2
− B

,
(333m)

5≥i>j≥4
b
i
(c
i
−c
6
)a
ij
c
j
(c
j
− c
3
)=

1
15

1
3
B


− c
6

1
12

1
3
B

−c
3

1
8

1
2
B

+ c
6
c
3

1
6

1
2

B

,
(333n)

6≥i>j≥5
b
i
a
ij
c
j
(c
i
− c
4
)(c
j
− c
3
)=

1
20

1
4
B

− (c

4
+ c
3
)

1
12

1
3
B

+c
4
c
3

1
6

1
2
B

,
(333o)

6≥i>j>k≥4
b
i

a
ij
a
jk
c
k
(c
k
− c
3
)=

1
60

1
12
B

− c
3

1
24

1
6
B

. (333p)

RUNGE–KUTTA METHODS 207
The left-hand sides of (333m)–(333p) consist of only a single term and we
see that the product of (333m) and (333p) is equal to the product of (333n)
and (333o). Thus we obtain consistency conditions for the values of a
65
and
a
54
by comparing the products of the corresponding right-hand sides. After
considerable manipulation and simplification, we find that this consistency
condition reduces to
c
6
=1−
q
0
B
q
0
− q
1
B + q
2
B
2
, (333q)
with
q
0
=10c

2
3
c
4
+2c
4
− 8c
3
c
4
− c
3
,
q
1
=60c
2
3
c
4
− 56c
3
c
4
+16c
4
− 8c
3
,
q

2
= 120c
2
3
c
4
− 120c
3
c
4
+40c
4
− 20c
3
.
Construction of the method consists of selecting c
2
, c
3
, c
4
, c
5
and B;choosing
c
6
in accordance with (333q); evaluating a
65
and a
54

from the consistent
equations (333n), (333o) and (333p); and then evaluating a
64
from (333l).
The remaining coefficients are then evaluated using the remaining conditions
that have been stated.
An example of a method in this family is
0
1
4
1
4
1
4
1
8
1
8
1
2
0 −
1
2
1
13
20
13
200

299

1000
78
125
13
50
4
5
548
7475
688
2875
572
2875

88
575
132
299
1
37
312
0
4
33
8
9

100
117
575

792
41
520
0
58
165
16
135
50
351
575
2376
1
15

31
780
0
38
165

104
135
350
351

575
1188
1
15

.
For p =5,thatis,afifthordermethodembeddedwithinasixthorder
method, s = 8 seems to be necessary. We present a single example of a method
satisfying these requirements. For all stages except the second, the stage order
is at least 2, and for stages after the third, the stage order is at least 3. Under
these assumptions, together with subsidiary conditions, it is found that for
consistency, a relation between c
4
, c
5
, c
6
, c
8
and B must hold. Given that
these are satisfied, the derivation is straightforward but lengthy and will not
be presented here. The example of a method pair constructed in this way is
shown in the following tableau:
208 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
0
1
9
1
9
1
9
1
18
1
18

1
6
1
24
0
1
8
1
3
1
6
0 −
1
2
2
3
1
2
15
8
0 −
63
8
7 −
1
2
3
4

93

22
0
24921
1408

10059
704
735
1408
735
704
17
19
86547313055
10295610642
0 −
96707067
2867062
15526951598
571978869
27949088
81711267

452648800
245133801
270189568
467982711
1
98
765

00 −
9
83
1071
1600

11
75
64
225
390963
2257600
188
3315
00
1593
7553
2943
20800
197
975
576
2275
2476099
29348800
2
39

142
1989

00
2412
7553

549
1040
68
195

128
4095

130321
1467440
2
39
334 The methods of Fehlberg
Early attempts to incorporate error estimators into Runge–Kutta methods are
exemplified by the work of Fehlberg (1968, 1969). In writing the coefficients
of methods from this paper, a tabular form is used as follows:
c
A
b

b
d
.
The significance of this augmented tableau is that
c
A

b
is a Runge–Kutta method of order p, while
c
A

b
is a Runge–Kutta method of order p + 1. The additional vector d =
ˆ
b −b is
used for error estimation. The fifth order method, with additional sixth order
output for error estimation, recommended by Fehlberg, is
RUNGE–KUTTA METHODS 209
0
1
6
1
6
4
15
4
75
16
75
2
3
5
6

8
3

5
2
4
5

8
5
144
25
−4
16
25
1
361
320

18
5
407
128

11
80
55
128
0 −
11
640
0
11

256

11
160
11
256
0
1
93
640

18
5
803
256

11
160
99
256
01
31
384
0
1125
2816
9
32
125
768

5
66
00
7
1408
0
1125
2816
9
32
125
768
0
5
66
5
66

5
66
00 00−
5
66
5
66
5
66
.
We also present a similar method with p = 7. This also comes from
Fehlberg’s paper, subject to the correction of some minor misprints. The

augmented tableau is
0
2
27
2
27
1
9
1
36
1
12
1
6
1
24
0
1
8
5
12
5
12
0 −
25
16
25
16
1
2

1
20
00
1
4
1
5
5
6

25
108
00
125
108

65
27
125
54
1
6
31
300
00 0
61
225

2
9

13
900
2
3
200−
53
6
704
45

107
9
67
90
3
1
3

91
108
00
23
108

976
135
311
54

19

60
17
6

1
12
1
2383
4100
00−
341
164
4496
1025

301
82
2133
4100
45
82
45
164
18
41
0
3
205
00 0 0 −
6

41

3
205

3
41
3
41
6
41
0
1

1777
4100
00−
341
164
4496
1025

289
82
2193
4100
51
82
33
164

12
41
01
41
840
00 0 0
34
105
9
35
9
35
9
280
9
280
41
840
00
000 0 0
34
105
9
35
9
35
9
280
9
280

0
41
840
41
840

41
840
000000000−
41
840
41
840
41
840
.
The two methods presented here, along with some of the other Runge–
Kutta pairs derived by Fehlberg, have been criticized for a reason associated
with computational robustness. This is that the two quadrature formulae
characterized by the vectors b
and
ˆ
b are identical. Hence, if the differential
equation being solved is approximately equal to a pure quadrature problem,
then error estimates will be too optimistic.
210 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
Although the methods were intended by Fehlberg to be used as order p
schemes together with asymptotically correct error estimators, such methods
are commonly implemented in a slightly different way. Many numerical
analysts argue that it is wasteful to propagate a low order approximation

when a higher order approximation is available. This means that the method
(A,
ˆ
b
,c), rather than (A, b ,c), would be used to produce output values. The
order p + 1 method will have a different stability region than that of the order
p method, and this needs to be taken into account. Also there is no longer an
asymptotically correct error estimator available. Many practical codes have no
trouble using the difference of the order p and order p + 1 approximations to
control stepsize, even though it is the higher order result that is propagated.
335 The methods of Verner
The methods of Verner overcome the fault inherent in many of the Fehlberg
methods, that the two embedded methods both have the same underlying
quadrature formula. The following method from Verner (1978) consists of a
fifth order method which uses just the first six stages together with a sixth
order method based on all of the eight stages. Denote the two output coefficient
vectors by b
and

b , respectively. As usual we give the difference

b −b which
is used for error estimation purposes:
0
1
18
1
18
1
6


1
12
1
4
2
9

2
81
4
27
8
81
2
3
40
33

4
11

56
11
54
11
1 −
369
73
72

73
5380
219

12285
584
2695
1752
8
9

8716
891
656
297
39520
891

416
11
52
27
0
1
3015
256

9
4


4219
78
5985
128

539
384
0
693
3328
3
80
0
4
25
243
1120
77
160
73
700
00
57
640
0 −
16
65
1377
2240
121

320
0
891
8320
2
35
33
640
0 −
132
325
891
2240

33
320

73
700
891
8320
2
35
.
As for the Fehlberg methods, we have a choice as to whether we use the
fifth or sixth order approximation as output for propagation purposes. Even
though the sixth order choice leaves us without an asymptotically correct
local error estimator, the use of this more accurate approximation has definite
advantages. In Figure 335(i) the stability regions for the two approximations
are plotted. It is clear that stability considerations favour the higher order

method.
RUNGE–KUTTA METHODS 211
−2−4
2i
−2i
0
p =5
p =6
Figure 335(i) Stability regions of embedded Verner method with orders 5 and 6
336 The methods of Dormand and Prince
If it is accepted that in using a Runge–Kutta pair, comprising methods of
orders p and p +1,itisthehigher order member of the pair that is going to
be propagated, then it is logical to take some care over the properties of this
order p+1 method. In the methods introduced in Dormand and Prince (1980),
this point of view is adopted. The first of these method pairs, referred to by
the authors as ‘RK5(4)7M’, is designed to have a low value of the 2-norm of
the vector of sixth order error coefficients. This method has the tableau
0
1
5
1
5
3
10
3
40
9
40
4
5

44
45

56
15
32
9
8
9
19372
6561

25360
2187
64448
6561

212
729
1
9017
3168

355
33
46732
5247
49
176


5103
18656
1
35
384
0
500
1113
125
192

2187
6784
11
84
35
384
0
500
1113
125
192

2187
6784
11
84
0
5179
57600

0
7571
16695
393
640

92097
339200
187
2100
1
40

71
57600
0
71
16695

71
1920
17253
339200

22
525
1
40
.
(336a)

It is emphasized that the first of the output approximations has order p+1 = 5
and is the result propagated. This method, like those derived in Subsection
333, have the so-called FSAL (‘first same as last’) property in which the
212 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
vector b , corresponding to the output approximation, has its last component
zero and is in fact identical to the last row of A. This means that, while
this particular method has seven stages, it operates as though it only had six
because the evaluation of the seventh and last stage derivative can be retained
to serve as the first stage derivative for the subsequent step.
An alternative choice of free parameters leads to the following method:
0
2
9
2
9
1
3
1
12
1
4
5
9
55
324

25
108
50
81

2
3
83
330

13
22
61
66
9
110
1 −
19
28
9
4
1
7

27
7
22
7
1
19
200
0
3
5


243
400
33
40
7
80
19
200
0
3
5

243
400
33
40
7
80
0
431
5000
0
333
500

7857
10000
957
1000
193

2000

1
50

11
1250
0
33
500

891
5000
33
250
9
1000

1
50
.
(336b)
Although this has larger error constants overall (as measured by the 2-norm of
the sixth order error vector), it has the advantage of a longer stability interval
than that of (336a).
For comparison, a method pair with exactly six stages (but of course without
the FSAL property) was also presented in the Dormand and Prince paper.
This method, given by
0
1

5
1
5
3
10
3
40
9
40
3
5
3
10

9
10
6
5
2
3
226
729

25
27
880
729
55
729
1 −

181
270
5
2

266
297

91
27
189
55
19
216
0
1000
2079

125
216
81
88
5
56
31
540
0
190
297


145
108
351
220
1
20

11
360
0
10
63

55
72
27
40

11
280
,
seems to be less efficient than the FSAL method.
In the derivation of these method pairs, some attention is devoted to the
properties of the approximation which is not propagated. In particular, care is
taken to ensure that this approximation has an acceptable stability region. In
RUNGE–KUTTA METHODS 213
any implementation of these methods,

b does not play a direct role because
stepsize is controlled using the vector of coefficients d

=

b − b . Rescaling
this vector by a non-zero factor is then equivalent to rescaling the user-
imposed tolerance. From this point of view, the restriction of methods to those
for which the non-propagated approximation has good stability properties is
unnecessary.
Exercises 33
33.1 To overcome the perceived disadvantage of using Richardson extrapo-
lation as in Subsection 331, is it feasible to modify the method so that
a proportion of the estimated error (331c) is subtracted from the result
y
n
?
33.2 Find a problem for which the Merson method gives reasonable error
estimating performance.
33.3 Find a problem which exposes the error estimating deficiencies of the
Merson method.
33.4 Find a method of order 3 embedded in order 4, based on equations
(333h)–(333k) with B =
1
6
, c
2
=
2
3
, c
3
=

1
3
.
33.5 Find an example of a differential equation system for which the methods
given in Subsection 334 are likely to have misleading error estimates.
34 Implicit Runge–Kutta Methods
340 Introduction
The possibility that the coefficient matrix A in a Runge–Kutta method might
not be strictly lower triangular has very important consequences. These more
general methods, known as ‘implicit Runge–Kutta methods’, are difficult
to actually use, because the explicit stage-by-stage implementation scheme
enjoyed by explicit methods is no longer available and needs to be replaced
by an iterative computation. However, there are several very good reasons,
both theoretical and practical, for moving these methods into the centre of
our attention. Perhaps the most important theoretical reason for regarding
implicit methods as the standard examples of Runge–Kutta methods is the
fact that implicit methods have a group structure. We explore this in detail
in Section 38. In the explicit case, methods do not have explicit methods
as inverses, and thus explicit methods possess only a semi-group structure.
Stiff problems cannot be solved efficiently using explicit methods: this fact is
the most important practical reason for paying special attention to implicit
methods. However, there are other problem classes, such as differential-
algebraic equations, for which implicit Runge–Kutta methods also have a
vital role.
214 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
341 Solvability of implicit equations
As we have remarked, explicit evaluation of the stages is not, in general,
possible for an implicit Runge–Kutta method. However, under mild
assumptions on the smoothness of the function f it is easy to see that, for
sufficiently small h,thevaluesofY

1
, Y
2
, , Y
s
, and hence the output from
a step, exist and are unique. Suppose that f satisfies a Lipschitz condition
f(η) −f(
η)≤Lη − η
and consider the stages in a step with size h from initial value y
0
.Wecan
identify the values of Y
i
, i =1, 2, ,s, as comprising the components of a
vector in R
sN
which is a fixed point of the mapping
Y =






Y
1
Y
2
.

.
.
Y
s






→ φ(Y )=






y
0
+ h

s
i=1
a
1i
f(Y
i
)
y
0

+ h

s
i=1
a
2i
f(Y
i
)
.
.
.
y
0
+ h

s
i=1
a
si
f(Y
i
)






.

Define a metric on R
sN
by the formula
ρ(Y,
Y )=
s
max
i=1
Y
i
− Y
i
,
and estimate ρ(φ(Y ),φ(
Y )) as follows:
ρ(φ(Y ),φ(
Y )) =
s
max
i=1

s

j=1
ha
ij
f(Y
j
) − f (Y
j

)
≤|h|
s
max
i=1
s

j=1
|a
ij
|LY
j
− Y
j

≤|h|LA

s
max
j=1
Y
j
− Y
j

≤|h|LA

ρ(Y,Y ),
so that the conditions for the contraction mapping principle are satisfied as
long as

|h|≤(LA

)
−1
.
In practice, this result is of little value, because implicit Runge–Kutta
methods are usually used only for stiff problems for which L is typically
unreasonably large. In this case it is usually more efficient to use some variant
of the Newton method. We discuss this question further in Subsection 360.
RUNGE–KUTTA METHODS 215
342 Methods based on Gaussian quadrature
We recall the Legendre polynomials on the interval [0, 1]
P

0
(x)=1,
P

1
(x)=2x − 1,
P

2
(x)=6x
2
− 6x +1,
P

3
(x)=20x

3
− 30x
2
+12x − 1,
.
.
.
.
.
.
whereweusethenotationP

n
for the member of the sequence with degree
n.NotethatP

n
is related to P
n
, the Legendre polynomials on the standard
symmetric interval [−1, 1], by P

n
(x)=P
n
(2x−1). Amongst the rich collection
of properties of this polynomial sequence, we state:
Lemma 342A There exist polynomials P

n

:[0, 1] → R,ofdegreesn,for
n =0, 1, 2, with the properties that

1
0
P

m
(x)P

n
(x)dx =0,m= n, (342a)
P

n
(1) = 1,n=0, 1, 2, (342b)
Furthermore, the polynomials defined by (342a) and (342b) have the following
additional properties:
P

n
(1 − x)=(−1)
n
P

n
(x),n=0, 1, 2, , (342c)

1
0

P

n
(x)
2
dx =
1
2n +1
,n=0, 1, 2, , (342d)
P

n
(x)=
1
n!

d
dx

n
(x
2
− x)
n
,n=0, 1, 2, , (342e)
nP

n
(x)=(2x−1)(2n−1)P


n−1
(x)−(n−1)P

n−2
(x),n=2, 3, 4, ,
(342f)
P

n
has n distinct real zeros in the interval (0, 1),n=0, 1, 2, . (342g)
Proof. We give only outline proofs of these well-known results. The
orthogonality property (342a), of the polynomials defined by (342e), follows
by repeated integration by parts. The value at x = 1 follows by substituting
x =1+ξ in (342e) and evaluating the coefficient of the lowest degree term.
The fact that P

n
is an even or odd polynomial in 2x −1, as stated in (342c),
follows from (342e). The highest degree coefficients in P

n
and P

n−1
can be
compared so that nP

n
(x) − (2x − 1)(2n − 1)P


n−1
(x)isapolynomial,Q say,
of degree less than n. Because Q has the same parity as n,itisofdegree
216 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
less than n − 1. A simple calculation shows that Q is orthogonal to P

k
for
k<n− 2. Hence, (342f) follows except for the value of the P

n−2
coefficient,
which is resolved by substituting x = 1. The final result (342g) is proved by
supposing, on the contrary, that P

n
(x)=Q(x)R(x), where the polynomial
factors Q and R have degrees m<nand n − m, respectively, and where R
has no zeros in (0, 1). We now find that

1
0
P

n
(x)Q(x)dx = 0, even though the
integrand is not zero and has a constant sign. 
In preparation for constructing a Runge–Kutta method based on the zeros
c
i

, i =1, 2, ,s of P

s
, we look at the associated quadrature formula.
Lemma 342B Let c
1
, c
2
, denote the zeros of P

s
. Then there exist positive
numbers b
1
, b
2
, , b
s
such that

1
0
φ(x)dx =
s

i=1
b
i
φ(c
i

), (342h)
for any polynomial of degree less than 2s.Theb
i
are unique.
Proof. Choose b
i
, i =1, 2, ,s, so that (342h) holds for any φ of degree less
than s. Because the c
i
are distinct the choice of the b
i
is unique. To prove
that (342h) holds for degree up to 2s − 1, write
φ(x)=P

s
(x)Q(x)+R(x),
where the quotient Q and the remainder R have degrees not exceeding s −1.
We now have

1
0
φ(x)dx =

1
0
P

s
(x)Q(x)dx +


1
0
R(x)dx =0+
s

i=1
b
i
R(c
i
)=
s

i=1
b
i
φ(c
i
).
To prove the b
i
are positive, let φ(x) denote the square of the polynomial
formed by dividing P

s
(x)byx − c
i
. Substitute into (342h), and the result
follows. 

We note that the choice of the c
i
as the zeros of P

s
is the only one possible
for (342h) to hold for φ of degree as high as 2s − 1. If this were not the case,
let
S(x)=
s

i=1
(x − c
i
)
and substitute φ(x)=S(x)Q(x) for any polynomial Q of degree less than s.
It is found that S is orthogonal to all polynomials of lower degree and hence,
apart from a scale factor, is identical to P

s
.
We now consider the possibility of constructing an s-stage implicit Runge–
Kutta method with order 2s. If such a method exists, then the values of the
RUNGE–KUTTA METHODS 217
vectors c and b are known. In the case s = 2 we can explore the possibility
of choosing the only free parameters that remain, to satisfy four additional
order conditions. Surprisingly, this can be done. Write the tableau in the form
1
2



3
6
a
11
1
2


3
6
− a
11
1
2
+

3
6
1
2
+

3
6
− a
22
a
22
1

2
1
2
.
(342i)
For the trees
, , , , the order conditions are satisfied. These are just the
B(4) conditions introduced in Subsection 321. The remaining trees and the
conditions that result from substituting the values from (342i) and simplifying
are:
a
11
= a
22
,
(1 −

3)a
11
+(1+

3)a
22
=
1
2
,
a
11
= a

22
,
(1 +

3)a
11
+(1−

3)a
22
+2

3(a
2
11
− a
2
22
)=
1
2
.
These are all satisfied by a
11
= a
22
=
1
4
.

We also notice that C(2) and D(2) are satisfied by these values, and
it is natural to ask if it is possible, in general, to satisfy both C(s)and
D(s) assuming that the b
and c vectors have been chosen to satisfy the
quadrature conditions. A crucial link in the chain connecting these conditions
is E(s, s), given by (321c), and we present a result which expresses the essential
connections between them. It will be convenient to write G(η)torepresent
the fact that a given Runge–Kutta method has order η.
Theorem 342C
G(2s) ⇒ B(2s), (342j)
G(2s) ⇒ E(s, s), (342k)
B(2s) ∧ C(s) ∧ D(s) ⇒ G(2s), (342l)
B(2s) ∧ C(s) ⇒ E(s, s), (342m)
B(2s) ∧ E(s, s) ⇒ C(s), (342n)
B(2s) ∧ D(s) ⇒ E(s, s), (342o)
B(2s) ∧ E(s, s) ⇒ D(s). (342p)
Proof. The first two results (342j), (342k) are consequences of the order
conditions. Given that C(s) is true, all order conditions based on trees
containing the structure ···[τ
k−1
] ···,withk ≤ s, can be removed, as we
218 NUMERICAL METHODS FOR ORDINARY DIFFERENTIAL EQUATIONS
B(2s)
C(s)
∧ ∧


D(s)
E(s, s)
G(2s)


B(2s)
C(s)
∧ ∧


D(s)
E(s, s)
G(2s)

Figure 342(i) Schema representing Theorem 342C
saw in Subsection 321. Similarly, the condition D(s) enables us to remove
from consideration all trees of the form [τ
k−1
[···]]. Hence, if both C(s)and
D(s) are true, the only trees remaining are those associated with the trees
covered by B(2s). Hence, (342l) follows. Multiply the matrix of quantities
that must be zero according to the C(s) condition







j
a
1j
− c
1


j
a
1j
c
j

1
2
c
2
1
···

j
a
1j
c
s−1
j

1
s
c
s
1

j
a
2j

− c
2

j
a
2j
c
j

1
2
c
2
2
···

j
a
2j
c
s−1
j

1
s
c
s
2
.
.

.
.
.
.
.
.
.

j
a
sj
− c
s

j
a
sj
c
j

1
2
c
2
s
···

j
a
sj

c
s−1
j

1
s
c
s
s






by the non-singular matrix






b
1
b
2
··· b
s
b
1

c
1
b
2
c
2
··· b
s
c
s
.
.
.
.
.
.
.
.
.
b
1
c
s−1
1
b
2
c
s−1
2
··· b

s
c
s−1
s






and the result is the matrix of E(s, s) conditions. Hence, (342m) follows and,
because the matrix multiplier is non-singular, (342n) also follows. The final
results (342o) and (342p) are proved in similar way. 
A schema summarizing Theorem 342C is shown in Figure 342(i). To turn
this result into a recipe for constructing methods of order 2s we have:

×