Class GaussHermiteQuadratureIntegrator1D

  • All Implemented Interfaces:
    Integrator<Double,​Double,​Function<Double,​Double>>

    public class GaussHermiteQuadratureIntegrator1D
    extends GaussianQuadratureIntegrator1D
    Gauss-Hermite quadrature approximates the value of integrals of the form $$ \begin{align*} \int_{-\infty}^{\infty} e^{-x^2} g(x) dx \end{align*} $$ The weights and abscissas are generated by GaussHermiteWeightAndAbscissaFunction.

    At present, this integrator can only be used for the limits $\pm\infty$. The function to integrate is scaled in such a way as to allow any values for the limits of integration.

    • Constructor Detail

      • GaussHermiteQuadratureIntegrator1D

        public GaussHermiteQuadratureIntegrator1D​(int n)
        Parameters:
        n - The number of sample points to use in the integration
    • Method Detail

      • getIntegralFunction

        public Function<Double,​Double> getIntegralFunction​(Function<Double,​Double> function,
                                                                 Double lower,
                                                                 Double upper)
        Returns a function that is valid for both the type of quadrature and the limits of integration. The function $f(x)$ that is to be integrated is transformed into a form suitable for this quadrature method using: $$ \begin{align*} \int_{-\infty}^{\infty} f(x) dx &= \int_{-\infty}^{\infty} f(x) e^{x^2} e^{-x^2} dx\\ &= \int_{-\infty}^{\infty} g(x) e^{-x^2} dx \end{align*} $$
        Specified by:
        getIntegralFunction in class GaussianQuadratureIntegrator1D
        Parameters:
        function - The function to be integrated, not null
        lower - The lower integration limit, not null
        upper - The upper integration limit, not null
        Returns:
        A function in the appropriate form for integration
        Throws:
        UnsupportedOperationException - If the lower limit is not $-\infty$ or the upper limit is not $\infty$