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, setuppublic 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_COUNTpublic 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_COUNTpublic AdaptiveSimpsonIntegrator()
MAX_ITERATIONS_COUNT)protected double doIntegrate()
throws TooManyEvaluationsException,
MaxCountExceededException
doIntegrate in class BaseAbstractUnivariateIntegratorTooManyEvaluationsException - if the maximal number of evaluations
is exceeded.MaxCountExceededException - if the maximum iteration count is exceeded
or the integrator detects convergence problems otherwiseCopyright © 2025 CNES. All rights reserved.