Package org.apache.commons.math3.analysis.integration

# Class LegendreGaussIntegrator

java.lang.Object
org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator
org.apache.commons.math3.analysis.integration.LegendreGaussIntegrator

All Implemented Interfaces:
  `UnivariateIntegrator`

@Deprecated public class LegendreGaussIntegrator extends BaseAbstractUnivariateIntegrator
Deprecated.
As of 3.1 (to be removed in 4.0). Please use `IterativeLegendreGaussIntegrator` instead.
Implements the Legendre-Gauss quadrature formula.

Legendre-Gauss integrators are efficient integrators that can accurately integrate functions with few function evaluations. A Legendre-Gauss integrator using an n-points quadrature formula can integrate 2n-1 degree polynomials exactly.

These integrators evaluate the function on n carefully chosen abscissas in each step interval (mapped to the canonical [-1,1] interval). The evaluation abscissas are not evenly spaced and none of them are at the interval endpoints. This implies the function integrated can be undefined at integration interval endpoints.

The evaluation abscissas xi are the roots of the degree n Legendre polynomial. The weights ai of the quadrature formula integrals from -1 to +1 ∫ Li2 where Li (x) = ∏ (x-xk)/(xi-xk) for k != i.

Since:
  1.2

## Field Summary

### Fields inherited from class org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator

`DEFAULT_ABSOLUTE_ACCURACY, DEFAULT_MAX_ITERATIONS_COUNT, DEFAULT_MIN_ITERATIONS_COUNT, DEFAULT_RELATIVE_ACCURACY, iterations`

## Constructor Summary

Constructors
Constructor
Description
`LegendreGaussIntegrator(int n, double relativeAccuracy, double absoluteAccuracy)`
Deprecated.
Build a Legendre-Gauss integrator with given accuracies.
`LegendreGaussIntegrator(int n, double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount)`
Deprecated.
Build a Legendre-Gauss integrator with given accuracies and iterations counts.
`LegendreGaussIntegrator(int n, int minimalIterationCount, int maximalIterationCount)`
Deprecated.
Build a Legendre-Gauss integrator with given iteration counts.

## Method Summary

Modifier and Type
Method
Description
`protected double`
`doIntegrate()`
Deprecated.
Method for implementing actual integration algorithms in derived classes.

### Methods inherited from class org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator

`computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getIterations, getMax, getMaximalIterationCount, getMin, getMinimalIterationCount, getRelativeAccuracy, incrementCount, integrate, setup`

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

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

## Constructor Details

### LegendreGaussIntegrator

public LegendreGaussIntegrator(int n, double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount) throws MathIllegalArgumentException, NotStrictlyPositiveException, NumberIsTooSmallException
Deprecated.
Build a Legendre-Gauss integrator with given accuracies and iterations counts.

Parameters:
  `n` - number of points desired (must be between 2 and 5 inclusive)
  `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 number of points is out of [2; 5]
  `NotStrictlyPositiveException` - if minimal number of iterations is not strictly positive
  `NumberIsTooSmallException` - if maximal number of iterations is lesser than or equal to the minimal number of iterations

### LegendreGaussIntegrator

public LegendreGaussIntegrator(int n, double relativeAccuracy, double absoluteAccuracy) throws MathIllegalArgumentException
Deprecated.
Build a Legendre-Gauss integrator with given accuracies.

Parameters:
  `n` - number of points desired (must be between 2 and 5 inclusive)
  `relativeAccuracy` - relative accuracy of the result
  `absoluteAccuracy` - absolute accuracy of the result
Throws:
  `MathIllegalArgumentException` - if number of points is out of [2; 5]

### LegendreGaussIntegrator

public LegendreGaussIntegrator(int n, int minimalIterationCount, int maximalIterationCount) throws MathIllegalArgumentException
Deprecated.
Build a Legendre-Gauss integrator with given iteration counts.

Parameters:
  `n` - number of points desired (must be between 2 and 5 inclusive)
  `minimalIterationCount` - minimum number of iterations
  `maximalIterationCount` - maximum number of iterations
Throws:
  `MathIllegalArgumentException` - if number of points is out of [2; 5]
  `NotStrictlyPositiveException` - if minimal number of iterations is not strictly positive
  `NumberIsTooSmallException` - if maximal number of iterations is lesser than or equal to the minimal number of iterations

## Method Details

### doIntegrate

protected double doIntegrate() throws MathIllegalArgumentException, TooManyEvaluationsException, MaxCountExceededException
Deprecated.
Method for implementing actual integration algorithms in derived classes.

Specified by:
  `doIntegrate` in class `BaseAbstractUnivariateIntegrator`
Returns:
  the root.
Throws:
  `TooManyEvaluationsException` - if the maximal number of evaluations is exceeded.
  `MaxCountExceededException` - if the maximum iteration count is exceeded or the integrator detects convergence problems otherwise
  `MathIllegalArgumentException`