Class IterativeLegendreGaussIntegrator

java.lang.Object
org.hipparchus.analysis.integration.BaseAbstractUnivariateIntegrator
org.hipparchus.analysis.integration.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 Details

    • 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.
  • Method Details