org.apache.commons.math.analysis.integration
Class RombergIntegrator

java.lang.Object
  extended by org.apache.commons.math.ConvergingAlgorithmImpl
      extended by org.apache.commons.math.analysis.integration.UnivariateRealIntegratorImpl
          extended by org.apache.commons.math.analysis.integration.RombergIntegrator
All Implemented Interfaces:
UnivariateRealIntegrator, ConvergingAlgorithm

public class RombergIntegrator
extends UnivariateRealIntegratorImpl

Implements the Romberg Algorithm for integration of real univariate functions. For reference, see Introduction to Numerical Analysis, ISBN 038795452X, chapter 3.

Romberg integration employs k successive refinements of the trapezoid rule to remove error terms less than order O(N^(-2k)). Simpson's rule is a special case of k = 2.

Since:
1.2
Version:
$Revision: 1070725 $ $Date: 2011-02-15 02:31:12 +0100 (mar. 15 févr. 2011) $

Field Summary
 
Fields inherited from class org.apache.commons.math.analysis.integration.UnivariateRealIntegratorImpl
defaultMinimalIterationCount, f, minimalIterationCount, result, resultComputed
 
Fields inherited from class org.apache.commons.math.ConvergingAlgorithmImpl
absoluteAccuracy, defaultAbsoluteAccuracy, defaultMaximalIterationCount, defaultRelativeAccuracy, iterationCount, maximalIterationCount, relativeAccuracy
 
Constructor Summary
RombergIntegrator()
          Construct an integrator.
RombergIntegrator(UnivariateRealFunction f)
          Deprecated. as of 2.0 the integrand function is passed as an argument to the integrate(UnivariateRealFunction, double, double)method.
 
Method Summary
 double integrate(double min, double max)
          Deprecated. 
 double integrate(UnivariateRealFunction f, double min, double max)
          Integrate the function in the given interval.
protected  void verifyIterationCount()
          Verifies that the upper and lower limits of iterations are valid.
 
Methods inherited from class org.apache.commons.math.analysis.integration.UnivariateRealIntegratorImpl
clearResult, getMinimalIterationCount, getResult, resetMinimalIterationCount, setMinimalIterationCount, setResult, verifyInterval
 
Methods inherited from class org.apache.commons.math.ConvergingAlgorithmImpl
getAbsoluteAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, incrementIterationsCounter, resetAbsoluteAccuracy, resetIterationsCounter, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setMaximalIterationCount, setRelativeAccuracy
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.commons.math.ConvergingAlgorithm
getAbsoluteAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, resetAbsoluteAccuracy, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setMaximalIterationCount, setRelativeAccuracy
 

Constructor Detail

RombergIntegrator

@Deprecated
public RombergIntegrator(UnivariateRealFunction f)
Deprecated. as of 2.0 the integrand function is passed as an argument to the integrate(UnivariateRealFunction, double, double)method.

Construct an integrator for the given function.

Parameters:
f - function to integrate

RombergIntegrator

public RombergIntegrator()
Construct an integrator.

Method Detail

integrate

@Deprecated
public double integrate(double min,
                                   double max)
                 throws MaxIterationsExceededException,
                        FunctionEvaluationException,
                        IllegalArgumentException
Deprecated. 

Integrate the function in the given interval.

Parameters:
min - the lower bound for the interval
max - the upper bound for the interval
Returns:
the value of integral
Throws:
FunctionEvaluationException - if an error occurs evaluating the function
IllegalArgumentException - if min > max or the endpoints do not satisfy the requirements specified by the integrator
MaxIterationsExceededException

integrate

public double integrate(UnivariateRealFunction f,
                        double min,
                        double max)
                 throws MaxIterationsExceededException,
                        FunctionEvaluationException,
                        IllegalArgumentException
Integrate the function in the given interval.

Parameters:
f - the integrand function
min - the lower bound for the interval
max - the upper bound for the interval
Returns:
the value of integral
Throws:
FunctionEvaluationException - if an error occurs evaluating the function
IllegalArgumentException - if min > max or the endpoints do not satisfy the requirements specified by the integrator
MaxIterationsExceededException

verifyIterationCount

protected void verifyIterationCount()
                             throws IllegalArgumentException
Verifies that the upper and lower limits of iterations are valid.

Overrides:
verifyIterationCount in class UnivariateRealIntegratorImpl
Throws:
IllegalArgumentException - if not valid


Copyright (c) 2003-2013 Apache Software Foundation