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 Details

    • minimalIterationCount

      protected int minimalIterationCount
      minimum number of iterations
    • defaultMinimalIterationCount

      protected int defaultMinimalIterationCount
      default minimum number of iterations
    • resultComputed

      protected boolean resultComputed
      indicates whether an integral has been computed
    • result

      protected double result
      the last computed integral
    • f

      Deprecated.
      as of 2.0 the integrand function is passed as an argument to the UnivariateRealIntegrator.integrate(UnivariateRealFunction, double, double)method.
      The integrand function.
  • Constructor Details

  • Method Details

    • getResult

      public double getResult() throws IllegalStateException
      Access the last computed integral.
      Specified by:
      getResult in interface UnivariateRealIntegrator
      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 set
      iterationCount - 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 interface UnivariateRealIntegrator
      Parameters:
      count - minimum number of iterations
    • getMinimalIterationCount

      public int getMinimalIterationCount()
      Get the lower limit for the number of iterations.
      Specified by:
      getMinimalIterationCount in interface UnivariateRealIntegrator
      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 interface UnivariateRealIntegrator
      See Also:
    • verifyInterval

      protected void verifyInterval(double lower, double upper) throws IllegalArgumentException
      Verifies that the endpoints specify an interval.
      Parameters:
      lower - lower endpoint
      upper - upper endpoint
      Throws:
      IllegalArgumentException - if not interval
    • verifyIterationCount

      protected void verifyIterationCount() throws IllegalArgumentException
      Verifies that the upper and lower limits of iterations are valid.
      Throws:
      IllegalArgumentException - if not valid