Package 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

## Constructor Summary

Constructors
Constructor
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

Modifier and Type
Method
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 Details

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