public class RombergIntegrator extends BaseAbstractUnivariateIntegrator
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.
Modifier and Type | Field and Description |
---|---|
static int |
ROMBERG_MAX_ITERATIONS_COUNT
Maximal number of iterations for Romberg.
|
DEFAULT_ABSOLUTE_ACCURACY, DEFAULT_MAX_ITERATIONS_COUNT, DEFAULT_MIN_ITERATIONS_COUNT, DEFAULT_RELATIVE_ACCURACY, iterations
Constructor and Description |
---|
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.
|
Modifier and Type | Method and Description |
---|---|
protected double |
doIntegrate()
Method for implementing actual integration algorithms in derived
classes.
|
computeObjectiveValue, getAbsoluteAccuracy, getEvaluations, getIterations, getMax, getMaximalIterationCount, getMin, getMinimalIterationCount, getRelativeAccuracy, incrementCount, integrate, setup
public static final int ROMBERG_MAX_ITERATIONS_COUNT
public RombergIntegrator(double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount) throws NotStrictlyPositiveException, NumberIsTooSmallException, NumberIsTooLargeException
relativeAccuracy
- relative accuracy of the resultabsoluteAccuracy
- absolute accuracy of the resultminimalIterationCount
- minimum number of iterationsmaximalIterationCount
- maximum number of iterations
(must be less than or equal to ROMBERG_MAX_ITERATIONS_COUNT
)NotStrictlyPositiveException
- if minimal number of iterations
is not strictly positiveNumberIsTooSmallException
- if maximal number of iterations
is lesser than or equal to the minimal number of iterationsNumberIsTooLargeException
- if maximal number of iterations
is greater than ROMBERG_MAX_ITERATIONS_COUNT
public RombergIntegrator(int minimalIterationCount, int maximalIterationCount) throws NotStrictlyPositiveException, NumberIsTooSmallException, NumberIsTooLargeException
minimalIterationCount
- minimum number of iterationsmaximalIterationCount
- maximum number of iterations
(must be less than or equal to ROMBERG_MAX_ITERATIONS_COUNT
)NotStrictlyPositiveException
- if minimal number of iterations
is not strictly positiveNumberIsTooSmallException
- if maximal number of iterations
is lesser than or equal to the minimal number of iterationsNumberIsTooLargeException
- if maximal number of iterations
is greater than ROMBERG_MAX_ITERATIONS_COUNT
public RombergIntegrator()
ROMBERG_MAX_ITERATIONS_COUNT
)protected double doIntegrate() throws TooManyEvaluationsException, MaxCountExceededException
doIntegrate
in class BaseAbstractUnivariateIntegrator
TooManyEvaluationsException
- if the maximal number of evaluations
is exceeded.MaxCountExceededException
- if the maximum iteration count is exceeded
or the integrator detects convergence problems otherwiseCopyright © 2003–2016 The Apache Software Foundation. All rights reserved.