Extrapolation methods exploit the error estimate to compute better approximations. Such methods can be used for any approximation methods but here we illustrate it for numerical integration.
Suppose we have an asymptotic error formula
I − I n ≈ c n p , p > 0 I - I_n \approx \frac{c}{n^p}, \qquad p > 0 I − I n ≈ n p c , p > 0 If we know I I I then we can estimate p p p from
I − I n I − I 2 n = 2 p \frac{I - I_n}{I - I_{2n}} = 2^p I − I 2 n I − I n = 2 p How can we estimate the convergence rate p p p when we dont know I I I ? First compute I n I_n I n , I 2 n I_{2n} I 2 n , I 4 n I_{4n} I 4 n . Then
I 2 n − I n I 4 n − I 2 n = ( I − I n ) − ( I − I 2 n ) ( I − I 2 n ) − ( I − I 4 n ) = c / n p − c / ( 2 n ) p c / ( 2 n ) p − c / ( 4 n ) p = 2 p \begin{aligned}
\frac{I_{2n} - I_n}{I_{4n} - I_{2n}}
&= \frac{ (I-I_n) - (I - I_{2n})}{(I - I_{2n}) - (I - I_{4n})} \\
&= \frac{ c/n^p - c/(2n)^p}{c/(2n)^p - c/(4n)^p} \\
&= 2^p
\end{aligned} I 4 n − I 2 n I 2 n − I n = ( I − I 2 n ) − ( I − I 4 n ) ( I − I n ) − ( I − I 2 n ) = c / ( 2 n ) p − c / ( 4 n ) p c / n p − c / ( 2 n ) p = 2 p Hence, the convergence rate is
p = log I 2 n − I n I 4 n − I 2 n log 2 p = \frac{ \log\frac{I_{2n} - I_n}{I_{4n} - I_{2n}}}{\log 2} p = log 2 log I 4 n − I 2 n I 2 n − I n We can obtain a more accurate estimate of I I I as follows. Again using the error estimate
I − I n I − I 2 n = 2 p = I − I 2 n I − I 4 n \frac{I - I_n}{I - I_{2n}} = 2^p = \frac{I - I_{2n}}{I - I_{4n}} I − I 2 n I − I n = 2 p = I − I 4 n I − I 2 n or
( I − I n ) ( I − I 4 n ) = ( I − I 2 n ) 2 (I - I_n)(I - I_{4n}) = (I - I_{2n})^2 ( I − I n ) ( I − I 4 n ) = ( I − I 2 n ) 2 Solving this
I ≈ I ~ 4 n : = I 4 n − ( I 4 n − I 2 n ) 2 ( I 4 n − I 2 n ) − ( I 2 n − I n ) I \approx \tilde I_{4n} := I_{4n} - \frac{(I_{4n} - I_{2n})^2}{(I_{4n} - I_{2n}) - (I_{2n} - I_n)} I ≈ I ~ 4 n := I 4 n − ( I 4 n − I 2 n ) − ( I 2 n − I n ) ( I 4 n − I 2 n ) 2 Then I ~ 4 n \tilde I_{4n} I ~ 4 n is more accurate than I 4 n I_{4n} I 4 n .
1.1 Example ¶ Approximate
I = ∫ 0 1 x x d x I = \int_0^1 x \sqrt{x} \ud x I = ∫ 0 1 x x d x using Simpson rule with n = 16 , 32 , 64 n=16,32,64 n = 16 , 32 , 64 intervals (we have n + 1 n+1 n + 1 points). Then
I − I 64 ≈ − 4.29 × 1 0 − 7 , I − I ~ 64 ≈ 6.13 × 1 0 − 10 I - I_{64} \approx -4.29 \times 10^{-7}, \qquad I - \tilde I_{64} \approx 6.13 \times 10^{-10} I − I 64 ≈ − 4.29 × 1 0 − 7 , I − I ~ 64 ≈ 6.13 × 1 0 − 10 Clearly I ~ 64 \tilde I_{64} I ~ 64 is more accurate than I 64 I_{64} I 64 . Moreover
I ~ 64 − I 64 ≈ 0.399999999387 − 0.400000429413 = − 4.30026 × 1 0 − 7 ≈ I − I 64 \tilde I_{64} - I_{64} \approx 0.399999999387 - 0.400000429413 = -4.30026 \times 10^{-7} \approx I - I_{64} I ~ 64 − I 64 ≈ 0.399999999387 − 0.400000429413 = − 4.30026 × 1 0 − 7 ≈ I − I 64 (a) If we have computed I 4 n I_{4n} I 4 n then we can compute I 2 n I_{2n} I 2 n and I n I_n I n with very little effort since the same function values are used[1] . (b) We can then also obtain a more accurate estimate I ~ 4 n \tilde I_{4n} I ~ 4 n very easily. (c) We also have an error estimate
I ~ 4 n − I 4 n ≈ I − I 4 n \tilde I_{4n} - I_{4n} \approx I - I_{4n} I ~ 4 n − I 4 n ≈ I − I 4 n If
∣ I ~ 4 n − I 4 n ∣ ≤ ϵ |\tilde I_{4n} - I_{4n}| \le \epsilon ∣ I ~ 4 n − I 4 n ∣ ≤ ϵ , then we can assume that
∣ I − I ~ 4 n ∣ ≤ ∣ I − I 4 n ∣ ≤ ϵ |I - \tilde I_{4n}| \le |I - I_{4n}| \le \epsilon ∣ I − I ~ 4 n ∣ ≤ ∣ I − I 4 n ∣ ≤ ϵ and use I ~ 4 n \tilde I_{4n} I ~ 4 n as
the estimate of the integral.
This is a more sophisticated way of performing the extrapolation. Let us illustrate this technique using the trapezoidal method for which we know the error estimate of the form
I − I n = d 2 ( 0 ) n 2 + d 4 ( 0 ) n 4 + … + d 2 m ( 0 ) n 2 m + F n , m I - I_n = \frac{d_2^{(0)}}{n^2} + \frac{d_4^{(0)}}{n^4} + \ldots + \frac{d_{2m}^{(0)}}{n^{2m}} + F_{n,m} I − I n = n 2 d 2 ( 0 ) + n 4 d 4 ( 0 ) + … + n 2 m d 2 m ( 0 ) + F n , m when f ∈ C 2 m + 2 [ a , b ] f \in \cts^{2m+2}[a,b] f ∈ C 2 m + 2 [ a , b ] . For n n n even
I − I n / 2 = 4 d 2 ( 0 ) n 2 + 16 d 4 ( 0 ) n 4 + 64 d 6 ( 0 ) n 6 + … I - I_{n/2} = \frac{4 d_2^{(0)}}{n^2} + \frac{16 d_4^{(0)}}{n^4} + \frac{64 d_6^{(0)}}{n^6} + \ldots I − I n /2 = n 2 4 d 2 ( 0 ) + n 4 16 d 4 ( 0 ) + n 6 64 d 6 ( 0 ) + … Then
4 ( I − I n ) − ( I − I n / 2 ) = − 12 d 4 ( 0 ) n 4 − 60 d 6 ( 0 ) n 6 + … 4(I - I_n) - (I - I_{n/2}) = -\frac{12 d_4^{(0)}}{n^4} - \frac{60 d_6^{(0)}}{n^6} + \ldots 4 ( I − I n ) − ( I − I n /2 ) = − n 4 12 d 4 ( 0 ) − n 6 60 d 6 ( 0 ) + … so that
I = 1 3 ( 4 I n − I n / 2 ) − 4 d 4 ( 0 ) n 4 − 20 d 6 ( 0 ) n 6 + … I = \frac{1}{3}(4 I_n - I_{n/2}) -\frac{4 d_4^{(0)}}{n^4} - \frac{20 d_6^{(0)}}{n^6} + \ldots I = 3 1 ( 4 I n − I n /2 ) − n 4 4 d 4 ( 0 ) − n 6 20 d 6 ( 0 ) + … Define
I n ( 1 ) = 4 3 I n ( 0 ) − 1 3 I n / 2 ( 0 ) , n ≥ 2 and n is even I_n^{(1)} = \frac{4}{3} I_n^{(0)} - \frac{1}{3} I_{n/2}^{(0)}, \qquad n \ge 2 \textrm{ and $n$ is even} I n ( 1 ) = 3 4 I n ( 0 ) − 3 1 I n /2 ( 0 ) , n ≥ 2 and n is even with
I n ( 0 ) = I n I_n^{(0)} = I_n I n ( 0 ) = I n I n ( 1 ) I_n^{(1)} I n ( 1 ) is called the Richardson extrapolation of I n I_n I n . Note that I n ( 1 ) I_n^{(1)} I n ( 1 ) uses the same data as I n I_n I n but has a convergence rate of 4 while I n I_n I n converges at rate 2. But what is I n ( 1 ) I_n^{(1)} I n ( 1 ) ?
I n ( 1 ) = 4 3 h [ 1 2 f 0 + f 1 + f 2 + … + f n − 1 + 1 2 f n ] − 1 3 ( 2 h ) [ 1 2 f 0 + f 2 + f 4 + … + f n − 2 + 1 2 f n ] = h 3 [ f 0 + 4 f 1 + 2 f 2 + … + 4 f n − 2 + 2 f n − 2 + f n ] \begin{aligned}
I_n^{(1)}
&= \frac{4}{3} h [\shalf f_0 + f_1 + f_2 + \ldots + f_{n-1} + \shalf f_n] \\
& \quad - \frac{1}{3} (2h)[\shalf f_0 + f_2 + f_4 + \ldots + f_{n-2} + \shalf f_n] \\
&= \frac{h}{3}[f_0 + 4 f_1 + 2 f_2 + \ldots + 4 f_{n-2} + 2 f_{n-2} + f_n ]
\end{aligned} I n ( 1 ) = 3 4 h [ 2 1 f 0 + f 1 + f 2 + … + f n − 1 + 2 1 f n ] − 3 1 ( 2 h ) [ 2 1 f 0 + f 2 + f 4 + … + f n − 2 + 2 1 f n ] = 3 h [ f 0 + 4 f 1 + 2 f 2 + … + 4 f n − 2 + 2 f n − 2 + f n ] which is just Simpson rule !!!
This procedure can be continued further. Let n n n be a multiple of 4. We
have already shown that
I − I n ( 1 ) = d 4 ( 1 ) n 4 + d 6 ( 1 ) n 6 + … I - I_n^{(1)} = \frac{d_4^{(1)}}{n^4} + \frac{d_6^{(1)}}{n^6} + \ldots I − I n ( 1 ) = n 4 d 4 ( 1 ) + n 6 d 6 ( 1 ) + … where
d 1 ( 1 ) = − 4 d 4 ( 0 ) , d 6 ( 1 ) = − 20 d 6 ( 0 ) , … d_1^{(1)} = -4 d_4^{(0)}, \qquad d_6^{(1)} = -20 d_6^{(0)}, \ldots d 1 ( 1 ) = − 4 d 4 ( 0 ) , d 6 ( 1 ) = − 20 d 6 ( 0 ) , … and so
I − I n / 2 ( 1 ) = 16 d 4 ( 1 ) n 4 + 64 d 6 ( 1 ) n 6 + … I - I_{n/2}^{(1)} = \frac{16 d_4^{(1)}}{n^4} + \frac{64 d_6^{(1)}}{n^6} + \ldots I − I n /2 ( 1 ) = n 4 16 d 4 ( 1 ) + n 6 64 d 6 ( 1 ) + … Hence
16 ( I − I n ( 1 ) ) − ( I − I n / 2 ( 1 ) ) = − 48 d 6 ( 1 ) n 6 + … 16(I - I_n^{(1)}) - (I - I_{n/2}^{(1)}) = -\frac{48 d_6^{(1)}}{n^6} + \ldots 16 ( I − I n ( 1 ) ) − ( I − I n /2 ( 1 ) ) = − n 6 48 d 6 ( 1 ) + … and
I = 16 I n ( 1 ) − I n / 2 ( 1 ) 15 − 48 d 6 ( 1 ) 15 n 6 + … I = \frac{16 I_n^{(1)} - I_{n/2}^{(1)}}{15} - \frac{48 d_6^{(1)}}{15 n^6} + \ldots I = 15 16 I n ( 1 ) − I n /2 ( 1 ) − 15 n 6 48 d 6 ( 1 ) + … Then
I n ( 2 ) = 16 I n ( 1 ) − I n / 2 ( 1 ) 15 , n ≥ 4 , n is multiple of 4 I_n^{(2)} = \frac{16 I_n^{(1)} - I_{n/2}^{(1)}}{15}, \qquad n \ge 4, \quad \textrm{$n$ is multiple of 4} I n ( 2 ) = 15 16 I n ( 1 ) − I n /2 ( 1 ) , n ≥ 4 , n is multiple of 4 converges at the rate 6 and is same as Boole’s rule.
2.1 Richardson error estimate for I n ( 1 ) I_n^{(1)} I n ( 1 ) (Simpson rule) ¶ From
I = 16 I n ( 1 ) − I n / 2 ( 1 ) 15 − 48 d 6 ( 1 ) 15 n 6 + … I = \frac{16 I_n^{(1)} - I_{n/2}^{(1)}}{15} - \frac{48 d_6^{(1)}}{15 n^6} + \ldots I = 15 16 I n ( 1 ) − I n /2 ( 1 ) − 15 n 6 48 d 6 ( 1 ) + … we get
I − I n ( 1 ) = 16 I n ( 1 ) − I n / 2 ( 1 ) 15 − I n ( 1 ) − 48 d 6 ( 1 ) 15 n 6 + … = 1 15 [ I n ( 1 ) − I n / 2 ( 1 ) ] + O ( 1 n 6 ) \begin{aligned}
I - I_n^{(1)} &= \frac{16 I_n^{(1)} - I_{n/2}^{(1)}}{15} - I_n^{(1)} - \frac{48 d_6^{(1)}}{15 n^6} + \ldots \\
&= \frac{1}{15}[ I_n^{(1)} - I_{n/2}^{(1)} ] + \order{\frac{1}{n^6}}
\end{aligned} I − I n ( 1 ) = 15 16 I n ( 1 ) − I n /2 ( 1 ) − I n ( 1 ) − 15 n 6 48 d 6 ( 1 ) + … = 15 1 [ I n ( 1 ) − I n /2 ( 1 ) ] + O ( n 6 1 ) Since I n ( 1 ) − I n / 2 ( 1 ) = O ( 1 / n 4 ) I_n^{(1)} - I_{n/2}^{(1)} = \order{1/n^4} I n ( 1 ) − I n /2 ( 1 ) = O ( 1/ n 4 ) , we
can use the error estimate
I − I n ( 1 ) ≈ 1 15 [ I n ( 1 ) − I n / 2 ( 1 ) ] I - I_n^{(1)} \approx \frac{1}{15}[ I_n^{(1)} - I_{n/2}^{(1)} ] I − I n ( 1 ) ≈ 15 1 [ I n ( 1 ) − I n /2 ( 1 ) ] The
right hand side can be easily computed.
3 Romberg integration ¶ Using the error formula of trapezoidal rule, we can generalize
Richardson extrapolation to arbitrary orders. For n = n = n = some integer
multiple of 2 k 2^k 2 k
I n ( k ) = 4 k I n ( k − 1 ) − I n / 2 ( k − 1 ) 4 k − 1 I_n^{(k)} = \frac{4^k I_n^{(k-1)} - I_{n/2}^{(k-1)}}{4^k - 1} I n ( k ) = 4 k − 1 4 k I n ( k − 1 ) − I n /2 ( k − 1 ) and
I − I n ( k ) = O ( 1 n 2 k + 2 ) I - I_n^{(k)} = \order{\frac{1}{n^{2k+2}}} I − I n ( k ) = O ( n 2 k + 2 1 ) Romberg integration is defined by
J k ( f ) = I 2 k ( k ) , k = 0 , 1 , 2 , … J_k(f) = I_{2^k}^{(k)}, \qquad k=0,1,2,\ldots J k ( f ) = I 2 k ( k ) , k = 0 , 1 , 2 , … For example, if k = 3 k=3 k = 3 ,
compute
I 1 ( 0 ) I 2 ( 0 ) I 2 ( 1 ) I 4 ( 0 ) I 4 ( 1 ) I 4 ( 2 ) I 8 ( 0 ) I 8 ( 1 ) I 8 ( 2 ) I 8 ( 3 ) \begin{array}{cccc}
I_1^{(0)} & & & \\
I_2^{(0)} & I_2^{(1)} & & \\
I_4^{(0)} & I_4^{(1)} & I_4^{(2)} & \\
I_8^{(0)} & I_8^{(1)} & I_8^{(2)} & I_8^{(3)}\\
\end{array} I 1 ( 0 ) I 2 ( 0 ) I 4 ( 0 ) I 8 ( 0 ) I 2 ( 1 ) I 4 ( 1 ) I 8 ( 1 ) I 4 ( 2 ) I 8 ( 2 ) I 8 ( 3 ) The first column is trapezoid rule. The second column is
generated from the first column using
([eq:romiter] {reference-type=“ref”
reference=“eq:romiter”}) with k = 1 k=1 k = 1 . The third column is generated from
second column and the fourth from the third. Then I 8 ( 3 ) = J 3 ( f ) I_8^{(3)}=J_3(f) I 8 ( 3 ) = J 3 ( f ) is
the final answer.