scipy.special.h_roots¶
- scipy.special.h_roots(n, mu=False)[source]¶
Gauss-Hermite (physicst’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, \(H_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}\).
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
See also
scipy.integrate.quadrature, scipy.integrate.fixed_quad, numpy.polynomial.hermite.hermgauss, he_roots
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 applied which computes nodes and weights in a numerically stable manner. The algorithm has linear runtime making computation for very large n (several thousand or more) feasible.
References
[townsend.trogdon.olver-2014] Townsend, A. and Trogdon, T. and Olver, S. (2014) Fast computation of Gauss quadrature nodes and weights on the whole real line. ArXiv 1410.5286. [townsend.trogdon.olver-2015] Townsend, A. and Trogdon, T. and Olver, S. (2015) Fast computation of Gauss quadrature nodes and weights on the whole real line. IMA Journal of Numerical Analysis doi: 10.1093/imanum/drv002