Textbooks: A First Course in the Numerical Analysis of Differential Equations, by Arieh Iserles
and Introduction to Mathematical Modelling with Differential Equations, by Lennart Edsberg
c Gustaf Söderlind, Numerical Analysis, Mathematical Sciences, Lund University, 2008-09
x − cos(x) = 0
or a system
4x2 − y 2 = 0
4xy 2 − x = 1
x = g(x)
1 1 1
0 0 0
0 0.5 1 0 0.5 1 0 0.5 1
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
x[k+1] = g(x[k] )
x∗ = g(x∗ )
[k+1] L
kx −x k≤ ∗
kx[k] − x[k+1] k
1−L
Theorem If L[g] < 1, then the error in fixed point iteration
is bounded by
[k+1] L[g]
kx ∗
−x k≤ kx[k] − x[k+1] k
1 − L[g]
0.009
0.6
0.008
0.5 0.007
0.006
0.4
0.005
0.3
0.004
0.003
0.2
0.002
0.1
0.001
0 0
0 10 20 30 0 10 20 30
1.8
1.6
1.4
1.2
0.8
0.6
0.4
0.2
0
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
Newton’s method
[k]
f (x )
x[k+1] [k]
= x − ′ [k]
f (x )
x[k+1] = g(x[k] )
ε[k+1] ∼ ε[k]
y = hf (y) + ψ
kε[k+1] k
0 < lim [k] p
= Cp < ∞
k→∞ kε k
Special cases:
0 0 0 ··· 0
c2 a21 0 ··· 0
.. .. .. .. c A
. . . . or
bT
cs as1 as2 · · · 0
b1 b2 ··· bs
i
X
Simplifying assumption: ci = ai,j i = 2, 3, . . . , s
j=1
Numerical Methods for Differential Equations – p. 23/63
Simplest case: a 2-stage ERK
Y1′ = f (tn , yn )
Y2′ = f (tn + c2 h, yn + h a21 Y1′ )
yn+1 = yn + h[b1 Y1′ + b2 Y2′ ]
0 0 0
c2 a21 0 c2 = a21
b1 b2
0 0 0
1 1
2b 2b 0
1−b b
Put b = 1 to get
0 0 0
1 1
2 2 0
0 1
Y1′ = f (tn , yn )
Y2′ = f (tn + h/2, yn + hY1′ /2)
yn+1 = yn + hY2′
Y1′ = f (tn , yn )
Y2′ = f (tn + h, yn + hY1′ )
yn+1 = yn + h (Y1′ + Y2′ )/2
Y1′ = f (tn , yn )
Y2′ = f (tn + h/3, yn + hY1′ /3)
Y3′ = f (tn + 2h/3, yn + 2hY2′ /3)
yn+1 = yn + h (Y1′ + 3Y3′ )/4
Is it of order 3?
Y1′ = f (tn , yn )
Y2′ = f (tn + h/2, yn + hY1′ /2)
Y3′ = f (tn + h/2, yn + hY2′ /2)
Y4′ = f (tn + h, yn + hY3′ )
h ′
yn+1 = yn + (Y1 + 2Y2′ + 2Y3′ + Y4′ ).
6
Butcher tableau
0
1/2 1/2
1/2 0 1/2
1 0 0 1
1/6 1/3 1/3 1/6
Number of coefficients
stages s 1 2 3 4 5 6 7 8 9 10
# coefficients 1 3 6 10 15 21 28 36 45 55
Number of coefficients
stages s 1 2 3 4 5 6 7 8 9 10
# coefficients 1 3 6 10 15 21 28 36 45 55
Number of coefficients
stages s 1 2 3 4 5 6 7 8 9 10
# coefficients 1 3 6 10 15 21 28 36 45 55
makes rn ≈ TOL
Adaptivity using local error control
s
X
yn+1 = yn + h bj f (tn + cj h, Yj )
j=1
s
X
Yi = yn + h ai,j Yj′
j=1
Yj′ = f (tn + cj h, Yj )
s
X
yn+1 = yn + h bj Yj′
j=1
h2
y(tn+1 ) = y + h f + (ft + fy f ) + O(h3 )
2
yn+1 = y + h b1 f + h2 (b1 c1 ft + a11 fy f ) + O(h3 )
yn+1 = R(hλ)yn
D = {z ∈ C : |R(z)| ≤ 1}
Example
1 + 13 hλ
yn+1 = 2 1 2
yn
1 − 3 hλ + 6 (hλ)
√
with poles 2 ± i 2 ∈ C+ , and
1 2
2 1 + 9
ω
|R(iω)| = 1 2 1 4 ≤ 1
1 + 9 ω + 36 ω
yn+1 = Φ(f, h, y0 , y1 , . . . , yn )
If the values zj = z(tj ) are known for the function z(t), then
k
X
P (t) = Φj (t)zj
j=0
ym = y(tm ), m = 0, 1, . . . , n + k − 1
f (τ, y(τ )) ≈ P (τ )
−1
R tn+k
where bj = h tn+k−1 Φj (τ )dτ
yn+1 = yn + h b0 f (tn , yn )
where
Z tn+1 Z tn+1
b0 = h−1 Φ0 (τ )dτ = h−1 1dτ = 1 ⇒
tn tn
yn+1 = yn + h f (tn , yn )
AB2: for k = 2
yn+2 = yn+1 + h [b1 f (tn+1 , yn+1 ) + b0 f (tn , yn )]
Z tn+2
b0 = h−1 Φ0 (τ )dτ = −1/2
tn+1
Z tn+2
b1 = h−1 Φ1 (τ )dτ = 3/2
tn+1
3 1
yn+2 = yn+1 + h f (tn+1 , yn+1 ) − f (tn , yn )
2 2
0.8 −1
10
0.6
−2
10
0.4
−3
10
0.2
−4
0 10
0 10 20 30 0 10 20 30
0
1.2 10
1
−2
10
0.8
0.6 −4
10
0.4
−6
0.2 10
0 10 20 30 0 10 20 30
AB2: Solutions Errors
Numerical Methods for Differential Equations – p. 53/63
How do we check the order of a multistep method?
y(t) = 1, t, t2 , t3 , . . .
Insert y = tm and y ′ = mtm−1 into the formula, take tn+j = jh:
k
X k
X k
X
aj (jh)m − h bj m(jh)m−1 = hm (aj j m − bj mj m−1 )
j=0 j=0 j=0
Examples
◮ ρ(w) = (w − 1)(w − 0.5)(w + 0.9)
◮ ρ(w) = (w − 1)(w + 1)
◮ ρ(w) = (w − 1)2 (w − 0.5)
√ √
◮ ρ(w) = (w − 1)(w − 2)(w + 2)
◮ ρ(w) = (w − 1)(w2 + 0.25)
All Adams methods have ρ(w) = wk−1 (w − 1)
3 1
ρ(w) = (w − 1)(w − ) ⇒ BDF2 is convergent
2 3
15
10
−5
−10
−15
−20
−10 −5 0 5 10 15 20 25 30 35
Numerical Methods for Differential Equations – p. 61/63
A-stability of multistep methods
Applying a multistep method to the linear test equation
y ′ = λy produces a difference equation
k
X k
X
aj yn+j = hλ bj yn+j
j=0 j=0
ρ(w) − zσ(w) = 0