Adaptive quadrature
From Wikipedia, the free encyclopedia
In applied mathematics, adaptive quadrature is a process in which the integral of a function f(x) is approximated using static quadrature rules on adaptively refined subintervals of the integration domain. Generally, adaptive algorithms are just as efficient and effective as traditional algorithms for "well-behaved" integrands, but are also effective for "badly-behaved" integrands for which traditional algorithms fail.
Contents |
[edit] General scheme
Adaptive quadrature follows the general scheme
1. procedure integrate ( f , a , b , tau ) 2. 3. 4. if then 5. m = (a + b) / 2 6. Q = integrate(f,a,m,tau) + integrate(f,m,b,tau) 7. endif 8. return Q
An approximation Q to the integral of f(x) over the interval [a,b] is computed (line 2), as well as an error estimate (line 3). If the estimated error is larger than the required tolerance τ(line 4), the interval is subdivided (line 5) and the quadrature is applied on both halves separately (line 6). Either the initial estimate or the sum of the recursively computed halves is returned (line 7).
The important components are the quadrature rule itself
the error estimator
and the logic for deciding which interval to subdivide, and when to terminate.
There are, of course, several variants of this scheme. The most common will be discussed later.
[edit] Basic quadrature rules
The quadrature rules generally have the form
where the nodes xi and weights wi are generally pre-computed.
In the simplest case, Newton–Cotes formulas of even degree are used, where the nodes xi are evenly spaced in the interval:
- .
When such rules are used, the points at which f(x) has been evaluated can be re-used upon recursion:
A similar strategy is used with Clenshaw–Curtis quadrature, where the nodes are chosen as
Or, when Fejér quadrature is used,
- .
An algorithm may elect to use different quadrature methods on different subintervals, for example using a high-order method only where the integrand is smooth.
[edit] Error estimation
Some quadrature algorithms generate a sequence of results which should approach the correct value. Otherwise one can use a "null rule" which has the form of the above quadrature rule, but whose value would be zero for a simple integrand (for example, if the integrand were a polynomial of the appropriate degree).
See:
- Richardson extrapolation (see also Romberg's method)
- Null rules
- Epsilon algorithm
[edit] Subdivision Logic
"Local" adaptive quadrature makes the acceptable error for a given interval proportional to the length of that interval. This criterion can be difficult to satisfy if the integrand are badly behaved at only a few points, for example with a few step discontinuities. Alternatively, one could require only that the sum of the errors on each of the subintervals be less than the user's requirement. This would be "global" adaptive quadrature. Global adaptive quadrature can be more efficient (using fewer evaluations of the integrand) but are generally more complex to program and may require more working space to record information on the current set of intervals.
[edit] See also
- Adaptive Simpson's method for an example of adaptive quadrature