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:
formula_1
In this case 
formula_2
where "x""i" is the "i"-th root of Laguerre polynomial "L""n"("x") and the weight "w""i" is given by
formula_3
The following Python code with the SymPy library will allow for calculation of the values of formula_4 and formula_5 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 formula_6 we apply the following transformation
formula_7
where formula_8. 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 formula_9 power-law singularity at "x"=0, for some real number formula_10, leading to integrals of the form:
formula_11
In this case, the weights are given in terms of the generalized Laguerre polynomials:
formula_12
where formula_4 are the roots of formula_14.
This allows one to efficiently evaluate such integrals for polynomial or smooth "f"("x") even when α is not an integer.
References.
 ;templatestyles src="Reflist/styles.css" / ;