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

    java.lang.Object
      org.apache.commons.math.ConvergingAlgorithmImpl
          org.apache.commons.math.analysis.integration.UnivariateRealIntegratorImpl
              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: 824822 $ $Date: 2009-10-13 11:56:51 -0400 (Tue, 13 Oct 2009) $

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, resetAbsoluteAccuracy, 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,
                            java.lang.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
    `java.lang.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,
                            java.lang.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
    `java.lang.IllegalArgumentException` - if min > max or the endpoints do not satisfy the requirements specified by the integrator
    `MaxIterationsExceededException`

### verifyIterationCount

    protected void verifyIterationCount()
                                 throws java.lang.IllegalArgumentException

  Verifies that the upper and lower limits of iterations are valid.

  Overrides:
    `verifyIterationCount` in class `UnivariateRealIntegratorImpl`
  Throws:
    `java.lang.IllegalArgumentException` - if not valid

Copyright (c) 2003-2011 Apache Software Foundation