Class UnivariateRealIntegratorImpl
java.lang.Object
org.apache.commons.math.ConvergingAlgorithmImpl
org.apache.commons.math.analysis.integration.UnivariateRealIntegratorImpl
- All Implemented Interfaces:
UnivariateRealIntegrator,ConvergingAlgorithm
- Direct Known Subclasses:
LegendreGaussIntegrator,RombergIntegrator,SimpsonIntegrator,TrapezoidIntegrator
public abstract class UnivariateRealIntegratorImpl
extends ConvergingAlgorithmImpl
implements UnivariateRealIntegrator
Provide a default implementation for several generic functions.
- Since:
- 1.2
- Version:
- $Revision: 1072409 $ $Date: 2011-02-19 19:50:36 +0100 (sam. 19 févr. 2011) $
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected intdefault minimum number of iterationsprotected UnivariateRealFunctionDeprecated.protected intminimum number of iterationsprotected doublethe last computed integralprotected booleanindicates whether an integral has been computedFields inherited from class org.apache.commons.math.ConvergingAlgorithmImpl
absoluteAccuracy, defaultAbsoluteAccuracy, defaultMaximalIterationCount, defaultRelativeAccuracy, iterationCount, maximalIterationCount, relativeAccuracy -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedUnivariateRealIntegratorImpl(int defaultMaximalIterationCount) Construct an integrator with given iteration count and accuracy.protectedUnivariateRealIntegratorImpl(UnivariateRealFunction f, int defaultMaximalIterationCount) Deprecated.as of 2.0 the integrand function is passed as an argument to theUnivariateRealIntegrator.integrate(UnivariateRealFunction, double, double)method. -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidConvenience function for implementations.intGet the lower limit for the number of iterations.doubleAccess the last computed integral.voidReset the lower limit for the number of iterations to the default.voidsetMinimalIterationCount(int count) Set the lower limit for the number of iterations.protected final voidsetResult(double newResult, int iterationCount) Convenience function for implementations.protected voidverifyInterval(double lower, double upper) Verifies that the endpoints specify an interval.protected voidVerifies that the upper and lower limits of iterations are valid.Methods inherited from class org.apache.commons.math.ConvergingAlgorithmImpl
getAbsoluteAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, incrementIterationsCounter, resetAbsoluteAccuracy, resetIterationsCounter, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setMaximalIterationCount, setRelativeAccuracyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.commons.math.ConvergingAlgorithm
getAbsoluteAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, resetAbsoluteAccuracy, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setMaximalIterationCount, setRelativeAccuracyMethods inherited from interface org.apache.commons.math.analysis.integration.UnivariateRealIntegrator
integrate, integrate
-
Field Details
-
minimalIterationCount
protected int minimalIterationCountminimum number of iterations -
defaultMinimalIterationCount
protected int defaultMinimalIterationCountdefault minimum number of iterations -
resultComputed
protected boolean resultComputedindicates whether an integral has been computed -
result
protected double resultthe last computed integral -
f
Deprecated.as of 2.0 the integrand function is passed as an argument to theUnivariateRealIntegrator.integrate(UnivariateRealFunction, double, double)method.The integrand function.
-
-
Constructor Details
-
UnivariateRealIntegratorImpl
@Deprecated protected UnivariateRealIntegratorImpl(UnivariateRealFunction f, int defaultMaximalIterationCount) throws IllegalArgumentException Deprecated.as of 2.0 the integrand function is passed as an argument to theUnivariateRealIntegrator.integrate(UnivariateRealFunction, double, double)method.Construct an integrator with given iteration count and accuracy.- Parameters:
f- the integrand functiondefaultMaximalIterationCount- maximum number of iterations- Throws:
IllegalArgumentException- if f is null or the iteration limits are not valid
-
UnivariateRealIntegratorImpl
protected UnivariateRealIntegratorImpl(int defaultMaximalIterationCount) throws IllegalArgumentException Construct an integrator with given iteration count and accuracy.- Parameters:
defaultMaximalIterationCount- maximum number of iterations- Throws:
IllegalArgumentException- if f is null or the iteration limits are not valid
-
-
Method Details
-
getResult
Access the last computed integral.- Specified by:
getResultin interfaceUnivariateRealIntegrator- Returns:
- the last computed integral
- Throws:
IllegalStateException- if no integral has been computed
-
setResult
protected final void setResult(double newResult, int iterationCount) Convenience function for implementations.- Parameters:
newResult- the result to setiterationCount- the iteration count to set
-
clearResult
protected final void clearResult()Convenience function for implementations. -
setMinimalIterationCount
public void setMinimalIterationCount(int count) Set the lower limit for the number of iterations.Minimal iteration is needed to avoid false early convergence, e.g. the sample points happen to be zeroes of the function. Users can use the default value or choose one that they see as appropriate.
A
ConvergenceExceptionwill be thrown if this number is not met.- Specified by:
setMinimalIterationCountin interfaceUnivariateRealIntegrator- Parameters:
count- minimum number of iterations
-
getMinimalIterationCount
public int getMinimalIterationCount()Get the lower limit for the number of iterations.- Specified by:
getMinimalIterationCountin interfaceUnivariateRealIntegrator- Returns:
- the actual lower limit
-
resetMinimalIterationCount
public void resetMinimalIterationCount()Reset the lower limit for the number of iterations to the default.The default value is supplied by the implementation.
- Specified by:
resetMinimalIterationCountin interfaceUnivariateRealIntegrator- See Also:
-
verifyInterval
Verifies that the endpoints specify an interval.- Parameters:
lower- lower endpointupper- upper endpoint- Throws:
IllegalArgumentException- if not interval
-
verifyIterationCount
Verifies that the upper and lower limits of iterations are valid.- Throws:
IllegalArgumentException- if not valid
-
UnivariateRealIntegrator.integrate(UnivariateRealFunction, double, double)method.