Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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

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

All Implemented Interfaces:
  UnivariateIntegrator

    public class RombergIntegrator

extends BaseAbstractUnivariateIntegrator

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:
  $Id: RombergIntegrator.java 1364387 2012-07-22 18:14:11Z tn $

Field Summary
`static int` | `ROMBERG_MAX_ITERATIONS_COUNT` Maximal number of iterations for Romberg.

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
`RombergIntegrator()` Construct a Romberg integrator with default settings (max iteration count set to `ROMBERG_MAX_ITERATIONS_COUNT`)
`RombergIntegrator(double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount)` Build a Romberg integrator with given accuracies and iterations counts.
`RombergIntegrator(int minimalIterationCount, int maximalIterationCount)` Build a Romberg 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`

Field Detail

### ROMBERG_MAX_ITERATIONS_COUNT

    public static final int ROMBERG_MAX_ITERATIONS_COUNT

  Maximal number of iterations for Romberg.

  See Also:
    Constant Field Values

Constructor Detail

### RombergIntegrator

    public RombergIntegrator(double relativeAccuracy,
                             double absoluteAccuracy,
                             int minimalIterationCount,
                             int maximalIterationCount)
                      throws NotStrictlyPositiveException,
                             NumberIsTooSmallException,
                             NumberIsTooLargeException

  Build a Romberg integrator with given accuracies and iterations counts.

  Parameters:
    `relativeAccuracy` - relative accuracy of the result
    `absoluteAccuracy` - absolute accuracy of the result
    `minimalIterationCount` - minimum number of iterations
    `maximalIterationCount` - maximum number of iterations (must be less than or equal to `ROMBERG_MAX_ITERATIONS_COUNT`)
  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
    `NumberIsTooLargeException` - if maximal number of iterations is greater than `ROMBERG_MAX_ITERATIONS_COUNT`

### RombergIntegrator

    public RombergIntegrator(int minimalIterationCount,
                             int maximalIterationCount)
                      throws NotStrictlyPositiveException,
                             NumberIsTooSmallException,
                             NumberIsTooLargeException

  Build a Romberg integrator with given iteration counts.

  Parameters:
    `minimalIterationCount` - minimum number of iterations
    `maximalIterationCount` - maximum number of iterations (must be less than or equal to `ROMBERG_MAX_ITERATIONS_COUNT`)
  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
    `NumberIsTooLargeException` - if maximal number of iterations is greater than `ROMBERG_MAX_ITERATIONS_COUNT`

### RombergIntegrator

    public RombergIntegrator()

  Construct a Romberg integrator with default settings (max iteration count set to `ROMBERG_MAX_ITERATIONS_COUNT`)

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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