gov.sandia.cognition.learning.algorithm.root
Class RootFinderRiddersMethod

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.algorithm.AbstractIterativeAlgorithm
          extended by gov.sandia.cognition.algorithm.AbstractAnytimeAlgorithm<ResultType>
              extended by gov.sandia.cognition.learning.algorithm.AbstractAnytimeBatchLearner<Evaluator<Double,Double>,InputOutputPair<Double,Double>>
                  extended by gov.sandia.cognition.learning.algorithm.root.AbstractRootFinder
                      extended by gov.sandia.cognition.learning.algorithm.root.AbstractBracketedRootFinder
                          extended by gov.sandia.cognition.learning.algorithm.root.RootFinderRiddersMethod
All Implemented Interfaces:
AnytimeAlgorithm<InputOutputPair<Double,Double>>, IterativeAlgorithm, MeasurablePerformanceAlgorithm, StoppableAlgorithm, AnytimeBatchLearner<Evaluator<Double,Double>,InputOutputPair<Double,Double>>, BatchLearner<Evaluator<Double,Double>,InputOutputPair<Double,Double>>, RootFinder, CloneableSerializable, Serializable, Cloneable

@PublicationReference(author="Wikipedia",
                      title="Ridders\' Method",
                      type=WebPage,
                      year=2009,
                      url="http://en.wikipedia.org/wiki/Ridders%27_method")
public class RootFinderRiddersMethod
extends AbstractBracketedRootFinder

The root-finding algorithm due to Ridders. This algorithm is guaranteed to find a root if given a valid bracket. It tends to have very good performance on real-world cases. It works by performing stable logarithmic interpolation between function evaluations in a way that maintains a rigorous bracket on a root. It has good overall performance and will converge to a root.

Since:
3.0
Author:
Kevin R. Dixon
See Also:
Serialized Form

Field Summary
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.root.AbstractBracketedRootFinder
DEFAULT_ROOT_BRACKETER
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.root.AbstractRootFinder
DEFAULT_MAX_ITERATIONS, DEFAULT_TOLERANCE
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.AbstractAnytimeBatchLearner
data, keepGoing
 
Fields inherited from class gov.sandia.cognition.algorithm.AbstractAnytimeAlgorithm
maxIterations
 
Fields inherited from class gov.sandia.cognition.algorithm.AbstractIterativeAlgorithm
DEFAULT_ITERATION, iteration
 
Constructor Summary
RootFinderRiddersMethod()
          Creates a new instance of RootFinderRiddersMethod
 
Method Summary
protected  boolean step()
          Called to take a single step of the learning algorithm.
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.root.AbstractBracketedRootFinder
cleanupAlgorithm, getBracketer, getResult, getRootBracket, initializeAlgorithm, setBracketer, setRootBracket
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.root.AbstractRootFinder
clone, getInitialGuess, getPerformance, getTolerance, setInitialGuess, setTolerance
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.AbstractAnytimeBatchLearner
getData, getKeepGoing, learn, setData, setKeepGoing, stop
 
Methods inherited from class gov.sandia.cognition.algorithm.AbstractAnytimeAlgorithm
getMaxIterations, isResultValid, setMaxIterations
 
Methods inherited from class gov.sandia.cognition.algorithm.AbstractIterativeAlgorithm
addIterativeAlgorithmListener, fireAlgorithmEnded, fireAlgorithmStarted, fireStepEnded, fireStepStarted, getIteration, getListeners, removeIterativeAlgorithmListener, setIteration, setListeners
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface gov.sandia.cognition.learning.algorithm.BatchLearner
learn
 
Methods inherited from interface gov.sandia.cognition.algorithm.AnytimeAlgorithm
getMaxIterations, setMaxIterations
 
Methods inherited from interface gov.sandia.cognition.algorithm.IterativeAlgorithm
addIterativeAlgorithmListener, getIteration, removeIterativeAlgorithmListener
 
Methods inherited from interface gov.sandia.cognition.algorithm.StoppableAlgorithm
isResultValid, stop
 

Constructor Detail

RootFinderRiddersMethod

public RootFinderRiddersMethod()
Creates a new instance of RootFinderRiddersMethod

Method Detail

step

protected boolean step()
Description copied from class: AbstractAnytimeBatchLearner
Called to take a single step of the learning algorithm.

Specified by:
step in class AbstractAnytimeBatchLearner<Evaluator<Double,Double>,InputOutputPair<Double,Double>>
Returns:
True if another step can be taken and false it the algorithm should halt.