org.apache.commons.math
Class ConvergingAlgorithmImpl

java.lang.Object
  extended by org.apache.commons.math.ConvergingAlgorithmImpl
All Implemented Interfaces:
ConvergingAlgorithm
Direct Known Subclasses:
AbstractUnivariateRealOptimizer, UnivariateRealIntegratorImpl, UnivariateRealSolverImpl

Deprecated. in 2.2 (to be removed in 3.0).

public abstract class ConvergingAlgorithmImpl
extends Object
implements ConvergingAlgorithm

Provide a default implementation for several functions useful to generic converging algorithms.

Since:
2.0
Version:
$Revision: 1062691 $ $Date: 2011-01-24 10:12:47 +0100 (lun. 24 janv. 2011) $

Field Summary
protected  double absoluteAccuracy
          Deprecated. Maximum absolute error.
protected  double defaultAbsoluteAccuracy
          Deprecated. Default maximum absolute error.
protected  int defaultMaximalIterationCount
          Deprecated. Default maximum number of iterations.
protected  double defaultRelativeAccuracy
          Deprecated. Default maximum relative error.
protected  int iterationCount
          Deprecated. The last iteration count.
protected  int maximalIterationCount
          Deprecated. Maximum number of iterations.
protected  double relativeAccuracy
          Deprecated. Maximum relative error.
 
Constructor Summary
protected ConvergingAlgorithmImpl()
          Deprecated. in 2.2 (to be removed as soon as the single non-default one has been removed).
protected ConvergingAlgorithmImpl(int defaultMaximalIterationCount, double defaultAbsoluteAccuracy)
          Deprecated. in 2.2. Derived classes should use the "setter" methods in order to assign meaningful values to all the instances variables.
 
Method Summary
 double getAbsoluteAccuracy()
          Deprecated. Get the actual absolute accuracy.
 int getIterationCount()
          Deprecated. Get the number of iterations in the last run of the algorithm.
 int getMaximalIterationCount()
          Deprecated. Get the upper limit for the number of iterations.
 double getRelativeAccuracy()
          Deprecated. Get the actual relative accuracy.
protected  void incrementIterationsCounter()
          Deprecated. Increment the iterations counter by 1.
 void resetAbsoluteAccuracy()
          Deprecated. Reset the absolute accuracy to the default.
protected  void resetIterationsCounter()
          Deprecated. Reset the iterations counter to 0.
 void resetMaximalIterationCount()
          Deprecated. Reset the upper limit for the number of iterations to the default.
 void resetRelativeAccuracy()
          Deprecated. Reset the relative accuracy to the default.
 void setAbsoluteAccuracy(double accuracy)
          Deprecated. Set the absolute accuracy.
 void setMaximalIterationCount(int count)
          Deprecated. Set the upper limit for the number of iterations.
 void setRelativeAccuracy(double accuracy)
          Deprecated. Set the relative accuracy.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

absoluteAccuracy

protected double absoluteAccuracy
Deprecated. 
Maximum absolute error.


relativeAccuracy

protected double relativeAccuracy
Deprecated. 
Maximum relative error.


maximalIterationCount

protected int maximalIterationCount
Deprecated. 
Maximum number of iterations.


defaultAbsoluteAccuracy

protected double defaultAbsoluteAccuracy
Deprecated. 
Default maximum absolute error.


defaultRelativeAccuracy

protected double defaultRelativeAccuracy
Deprecated. 
Default maximum relative error.


defaultMaximalIterationCount

protected int defaultMaximalIterationCount
Deprecated. 
Default maximum number of iterations.


iterationCount

protected int iterationCount
Deprecated. 
The last iteration count.

Constructor Detail

ConvergingAlgorithmImpl

@Deprecated
protected ConvergingAlgorithmImpl(int defaultMaximalIterationCount,
                                             double defaultAbsoluteAccuracy)
Deprecated. in 2.2. Derived classes should use the "setter" methods in order to assign meaningful values to all the instances variables.

Construct an algorithm with given iteration count and accuracy.

Parameters:
defaultAbsoluteAccuracy - maximum absolute error
defaultMaximalIterationCount - maximum number of iterations
Throws:
IllegalArgumentException - if f is null or the defaultAbsoluteAccuracy is not valid

ConvergingAlgorithmImpl

@Deprecated
protected ConvergingAlgorithmImpl()
Deprecated. in 2.2 (to be removed as soon as the single non-default one has been removed).

Default constructor.

Since:
2.2
Method Detail

getIterationCount

public int getIterationCount()
Deprecated. 
Get the number of iterations in the last run of the algorithm.

This is mainly meant for testing purposes. It may occasionally help track down performance problems: if the iteration count is notoriously high, check whether the problem is evaluated properly, and whether another algorithm is more amenable to the problem.

Specified by:
getIterationCount in interface ConvergingAlgorithm
Returns:
the last iteration count.

setAbsoluteAccuracy

public void setAbsoluteAccuracy(double accuracy)
Deprecated. 
Set the absolute accuracy.

The default is usually chosen so that results in the interval -10..-0.1 and +0.1..+10 can be found with a reasonable accuracy. If the expected absolute value of your results is of much smaller magnitude, set this to a smaller value.

Algorithms are advised to do a plausibility check with the relative accuracy, but clients should not rely on this.

Specified by:
setAbsoluteAccuracy in interface ConvergingAlgorithm
Parameters:
accuracy - the accuracy.

getAbsoluteAccuracy

public double getAbsoluteAccuracy()
Deprecated. 
Get the actual absolute accuracy.

Specified by:
getAbsoluteAccuracy in interface ConvergingAlgorithm
Returns:
the accuracy

resetAbsoluteAccuracy

public void resetAbsoluteAccuracy()
Deprecated. 
Reset the absolute accuracy to the default.

The default value is provided by the algorithm implementation.

Specified by:
resetAbsoluteAccuracy in interface ConvergingAlgorithm

setMaximalIterationCount

public void setMaximalIterationCount(int count)
Deprecated. 
Set the upper limit for the number of iterations.

Usually a high iteration count indicates convergence problems. However, the "reasonable value" varies widely for different algorithms. Users are advised to use the default value supplied by the algorithm.

A ConvergenceException will be thrown if this number is exceeded.

Specified by:
setMaximalIterationCount in interface ConvergingAlgorithm
Parameters:
count - maximum number of iterations

getMaximalIterationCount

public int getMaximalIterationCount()
Deprecated. 
Get the upper limit for the number of iterations.

Specified by:
getMaximalIterationCount in interface ConvergingAlgorithm
Returns:
the actual upper limit

resetMaximalIterationCount

public void resetMaximalIterationCount()
Deprecated. 
Reset the upper limit for the number of iterations to the default.

The default value is supplied by the algorithm implementation.

Specified by:
resetMaximalIterationCount in interface ConvergingAlgorithm
See Also:
ConvergingAlgorithm.setMaximalIterationCount(int)

setRelativeAccuracy

public void setRelativeAccuracy(double accuracy)
Deprecated. 
Set the relative accuracy.

This is used to stop iterations if the absolute accuracy can't be achieved due to large values or short mantissa length.

If this should be the primary criterion for convergence rather then a safety measure, set the absolute accuracy to a ridiculously small value, like MathUtils.SAFE_MIN.

Specified by:
setRelativeAccuracy in interface ConvergingAlgorithm
Parameters:
accuracy - the relative accuracy.

getRelativeAccuracy

public double getRelativeAccuracy()
Deprecated. 
Get the actual relative accuracy.

Specified by:
getRelativeAccuracy in interface ConvergingAlgorithm
Returns:
the accuracy

resetRelativeAccuracy

public void resetRelativeAccuracy()
Deprecated. 
Reset the relative accuracy to the default. The default value is provided by the algorithm implementation.

Specified by:
resetRelativeAccuracy in interface ConvergingAlgorithm

resetIterationsCounter

protected void resetIterationsCounter()
Deprecated. 
Reset the iterations counter to 0.

Since:
2.2

incrementIterationsCounter

protected void incrementIterationsCounter()
                                   throws MaxIterationsExceededException
Deprecated. 
Increment the iterations counter by 1.

Throws:
MaxIterationsExceededException - if the maximal number of iterations is exceeded.
Since:
2.2


Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.