In numerical analysis, Gauss–Legendre quadrature is a form of Gaussian quadrature for approximating the definite integral of a function. For integrating over the interval, the rule takes the form:
1 | |
\int | |
-1 |
f(x)dx ≈
n | |
\sum | |
i=1 |
wif(xi)
where
This choice of quadrature weights wi and quadrature nodes xi is the unique choice that allows the quadrature rule to integrate degree polynomials exactly.
Many algorithms have been developed for computing Gauss–Legendre quadrature rules. The Golub–Welsch algorithm presented in 1969 reduces the computation of the nodes and weights to an eigenvalue problem which is solved by the QR algorithm. This algorithm was popular, but significantly more efficient algorithms exist. Algorithms based on the Newton–Raphson method are able to compute quadrature rules for significantly larger problem sizes. In 2014, Ignace Bogaert presented explicit asymptotic formulas for the Gauss–Legendre quadrature weights and nodes, which are accurate to within double-precision machine epsilon for any choice of n ≥ 21. This allows for computation of nodes and weights for values of n exceeding one billion.
Carl Friedrich Gauss was the first to derive the Gauss–Legendre quadrature rule, doing so by a calculation with continued fractions in 1814. He calculated the nodes and weights to 16 digits up to order n=7 by hand. Carl Gustav Jacob Jacobi discovered the connection between the quadrature rule and the orthogonal family of Legendre polynomials. As there is no closed-form formula for the quadrature weights and nodes, for many decades people were only able to hand-compute them for small n, and computing the quadrature had to be done by referencing tables containing the weight and node values. By 1942 these values were only known for up to n=16.
For integrating f over
[-1,1]
wi=
2 | ||||||||||||||
|
.
Some low-order quadrature rules are tabulated below for integrating over
[-1,1]
Number of points, n | Points, | Weights, | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | 0 | 2 | |||||||||||||||
2 |
| ±0.57735… | 1 | ||||||||||||||
3 | 0 |
| 0.888889… | ||||||||||||||
| ±0.774597… |
| 0.555556… | ||||||||||||||
4 |
-
| ±0.339981… |
| 0.652145… | |||||||||||||
+
| ±0.861136… |
| 0.347855… | ||||||||||||||
5 | 0 |
| 0.568889… | ||||||||||||||
\sqrt{5-2\sqrt{
| ±0.538469… |
| 0.478629… | ||||||||||||||
\sqrt{5+2\sqrt{
| ±0.90618… |
| 0.236927… |
For integrating over a general real interval
[a,b]
[-1,1]
Several researchers have developed algorithms for computing Gauss–Legendre quadrature nodes and weights based on the Newton–Raphson method for finding roots of functions. Various optimizations for this specific problem are used. For instance, some methods compute
\thetai=\arccosxi
xi
-1
1
In 1969, Golub and Welsch published their method for computing Gaussian quadrature rules given the three term recurrence relation that the underlying orthogonal polynomials satisfy. They reduce the problem of computing the nodes of a Gaussian quadrature rule to the problem of finding the eigenvalues of a particular symmetric tridiagonal matrix. The QR algorithm is used to find the eigenvalues of this matrix. By taking advantage of the symmetric tridiagonal structure, the eigenvalues can be computed in
lO(n2)
lO(n3)
Various methods have been developed that use approximate closed-form expressions to compute the nodes. As mentioned above, in some methods formulas are used as approximations to the nodes, after which some Newton-Raphson iterations are performed to refine the approximation. In a 2014 paper, Ignace Bogaert derives asymptotic formulas for the nodes that are exact up to machine precision for
n\geq21
n\geq30
[-1,1]
Johansson and Mezzarobba describe a strategy to compute Gauss–Legendre quadrature rules in arbitrary-precision arithmetic, allowing both small and large
n
n=1000
Gil, Segura and Temme describe iterative methods with fourth order convergence for the computation of Gauss–Jacobi quadratures (and, in particular, Gauss–Legendre). The methods do not require a priori estimations of the nodes to guarantee its fourth-order convergence. Computations of quadrature rules with even millions of nodes and thousands of digits become possible in a typical laptop.
Gauss–Legendre quadrature is optimal in a very narrow sense for computing integrals of a function f over, since no other quadrature rule integrates all degree polynomials exactly when using n sample points. However, this measure of accuracy is not generally a very useful one---polynomials are very simple to integrate and this argument does not by itself guarantee better accuracy on integrating other functions.
Clenshaw–Curtis quadrature is based on approximating f by a polynomial interpolant at Chebyshev nodes and integrates polynomials of degree up to n exactly when given n samples. Even though it does not integrate polynomials or other functions that are analytic in a large neighborhood of as well as Gauss–Legendre quadrature, Clenshaw–Curtis converges at approximately the same rate as Gauss–Legendre quadrature for most (non-analytic) integrands. Also, Clenshaw–Curtis shares the properties that Gauss–Legendre quadrature enjoys of convergence for all continuous integrands f and robustness to numerical rounding errors. Clenshaw–Curtis is straightforward to implement in
l{O}(nlogn)
Newton–Cotes quadrature is based on approximating f by a polynomial interpolant at equally-spaced points in, and like Clenshaw–Curtis also integrates polynomials of degree up to n exactly when given n samples. However, it suffers from Runge's phenomenon as n increases; Newton–Cotes does not converge for some continuous integrands f, and when it does converge it may suffer from numerical rounding errors. Thus, both Clenshaw–Curtis and Gauss–Legendre enjoy substantial benefits over Newton–Cotes for moderate to large n.