org.apache.commons.math3.analysis.integration
Class IterativeLegendreGaussIntegrator

java.lang.Object
  extended by org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator
      extended by org.apache.commons.math3.analysis.integration.IterativeLegendreGaussIntegrator
All Implemented Interfaces:
UnivariateIntegrator

public class IterativeLegendreGaussIntegrator
extends BaseAbstractUnivariateIntegrator

This algorithm divides the integration interval into equally-sized sub-interval and on each of them performs a Legendre-Gauss quadrature.

Since:
3.1
Version:
$Id: IterativeLegendreGaussIntegrator.java 1416643 2012-12-03 19:37:14Z tn $

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
IterativeLegendreGaussIntegrator(int n, double relativeAccuracy, double absoluteAccuracy)
          Builds an integrator with given accuracies.
IterativeLegendreGaussIntegrator(int n, double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount)
          Builds an integrator with given accuracies and iterations counts.
IterativeLegendreGaussIntegrator(int n, int minimalIterationCount, int maximalIterationCount)
          Builds an integrator with given iteration counts.
 
Method Summary
protected  double doIntegrate()
          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, integrate, setup
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IterativeLegendreGaussIntegrator

public IterativeLegendreGaussIntegrator(int n,
                                        double relativeAccuracy,
                                        double absoluteAccuracy,
                                        int minimalIterationCount,
                                        int maximalIterationCount)
                                 throws NotStrictlyPositiveException,
                                        NumberIsTooSmallException
Builds an integrator with given accuracies and iterations counts.

Parameters:
n - Number of integration points.
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 smaller than or equal to the minimal number of iterations.

IterativeLegendreGaussIntegrator

public IterativeLegendreGaussIntegrator(int n,
                                        double relativeAccuracy,
                                        double absoluteAccuracy)
Builds an integrator with given accuracies.

Parameters:
n - Number of integration points.
relativeAccuracy - Relative accuracy of the result.
absoluteAccuracy - Absolute accuracy of the result.

IterativeLegendreGaussIntegrator

public IterativeLegendreGaussIntegrator(int n,
                                        int minimalIterationCount,
                                        int maximalIterationCount)
Builds an integrator with given iteration counts.

Parameters:
n - Number of integration points.
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 smaller than or equal to the minimal number of iterations.
Method Detail

doIntegrate

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


Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.