public class AdaptiveSimpsonIntegrator extends BaseAbstractUnivariateIntegrator
This method splits the integration interval into two equal parts and computes the value of the integral on each of these parts using a 3 point Simpson's rule. The same method is then applied again on each sub-interval, until the required accuracy is reached or the maximal number of iterations is reached.
For reference, see Introduction to Numerical Analysis, ISBN 038795452X, chapter 3.
Modifier and Type | Field and Description |
---|---|
static int |
MAX_ITERATIONS_COUNT
Maximal number of iterations allowed for this method.
|
DEFAULT_ABSOLUTE_ACCURACY, DEFAULT_MAX_ITERATIONS_COUNT, DEFAULT_MIN_ITERATIONS_COUNT, DEFAULT_RELATIVE_ACCURACY, iterations
Constructor and Description |
---|
AdaptiveSimpsonIntegrator()
Construct an integrator with default settings.
|
AdaptiveSimpsonIntegrator(double relativeAccuracy,
double absoluteAccuracy,
int minimalIterationCount,
int maximalIterationCount)
Build an adaptive Simpson integrator with given accuracies and iterations counts.
|
AdaptiveSimpsonIntegrator(int minimalIterationCount,
int maximalIterationCount)
Build an adaptive Simpson 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 MAX_ITERATIONS_COUNT
public AdaptiveSimpsonIntegrator(double relativeAccuracy, double absoluteAccuracy, int minimalIterationCount, int maximalIterationCount)
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
MAX_ITERATIONS_COUNT
)NumberIsTooLargeException
- if maximal number of iterations is greater than
MAX_ITERATIONS_COUNT
public AdaptiveSimpsonIntegrator(int minimalIterationCount, int maximalIterationCount)
minimalIterationCount
- minimum number of iterationsmaximalIterationCount
- maximum number of iterations (must be less than or equal to
MAX_ITERATIONS_COUNT
)NumberIsTooLargeException
- if maximal number of iterations is greater than
MAX_ITERATIONS_COUNT
public AdaptiveSimpsonIntegrator()
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 © 2023 CNES. All rights reserved.