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, integrate, setup
public static final int ROMBERG_MAX_ITERATIONS_COUNT
public RombergIntegrator(double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount) throws MathIllegalArgumentException
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
)MathIllegalArgumentException
- if minimal number of iterations
is not strictly positiveMathIllegalArgumentException
- if maximal number of iterations
is lesser than or equal to the minimal number of iterationsMathIllegalArgumentException
- if maximal number of iterations
is greater than ROMBERG_MAX_ITERATIONS_COUNT
public RombergIntegrator(int minimalIterationCount, int maximalIterationCount) throws MathIllegalArgumentException
minimalIterationCount
- minimum number of iterationsmaximalIterationCount
- maximum number of iterations
(must be less than or equal to ROMBERG_MAX_ITERATIONS_COUNT
)MathIllegalArgumentException
- if minimal number of iterations
is not strictly positiveMathIllegalArgumentException
- if maximal number of iterations
is lesser than or equal to the minimal number of iterationsMathIllegalArgumentException
- if maximal number of iterations
is greater than ROMBERG_MAX_ITERATIONS_COUNT
public RombergIntegrator()
ROMBERG_MAX_ITERATIONS_COUNT
)protected double doIntegrate() throws MathIllegalStateException
doIntegrate
in class BaseAbstractUnivariateIntegrator
MathIllegalStateException
- if the maximal number of evaluations
is exceeded.Copyright © 2016-2021 CS GROUP. All rights reserved.