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:
∫
0
+
∞
e
−
x
f
(
x
)
d
x
.
{\displaystyle \int _{0}^{+\infty }e^{-x}f(x)\,dx.}
In this case
∫
0
+
∞
e
−
x
f
(
x
)
d
x
≈
∑
i
=
1
n
w
i
f
(
x
i
)
{\displaystyle \int _{0}^{+\infty }e^{-x}f(x)\,dx\approx \sum _{i=1}^{n}w_{i}f(x_{i})}
where x i is the i -th root of Laguerre polynomial L n (x ) and the weight w i is given by[ 1]
w
i
=
x
i
(
n
+
1
)
2
[
L
n
+
1
(
x
i
)
]
2
.
{\displaystyle w_{i}={\frac {x_{i}}{\left(n+1\right)^{2}\left[L_{n+1}\left(x_{i}\right)\right]^{2}}}.}
The following Python code with the SymPy library will allow for calculation of the values of
x
i
{\displaystyle x_{i}}
and
w
i
{\displaystyle w_{i}}
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
f
{\displaystyle f}
we apply the following transformation
∫
0
∞
f
(
x
)
d
x
=
∫
0
∞
f
(
x
)
e
x
e
−
x
d
x
=
∫
0
∞
g
(
x
)
e
−
x
d
x
{\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}
where
g
(
x
)
:=
e
x
f
(
x
)
{\displaystyle g\left(x\right):=e^{x}f\left(x\right)}
. 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
x
α
{\displaystyle x^{\alpha }}
power-law singularity at x =0, for some real number
α
>
−
1
{\displaystyle \alpha >-1}
, leading to integrals of the form:
∫
0
+
∞
x
α
e
−
x
f
(
x
)
d
x
.
{\displaystyle \int _{0}^{+\infty }x^{\alpha }e^{-x}f(x)\,dx.}
In this case, the weights are given[ 2] in terms of the generalized Laguerre polynomials :
w
i
=
Γ
(
n
+
α
+
1
)
x
i
n
!
(
n
+
1
)
2
[
L
n
+
1
(
α
)
(
x
i
)
]
2
,
{\displaystyle w_{i}={\frac {\Gamma (n+\alpha +1)x_{i}}{n!(n+1)^{2}[L_{n+1}^{(\alpha )}(x_{i})]^{2}}}\,,}
where
x
i
{\displaystyle x_{i}}
are the roots of
L
n
(
α
)
{\displaystyle L_{n}^{(\alpha )}}
.
This allows one to efficiently evaluate such integrals for polynomial or smooth f (x ) even when α is not an integer.[ 3]
References
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
∫
0
∞
x
β
exp
(
−
x
)
f
(
x
)
d
x
{\displaystyle \int _{0}^{\infty }x^{\beta }\exp(-x)f(x)\,dx}
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 . JSTOR 2002946 . MR 0166397 .
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