Lecture04 Richardson
Lecture04 Richardson
Lecture04 Richardson
Department of Mathematics @
Winter 2008
f = inline(’sin(x)’);
fppTrue = inline(’-sin(x)’);
h = 0.1;
x = pi/3;
h Abs. Error
=========================
1.0e-001 7.2e-004
1.0e-002 7.2e-006
1.0e-003 7.2e-008
1.0e-004 3.2e-009
1.0e-005 3.7e-007
1.0e-006 5.1e-005
h2 ′′′ h4 (5)
f ′ (x0 ) = N(h) − f (x0 ) − f (x0 ) − · · · ,
6 120
f (x+h)−f (x−h)
where N(h) = 2h .
The key of the process is to now replace h by h/2 in this
formula.
h2 ′′′ h4 (5)
′ h
f (x0 ) = N − f (x0 ) − f (x0 ) − · · · .
2 24 1920
h2 ′′′ h4 (5)
f ′ (x0 ) = N(h) − f (x0 ) − f (x0 ) − · · · .
6 120
Careful substraction cancels a higher order term.
h2 ′′′ h4 (5)
4f (x0 ) = 4N h2
′ − 4 24 f (x0 ) − 4 1920 f (x0 ) − · · ·
h ′′′ 2 h4 (5)
−f ′ (x0 ) = +
−N(h) 6 f (x0 ) + 120 f (x0 ) +···
h h4 (5)
3f ′ (x0 ) = 4N 2 − N(h) + 160 f (x0 ) +···
Thus,
h4 (5)
′ h N(h/2) − N(h)
f (x0 ) = N + + f (x0 ) + · · ·
2 3 160
is a O(h4 ) formula.
Notice what we have done. We took two O(h2 )
approximations and created a O(h4 ) approximation.
We did require, however, that we have functional
evaluations at h and h/2.
h4 (5)
′ h N(h/2) − N(h)
f (x0 ) = N + + f (x0 ) + · · · .
2 3 160
N( )=
N( )=
We find N(h/2) = N(0.1) = 22.228786.
h2 h4 h6 h8
M = N1 (h/2) + K1 + K2 + K3 + K4 + O(h10 )
4 16 64 256
Tim Chartier and Anne Greenbaum Richardson’s Extrapolation
Example Continued
Therefore,
4 6
h
4M = 4N1 2 + K1 h2 + K2 h4 h
+ K3 16 +···
h6
−M = −N(h)
− K1 h2 − K2 h4 − K3 16 +···
3M = 4N1 h2 − N1 (h) + K̂2 h4 + K̂3 h6 +···
N h − N (h)
h 1 2 1
Thus, M = N1 + + K̂2 h4 + K̂3 h6 .
2 3
N h − N (h)
h 1 2 1
Letting N2 = N1 + we get
2 3
M = N2 (h) + K̂ h4 + K̂3 h6 .
4 6
Again, M = N2 (h) +K̂ h
+ K̂3 h .
h 1 1
Therefore, M = N2 + K̂2 h4 + K3 h6 , which leads to:
2 16 64
16M = 16N2 h2 + K̂2 h4 + 14 K̂3 h6 + · · ·
−M = −N2 (h)
− K̂2 h4 − K̂3 h6 + · · ·
h
15M = 16N2 2 − N2 (h) + O(h6 )
N2 ( h2 )−N2 (h)
h
Hence, M = N2 2 + 15 + O(h6 ).