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.
  As of 3.1 (to be removed in 4.0). Please use `IterativeLegendreGaussIntegrator` instead.

      @Deprecated
      public class LegendreGaussIntegrator
      extends BaseAbstractUnivariateIntegrator

  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
  Version:
    $Id: LegendreGaussIntegrator.java 1364452 2012-07-22 22:30:01Z erans $

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private double[]` | `abscissas` Deprecated. Abscissas for the current method.
    `private static double[]` | `ABSCISSAS_2` Deprecated. Abscissas for the 2 points method.
    `private static double[]` | `ABSCISSAS_3` Deprecated. Abscissas for the 3 points method.
    `private static double[]` | `ABSCISSAS_4` Deprecated. Abscissas for the 4 points method.
    `private static double[]` | `ABSCISSAS_5` Deprecated. Abscissas for the 5 points method.
    `private double[]` | `weights` Deprecated. Weights for the current method.
    `private static double[]` | `WEIGHTS_2` Deprecated. Weights for the 2 points method.
    `private static double[]` | `WEIGHTS_3` Deprecated. Weights for the 3 points method.
    `private static double[]` | `WEIGHTS_4` Deprecated. Weights for the 4 points method.
    `private static double[]` | `WEIGHTS_5` Deprecated. Weights for the 5 points method.

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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected double` | `doIntegrate()` Deprecated. Method for implementing actual integration algorithms in derived classes.
    `private double` | `stage(int n)` Deprecated. Compute the n-th stage integral.

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

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

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

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

- - ### Field Detail

    - #### ABSCISSAS_2

          private static final double[] ABSCISSAS_2

      Deprecated.
      Abscissas for the 2 points method.

    - #### WEIGHTS_2

          private static final double[] WEIGHTS_2

      Deprecated.
      Weights for the 2 points method.

    - #### ABSCISSAS_3

          private static final double[] ABSCISSAS_3

      Deprecated.
      Abscissas for the 3 points method.

    - #### WEIGHTS_3

          private static final double[] WEIGHTS_3

      Deprecated.
      Weights for the 3 points method.

    - #### ABSCISSAS_4

          private static final double[] ABSCISSAS_4

      Deprecated.
      Abscissas for the 4 points method.

    - #### WEIGHTS_4

          private static final double[] WEIGHTS_4

      Deprecated.
      Weights for the 4 points method.

    - #### ABSCISSAS_5

          private static final double[] ABSCISSAS_5

      Deprecated.
      Abscissas for the 5 points method.

    - #### WEIGHTS_5

          private static final double[] WEIGHTS_5

      Deprecated.
      Weights for the 5 points method.

    - #### abscissas

          private final double[] abscissas

      Deprecated.
      Abscissas for the current method.

    - #### weights

          private final double[] weights

      Deprecated.
      Weights for the current method.

  - ### Constructor Detail

    - #### LegendreGaussIntegrator

          public LegendreGaussIntegrator(int n,
                                 double relativeAccuracy,
                                 double absoluteAccuracy,
                                 int minimalIterationCount,
                                 int maximalIterationCount)
                                  throws 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:
        `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)

      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

    - #### LegendreGaussIntegrator

          public LegendreGaussIntegrator(int n,
                                 int minimalIterationCount,
                                 int maximalIterationCount)

      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:
        `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 Detail

    - #### doIntegrate

          protected double doIntegrate()
                                throws 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

    - #### stage

          private double stage(int n)
                        throws TooManyEvaluationsException

      Deprecated.
      Compute the n-th stage integral.
      Parameters:
        `n` - number of steps
      Returns:
        the value of n-th stage integral
      Throws:
        `TooManyEvaluationsException` - if the maximum number of evaluations is exceeded.

Copyright (c) 2003-2013 Apache Software Foundation