Class SymmetricGaussIntegrator

java.lang.Object
org.hipparchus.analysis.integration.gauss.GaussIntegrator
org.hipparchus.analysis.integration.gauss.SymmetricGaussIntegrator

public class SymmetricGaussIntegrator extends GaussIntegrator
This class's implements integrate method assuming that the integral is symmetric about 0. This allows to reduce numerical errors.
  • Constructor Details

    • SymmetricGaussIntegrator

      public SymmetricGaussIntegrator(double[] points, double[] weights) throws MathIllegalArgumentException
      Creates an integrator from the given points and weights. The integration interval is defined by the first and last value of points which must be sorted in increasing order.
      Parameters:
      points - Integration points.
      weights - Weights of the corresponding integration nodes.
      Throws:
      MathIllegalArgumentException - if the points are not sorted in increasing order.
      MathIllegalArgumentException - if points and weights don't have the same length
    • SymmetricGaussIntegrator

      public SymmetricGaussIntegrator(Pair<double[],double[]> pointsAndWeights) throws MathIllegalArgumentException
      Creates an integrator from the given pair of points (first element of the pair) and weights (second element of the pair.
      Parameters:
      pointsAndWeights - Integration points and corresponding weights.
      Throws:
      MathIllegalArgumentException - if the points are not sorted in increasing order.
      See Also:
  • Method Details

    • integrate

      public double integrate(UnivariateFunction f)
      Returns an estimate of the integral of f(x) * w(x), where w is a weight function that depends on the actual flavor of the Gauss integration scheme. The algorithm uses the points and associated weights, as passed to the constructor.
      Overrides:
      integrate in class GaussIntegrator
      Parameters:
      f - Function to integrate.
      Returns:
      the integral of the weighted function.