Gauss–Laguerre quadrature

From HandWiki
Revision as of 17:57, 8 February 2024 by WikiGary (talk | contribs) (correction)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

In numerical analysis Gauss–Laguerre quadrature (named after Carl Friedrich Gauss and Edmond Laguerre) is an extension of the Gaussian quadrature method for approximating the value of integrals of the following kind:

[math]\displaystyle{ \int_{0}^{+\infty} e^{-x} f(x)\,dx. }[/math]

In this case

[math]\displaystyle{ \int_{0}^{+\infty} e^{-x} f(x)\,dx \approx \sum_{i=1}^n w_i f(x_i) }[/math]

where xi is the i-th root of Laguerre polynomial Ln(x) and the weight wi is given by[1]

[math]\displaystyle{ w_i = \frac {x_i} {\left(n + 1\right)^2 \left[L_{n+1}\left(x_i\right)\right]^2}. }[/math]

The following Python code with the SymPy library will allow for calculation of the values of [math]\displaystyle{ x_i }[/math] and [math]\displaystyle{ w_i }[/math] to 20 digits of precision:

from sympy import *

def lag_weights_roots(n):
    x = Symbol("x")
    roots = Poly(laguerre(n, x)).all_roots()
    x_i = [rt.evalf(20) for rt in roots]
    w_i = [(rt / ((n + 1) * laguerre(n + 1, rt)) ** 2).evalf(20) for rt in roots]
    return x_i, w_i

print(lag_weights_roots(5))

For more general functions

To integrate the function [math]\displaystyle{ f }[/math] we apply the following transformation

[math]\displaystyle{ \int_{0}^{\infty}f(x)\,dx=\int_{0}^{\infty}f(x)e^{x}e^{-x}\,dx=\int_{0}^{\infty}g(x)e^{-x}\,dx }[/math]

where [math]\displaystyle{ g\left(x\right) := e^{x} f\left(x\right) }[/math]. For the last integral one then uses Gauss-Laguerre quadrature. Note, that while this approach works from an analytical perspective, it is not always numerically stable.

Generalized Gauss–Laguerre quadrature

More generally, one can also consider integrands that have a known [math]\displaystyle{ x^\alpha }[/math] power-law singularity at x=0, for some real number [math]\displaystyle{ \alpha \gt -1 }[/math], leading to integrals of the form:

[math]\displaystyle{ \int_{0}^{+\infty} x^\alpha e^{-x} f(x)\,dx. }[/math]

In this case, the weights are given[2] in terms of the generalized Laguerre polynomials:

[math]\displaystyle{ w_i = \frac{\Gamma(n+\alpha+1) x_i}{n!(n+1)^2 [L_{n+1}^{(\alpha)}(x_i)]^2} \,, }[/math]

where [math]\displaystyle{ x_i }[/math] are the roots of [math]\displaystyle{ L_n^{(\alpha)} }[/math].

This allows one to efficiently evaluate such integrals for polynomial or smooth f(x) even when α is not an integer.[3]

References

  1. Equation 25.4.45 in Handbook of Mathematical Functions. Dover. ISBN 978-0-486-61272-0.  10th reprint with corrections.
  2. Weisstein, Eric W., "Laguerre-Gauss Quadrature" From MathWorld--A Wolfram Web Resource, Accessed March 9, 2020
  3. "Tables of Abscissas and Weights for Numerical Evaluation of Integrals of the form [math]\displaystyle{ \int_0^{\infty} \exp(-x) x^n f(x)\,dx }[/math]". Mathematical Tables and Other Aids to Computation 13: 285–294. 1959. doi:10.1090/S0025-5718-1959-0107992-3. 

Further reading

External links