Class IterativeLegendreFieldGaussIntegrator<T extends CalculusFieldElement<T>>

java.lang.Object
org.hipparchus.analysis.integration.BaseAbstractFieldUnivariateIntegrator<T>
org.hipparchus.analysis.integration.IterativeLegendreFieldGaussIntegrator<T>
Type Parameters:
T - Type of the field elements.
All Implemented Interfaces:
FieldUnivariateIntegrator<T>

public class IterativeLegendreFieldGaussIntegrator<T extends CalculusFieldElement<T>> extends BaseAbstractFieldUnivariateIntegrator<T>
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.
Since:
2.0
  • Constructor Details

    • IterativeLegendreFieldGaussIntegrator

      public IterativeLegendreFieldGaussIntegrator(Field<T> field, int n, double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount) throws MathIllegalArgumentException
      Builds an integrator with given accuracies and iterations counts.
      Parameters:
      field - field to which function argument and value belong
      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.
    • IterativeLegendreFieldGaussIntegrator

      public IterativeLegendreFieldGaussIntegrator(Field<T> field, int n, double relativeAccuracy, double absoluteAccuracy) throws MathIllegalArgumentException
      Builds an integrator with given accuracies.
      Parameters:
      field - field to which function argument and value belong
      n - Number of integration points.
      relativeAccuracy - Relative accuracy of the result.
      absoluteAccuracy - Absolute accuracy of the result.
      Throws:
      MathIllegalArgumentException - if n < 1.
    • IterativeLegendreFieldGaussIntegrator

      public IterativeLegendreFieldGaussIntegrator(Field<T> field, int n, int minimalIterationCount, int maximalIterationCount) throws MathIllegalArgumentException
      Builds an integrator with given iteration counts.
      Parameters:
      field - field to which function argument and value belong
      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