Top Description Fields Constructors Methods
org.apache.commons.math3.analysis.integration

public Class RombergIntegrator

extends BaseAbstractUnivariateIntegrator
Class Inheritance
Imports
org.apache.commons.math3.exception.MaxCountExceededException, .NotStrictlyPositiveException, .NumberIsTooLargeException, .NumberIsTooSmallException, .TooManyEvaluationsException, org.apache.commons.math3.util.FastMath

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

Field Summary

Modifier and TypeField and Description
public static final int
ROMBERG_MAX_ITERATIONS_COUNT

Maximal number of iterations for Romberg.

Inherited from org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator:
DEFAULT_ABSOLUTE_ACCURACYDEFAULT_MAX_ITERATIONS_COUNTDEFAULT_MIN_ITERATIONS_COUNTDEFAULT_RELATIVE_ACCURACYiterations

Constructor Summary

AccessConstructor and Description
public
RombergIntegrator(final double
relative accuracy of the result
relativeAccuracy
,
final double
absolute accuracy of the result
absoluteAccuracy
,
final int
minimum number of iterations
minimalIterationCount
,
final int
maximum number of iterations (must be less than or equal to ROMBERG_MAX_ITERATIONS_COUNT)
maximalIterationCount
)

Build a Romberg integrator with given accuracies and iterations counts.

public
RombergIntegrator(final int
minimum number of iterations
minimalIterationCount
,
final int
maximum number of iterations (must be less than or equal to ROMBERG_MAX_ITERATIONS_COUNT)
maximalIterationCount
)

Build a Romberg integrator with given iteration counts.

public
RombergIntegrator()

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

Method Summary

Modifier and TypeMethod and Description
protected double
doIntegrate()

Implements abstract org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator.doIntegrate.

Method for implementing actual integration algorithms in derived classes.

Inherited from org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator:
computeObjectiveValuegetAbsoluteAccuracygetEvaluationsgetIterationsgetMaxgetMaximalIterationCountgetMingetMinimalIterationCountgetRelativeAccuracyincrementCountintegratesetup

Field Detail

ROMBERG_MAX_ITERATIONS_COUNTback to summary
public static final int ROMBERG_MAX_ITERATIONS_COUNT

Maximal number of iterations for Romberg.

Constructor Detail

RombergIntegratorback to summary
public RombergIntegrator(final double relativeAccuracy, final double absoluteAccuracy, final int minimalIterationCount, final int maximalIterationCount) throws NotStrictlyPositiveException, NumberIsTooSmallException, NumberIsTooLargeException

Build a Romberg integrator with given accuracies and iterations counts.

Parameters
relativeAccuracy:double

relative accuracy of the result

absoluteAccuracy:double

absolute accuracy of the result

minimalIterationCount:int

minimum number of iterations

maximalIterationCount:int

maximum number of iterations (must be less than or equal to ROMBERG_MAX_ITERATIONS_COUNT)

Exceptions
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
RombergIntegratorback to summary
public RombergIntegrator(final int minimalIterationCount, final int maximalIterationCount) throws NotStrictlyPositiveException, NumberIsTooSmallException, NumberIsTooLargeException

Build a Romberg integrator with given iteration counts.

Parameters
minimalIterationCount:int

minimum number of iterations

maximalIterationCount:int

maximum number of iterations (must be less than or equal to ROMBERG_MAX_ITERATIONS_COUNT)

Exceptions
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
RombergIntegratorback to summary
public RombergIntegrator()

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

Method Detail

doIntegrateback to summary
protected double doIntegrate() throws TooManyEvaluationsException, MaxCountExceededException

Implements abstract org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator.doIntegrate.

Doc from org.apache.commons.math3.analysis.integration.BaseAbstractUnivariateIntegrator.doIntegrate.

Method for implementing actual integration algorithms in derived classes.

Returns:double

the root.

Annotations
@Override
Exceptions
TooManyEvaluationsException:
if the maximal number of evaluations is exceeded.
MaxCountExceededException:
if the maximum iteration count is exceeded or the integrator detects convergence problems otherwise