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 int
default minimum number of iterationsprotected UnivariateRealFunction
Deprecated.protected int
minimum number of iterationsprotected double
the last computed integralprotected boolean
indicates whether an integral has been computedFields inherited from class org.apache.commons.math.ConvergingAlgorithmImpl
absoluteAccuracy, defaultAbsoluteAccuracy, defaultMaximalIterationCount, defaultRelativeAccuracy, iterationCount, maximalIterationCount, relativeAccuracy
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
UnivariateRealIntegratorImpl
(int defaultMaximalIterationCount) Construct an integrator with given iteration count and accuracy.protected
UnivariateRealIntegratorImpl
(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 void
Convenience function for implementations.int
Get the lower limit for the number of iterations.double
Access the last computed integral.void
Reset the lower limit for the number of iterations to the default.void
setMinimalIterationCount
(int count) Set the lower limit for the number of iterations.protected final void
setResult
(double newResult, int iterationCount) Convenience function for implementations.protected void
verifyInterval
(double lower, double upper) Verifies that the endpoints specify an interval.protected void
Verifies 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, setRelativeAccuracy
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.commons.math.ConvergingAlgorithm
getAbsoluteAccuracy, getIterationCount, getMaximalIterationCount, getRelativeAccuracy, resetAbsoluteAccuracy, resetMaximalIterationCount, resetRelativeAccuracy, setAbsoluteAccuracy, setMaximalIterationCount, setRelativeAccuracy
Methods 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:
getResult
in 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
ConvergenceException
will be thrown if this number is not met.- Specified by:
setMinimalIterationCount
in interfaceUnivariateRealIntegrator
- Parameters:
count
- minimum number of iterations
-
getMinimalIterationCount
public int getMinimalIterationCount()Get the lower limit for the number of iterations.- Specified by:
getMinimalIterationCount
in 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:
resetMinimalIterationCount
in 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.