Skip to article frontmatterSkip to article content

Extrapolation methods

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.

1Aitken extrapolation

Suppose we have an asymptotic error formula

IIncnp,p>0I - I_n \approx \frac{c}{n^p}, \qquad p > 0

If we know II then we can estimate pp from

IInII2n=2p\frac{I - I_n}{I - I_{2n}} = 2^p

How can we estimate the convergence rate pp when we dont know II ? First compute InI_n, I2nI_{2n}, I4nI_{4n}. Then

I2nInI4nI2n=(IIn)(II2n)(II2n)(II4n)=c/npc/(2n)pc/(2n)pc/(4n)p=2p\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}

Hence, the convergence rate is

p=logI2nInI4nI2nlog2p = \frac{ \log\frac{I_{2n} - I_n}{I_{4n} - I_{2n}}}{\log 2}

We can obtain a more accurate estimate of II as follows. Again using the error estimate

IInII2n=2p=II2nII4n\frac{I - I_n}{I - I_{2n}} = 2^p = \frac{I - I_{2n}}{I - I_{4n}}

or

(IIn)(II4n)=(II2n)2(I - I_n)(I - I_{4n}) = (I - I_{2n})^2

Solving this

II~4n:=I4n(I4nI2n)2(I4nI2n)(I2nIn)I \approx \tilde I_{4n} := I_{4n} - \frac{(I_{4n} - I_{2n})^2}{(I_{4n} - I_{2n}) - (I_{2n} - I_n)}

Then I~4n\tilde I_{4n} is more accurate than I4nI_{4n}.

1.1Example

Approximate

I=01xxdxI = \int_0^1 x \sqrt{x} \ud x

using Simpson rule with n=16,32,64n=16,32,64 intervals (we have n+1n+1 points). Then

II644.29×107,II~646.13×1010I - I_{64} \approx -4.29 \times 10^{-7}, \qquad I - \tilde I_{64} \approx 6.13 \times 10^{-10}

Clearly I~64\tilde I_{64} is more accurate than I64I_{64}. Moreover

I~64I640.3999999993870.400000429413=4.30026×107II64\tilde I_{64} - I_{64} \approx 0.399999999387 - 0.400000429413 = -4.30026 \times 10^{-7} \approx I - I_{64}

1.2Remark

(a) If we have computed I4nI_{4n} then we can compute I2nI_{2n} and InI_n with very little effort since the same function values are used[1]. (b) We can then also obtain a more accurate estimate I~4n\tilde I_{4n} very easily. (c) We also have an error estimate

I~4nI4nII4n\tilde I_{4n} - I_{4n} \approx I - I_{4n}

If I~4nI4nϵ|\tilde I_{4n} - I_{4n}| \le \epsilon, then we can assume that II~4nII4nϵ|I - \tilde I_{4n}| \le |I - I_{4n}| \le \epsilon and use I~4n\tilde I_{4n} as the estimate of the integral.

2Richardson extrapolation

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

IIn=d2(0)n2+d4(0)n4++d2m(0)n2m+Fn,mI - I_n = \frac{d_2^{(0)}}{n^2} + \frac{d_4^{(0)}}{n^4} + \ldots + \frac{d_{2m}^{(0)}}{n^{2m}} + F_{n,m}

when fC2m+2[a,b]f \in \cts^{2m+2}[a,b]. For nn even

IIn/2=4d2(0)n2+16d4(0)n4+64d6(0)n6+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

Then

4(IIn)(IIn/2)=12d4(0)n460d6(0)n6+4(I - I_n) - (I - I_{n/2}) = -\frac{12 d_4^{(0)}}{n^4} - \frac{60 d_6^{(0)}}{n^6} + \ldots

so that

I=13(4InIn/2)4d4(0)n420d6(0)n6+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

Define

In(1)=43In(0)13In/2(0),n2 and n is evenI_n^{(1)} = \frac{4}{3} I_n^{(0)} - \frac{1}{3} I_{n/2}^{(0)}, \qquad n \ge 2 \textrm{ and $n$ is even}

with

In(0)=InI_n^{(0)} = I_n

In(1)I_n^{(1)} is called the Richardson extrapolation of InI_n. Note that In(1)I_n^{(1)} uses the same data as InI_n but has a convergence rate of 4 while InI_n converges at rate 2. But what is In(1)I_n^{(1)} ?

In(1)=43h[12f0+f1+f2++fn1+12fn]13(2h)[12f0+f2+f4++fn2+12fn]=h3[f0+4f1+2f2++4fn2+2fn2+fn]\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}

which is just Simpson rule !!!

This procedure can be continued further. Let nn be a multiple of 4. We have already shown that

IIn(1)=d4(1)n4+d6(1)n6+I - I_n^{(1)} = \frac{d_4^{(1)}}{n^4} + \frac{d_6^{(1)}}{n^6} + \ldots

where

d1(1)=4d4(0),d6(1)=20d6(0),d_1^{(1)} = -4 d_4^{(0)}, \qquad d_6^{(1)} = -20 d_6^{(0)}, \ldots

and so

IIn/2(1)=16d4(1)n4+64d6(1)n6+I - I_{n/2}^{(1)} = \frac{16 d_4^{(1)}}{n^4} + \frac{64 d_6^{(1)}}{n^6} + \ldots

Hence

16(IIn(1))(IIn/2(1))=48d6(1)n6+16(I - I_n^{(1)}) - (I - I_{n/2}^{(1)}) = -\frac{48 d_6^{(1)}}{n^6} + \ldots

and

I=16In(1)In/2(1)1548d6(1)15n6+I = \frac{16 I_n^{(1)} - I_{n/2}^{(1)}}{15} - \frac{48 d_6^{(1)}}{15 n^6} + \ldots

Then

In(2)=16In(1)In/2(1)15,n4,n is multiple of 4I_n^{(2)} = \frac{16 I_n^{(1)} - I_{n/2}^{(1)}}{15}, \qquad n \ge 4, \quad \textrm{$n$ is multiple of 4}

converges at the rate 6 and is same as Boole’s rule.

2.1Richardson error estimate for In(1)I_n^{(1)} (Simpson rule)

From

I=16In(1)In/2(1)1548d6(1)15n6+I = \frac{16 I_n^{(1)} - I_{n/2}^{(1)}}{15} - \frac{48 d_6^{(1)}}{15 n^6} + \ldots

we get

IIn(1)=16In(1)In/2(1)15In(1)48d6(1)15n6+=115[In(1)In/2(1)]+O(1n6)\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}

Since In(1)In/2(1)=O(1/n4)I_n^{(1)} - I_{n/2}^{(1)} = \order{1/n^4}, we can use the error estimate

IIn(1)115[In(1)In/2(1)]I - I_n^{(1)} \approx \frac{1}{15}[ I_n^{(1)} - I_{n/2}^{(1)} ]

The right hand side can be easily computed.

3Romberg integration

Using the error formula of trapezoidal rule, we can generalize Richardson extrapolation to arbitrary orders. For n=n = some integer multiple of 2k2^k

In(k)=4kIn(k1)In/2(k1)4k1I_n^{(k)} = \frac{4^k I_n^{(k-1)} - I_{n/2}^{(k-1)}}{4^k - 1}

and

IIn(k)=O(1n2k+2)I - I_n^{(k)} = \order{\frac{1}{n^{2k+2}}}

Romberg integration is defined by

Jk(f)=I2k(k),k=0,1,2,J_k(f) = I_{2^k}^{(k)}, \qquad k=0,1,2,\ldots

For example, if k=3k=3, compute

I1(0)I2(0)I2(1)I4(0)I4(1)I4(2)I8(0)I8(1)I8(2)I8(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}

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=1k=1. The third column is generated from second column and the fourth from the third. Then I8(3)=J3(f)I_8^{(3)}=J_3(f) is the final answer.

Footnotes
  1. This is true for methods like trapezoid, mid-point, Simpson but is not true for Gauss rules.