Gauss–Kronrod quadrature formula


The Gauss–Kronrod quadrature formula is an adaptive method for numerical integration. It is a variant of Gaussian quadrature, in which the evaluation points are chosen so that an accurate approximation can be computed by re-using the information produced by the computation of a less accurate approximation. It is an example of what is called a nested quadrature rule: for the same set of function evaluation points, it has two quadrature rules, one higher order and one lower order. The difference between these two approximations is used to estimate the calculational error of the integration.
These formulas are named after Alexander Kronrod, who invented them in the 1960s, and Carl Friedrich Gauss.

Description

The problem in numerical integration is to approximate definite integrals of the form
Such integrals can be approximated, for example, by n-point Gaussian quadrature
where wi, xi are the weights and points at which to evaluate the function f.
If the interval is subdivided, the Gauss evaluation points of the new subintervals never coincide with the previous evaluation points, and thus the integrand must be evaluated at every point. Gauss–Kronrod formulas are extensions of the Gauss quadrature formulas generated by adding points to an -point rule in such a way that the resulting rule is of order . These extra points are the zeros of Stieltjes polynomials. This allows for computing higher-order estimates while reusing the function values of a lower-order estimate. The difference between a Gauss quadrature rule and its Kronrod extension are often used as an estimate of the approximation error.

Example

A popular example combines a 7-point Gauss rule with a 15-point Kronrod rule. Because the Gauss points are incorporated into the Kronrod points, a total of only 15 function evaluations are needed.
The integral is then estimated by the Kronrod rule and the error can be estimated as.
showed how to find further extensions of this type, and proposed improved algorithms, and finally the most efficient algorithm was proposed by. Quadruple precision coefficients for,,, and others are computed and tabulated.

Implementations

Routines for Gauss–Kronrod quadrature are provided by the QUADPACK library, the GNU Scientific Library, the NAG Numerical Libraries, R, and the C++ library Boost.
The Julia package provides an one-dimensional adaptive Gauss-Kronrod solver.