Class IterativeLegendreGaussIntegrator

  • All Implemented Interfaces:
    UnivariateIntegrator

    public class IterativeLegendreGaussIntegrator
    extends BaseAbstractUnivariateIntegrator
    This algorithm divides the integration interval into equally-sized sub-interval and on each of them performs a Legendre-Gauss quadrature. Because of its non-adaptive nature, this algorithm can converge to a wrong value for the integral (for example, if the function is significantly different from zero toward the ends of the integration interval). In particular, a change of variables aimed at estimating integrals over infinite intervals as proposed here should be avoided when using this class.
    • Constructor Detail

      • IterativeLegendreGaussIntegrator

        public IterativeLegendreGaussIntegrator​(int n,
                                                double relativeAccuracy,
                                                double absoluteAccuracy,
                                                int minimalIterationCount,
                                                int maximalIterationCount)
                                         throws MathIllegalArgumentException
        Builds an integrator with given accuracies and iterations counts.
        Parameters:
        n - Number of integration points.
        relativeAccuracy - Relative accuracy of the result.
        absoluteAccuracy - Absolute accuracy of the result.
        minimalIterationCount - Minimum number of iterations.
        maximalIterationCount - Maximum number of iterations.
        Throws:
        MathIllegalArgumentException - if minimal number of iterations or number of points are not strictly positive.
        MathIllegalArgumentException - if maximal number of iterations is smaller than or equal to the minimal number of iterations.
      • IterativeLegendreGaussIntegrator

        public IterativeLegendreGaussIntegrator​(int n,
                                                double relativeAccuracy,
                                                double absoluteAccuracy)
                                         throws MathIllegalArgumentException
        Builds an integrator with given accuracies.
        Parameters:
        n - Number of integration points.
        relativeAccuracy - Relative accuracy of the result.
        absoluteAccuracy - Absolute accuracy of the result.
        Throws:
        MathIllegalArgumentException - if n < 1.
      • IterativeLegendreGaussIntegrator

        public IterativeLegendreGaussIntegrator​(int n,
                                                int minimalIterationCount,
                                                int maximalIterationCount)
                                         throws MathIllegalArgumentException
        Builds an integrator with given iteration counts.
        Parameters:
        n - Number of integration points.
        minimalIterationCount - Minimum number of iterations.
        maximalIterationCount - Maximum number of iterations.
        Throws:
        MathIllegalArgumentException - if minimal number of iterations is not strictly positive.
        MathIllegalArgumentException - if maximal number of iterations is smaller than or equal to the minimal number of iterations.
        MathIllegalArgumentException - if n < 1.