org.apache.commons.math3.analysis.integration.gauss

## Class SymmetricGaussIntegrator

- java.lang.Object
- - org.apache.commons.math3.analysis.integration.gauss.GaussIntegrator
  - - org.apache.commons.math3.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.
  Since:
    3.3
  Version:
    $Id: SymmetricGaussIntegrator.java 1509234 2013-08-01 13:48:57Z erans $

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SymmetricGaussIntegrator(double[] points, double[] weights)` Creates an integrator from the given `points` and `weights`.
    `SymmetricGaussIntegrator(Pair<double[],double[]> pointsAndWeights)` Creates an integrator from the given pair of points (first element of the pair) and weights (second element of the pair.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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.

    - ### Methods inherited from class org.apache.commons.math3.analysis.integration.gauss.GaussIntegrator

      `getNumberOfPoints, getPoint, getWeight`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SymmetricGaussIntegrator

          public SymmetricGaussIntegrator(double[] points,
                                  double[] weights)
                                   throws NonMonotonicSequenceException,
                                          DimensionMismatchException

      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:
        `NonMonotonicSequenceException` - if the `points` are not sorted in increasing order.
        `DimensionMismatchException` - if points and weights don't have the same length

    - #### SymmetricGaussIntegrator

          public SymmetricGaussIntegrator(Pair<double[],double[]> pointsAndWeights)
                                   throws NonMonotonicSequenceException

      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:
        `NonMonotonicSequenceException` - if the `points` are not sorted in increasing order.
      See Also:
        `SymmetricGaussIntegrator(double[], double[])`

  - ### Method Detail

    - #### 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.

Copyright © 2003–2014 The Apache Software Foundation. All rights reserved.