SciPy

numpy.polynomial.legendre.leggauss

numpy.polynomial.legendre.leggauss(deg)[source]

Gauss-Legendre quadrature.

Computes the sample points and weights for Gauss-Legendre quadrature. These sample points and weights will correctly integrate polynomials of degree 2*deg - 1 or less over the interval [-1, 1] with the weight function f(x) = 1.

Parameters:

deg : int

Number of sample points and weights. It must be >= 1.

Returns:

x : ndarray

1-D ndarray containing the sample points.

y : ndarray

1-D ndarray containing the weights.

Notes

The results have only been tested up to degree 100, higher degrees may be problematic. The weights are determined by using the fact that

w_k = c / (L'_n(x_k) * L_{n-1}(x_k))

where c is a constant independent of k and x_k is the k’th root of L_n, and then scaling the results to get the right value when integrating 1.