SciPy

scipy.special.roots_hermitenorm

scipy.special.roots_hermitenorm(n, mu=False)[source]

Gauss-Hermite (statistician’s) quadrature.

Computes the sample points and weights for Gauss-Hermite quadrature. The sample points are the roots of the n-th degree Hermite polynomial, \(He_n(x)\). These sample points and weights correctly integrate polynomials of degree \(2n - 1\) or less over the interval \([-\infty, \infty]\) with weight function \(f(x) = e^{-x^2/2}\).

Parameters:

n : int

quadrature order

mu : bool, optional

If True, return the sum of the weights, optional.

Returns:

x : ndarray

Sample points

w : ndarray

Weights

mu : float

Sum of the weights

Notes

For small n up to 150 a modified version of the Golub-Welsch algorithm is used. Nodes are computed from the eigenvalue problem and improved by one step of a Newton iteration. The weights are computed from the well-known analytical formula.

For n larger than 150 an optimal asymptotic algorithm is used which computes nodes and weights in a numerical stable manner. The algorithm has linear runtime making computation for very large n (several thousand or more) feasible.