Gauss–Laguerre quadrature
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
- ↑ Equation 25.4.45 in Handbook of Mathematical Functions. Dover. ISBN 978-0-486-61272-0. 10th reprint with corrections.
- ↑ Weisstein, Eric W., "Laguerre-Gauss Quadrature" From MathWorld--A Wolfram Web Resource, Accessed March 9, 2020
- ↑ "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
- Salzer, H. E.; Zucker, R. (1949). "Table of zeros and weight factors of the first fifteen Laguerre polynomials". Bulletin of the American Mathematical Society 55 (10): 1004–1012. doi:10.1090/S0002-9904-1949-09327-8.
- Concus, P.; Cassatt, D.; Jaehnig, G.; Melby, E. (1963). "Tables for the evaluation of [math]\displaystyle{ \int_0^\infty x^\beta \exp(-x) f(x)\,dx }[/math] by Gauss-Laguerre quadrature". Mathematics of Computation 17: 245–256. doi:10.1090/S0025-5718-1963-0158534-9.
- Shao, T. S.; Chen, T. C.; Frank, R. M. (1964). "Table of zeros and Gaussian Weights of certain Associated Laguerre Polynomials and the related Hermite Polynomials". Mathematics of Computation 18 (88): 598–616. doi:10.1090/S0025-5718-1964-0166397-1.
- Ehrich, S. (2002). "On stratified extensions of Gauss-Laguerre and Gauss-Hermite quadrature formulas". Journal of Computational and Applied Mathematics 140 (1–2): 291–299. doi:10.1016/S0377-0427(01)00407-1.
External links
- Matlab routine for Gauss–Laguerre quadrature
- Generalized Gauss–Laguerre quadrature, free software in Matlab, C++, and Fortran.
Original source: https://en.wikipedia.org/wiki/Gauss–Laguerre quadrature.
Read more |