4.13 Romberg Integration
4.13 Romberg Integration
13 Romberg Integration
Romberg integration combines the trapezoidal rule with Richardson extrapolation. Let us first introduce the notation
Ri,1 = Ii
b
where, as before, Ii represents the approximate value of ∫ f (x) dx computed by the recursive trapezoidal rule using 2i−1 panels. Recall that the error in this approximation is
a
h = (b − a)/(2i−1)
Romberg integration starts with the computation of R1,1 = I1 (one panel) and R2,1 = I2 (two panels) from the trapezoidal rule. The leading error term c1h2 is then eliminated by
Richardson extrapolation. Using p = 2 (the exponent in the leading error term) in Eq. (5.9) and denoting the result by R2,2, we obtain
(a)
The next step is to calculate R3,1 = I3 (four panels) and repeat Richardson extrapolation with R2,1 and R3,1, storing the result as R3,2:
(b)
Both elements of the second column have an error of the form c2h4, which can also be eliminated with Richardson extrapolation. Using p = 4 in Eq. (5.9), we get
(c)
This result has an error of O(h6). The array has now expanded to
where the error in R4,4 is O(h8). Note that the most accurate estimate of the integral is always the last diagonal term of the array. This process is continued until the difference
between two successive diagonal terms becomes sufficiently small. The general extrapolation formula used in this scheme is
(6.13a)
(6.13b)
(6.13c)
The triangular array is convenient for hand computations, but computer implementation of the Romberg algorithm can be carried out within a one-dimensional array R'. After the
first extrapolation—see Eq. (a)— R1,1 is never used again so that it can be replaced with R2,2. As a result, we have the array
In the second extrapolation round, defined by Eqs. (b) and (c), R3,2 overwrites R2,1, and R3,3 replaces R2,2 so that the array contains
and so on. In this manner, R'1 always contains the best current result. The extrapolation formula for the kth round is
(6.14)
Illustrative Example:
π
Use Romberg integration to evaluate ∫ f (x) dx , where f(x) = sin x. Work with four decimal places.
0
Using the extrapolation formulas in Eqs. (6.13), we can now construct the following table:
π
It appears that the procedure has converged. Therefore, ∫ sin (x) dx = R4,4 = 2.0000, which is, of course, the correct result.