gov.sandia.cognition.learning.algorithm.minimization.line.interpolator
Class AbstractLineBracketInterpolatorPolynomial<EvaluatorType extends Evaluator<Double,Double>>

java.lang.Object
  extended by gov.sandia.cognition.util.AbstractCloneableSerializable
      extended by gov.sandia.cognition.learning.algorithm.minimization.line.interpolator.AbstractLineBracketInterpolator<EvaluatorType>
          extended by gov.sandia.cognition.learning.algorithm.minimization.line.interpolator.AbstractLineBracketInterpolatorPolynomial<EvaluatorType>
Type Parameters:
EvaluatorType - Type of Evaluator to consider
All Implemented Interfaces:
LineBracketInterpolator<EvaluatorType>, CloneableSerializable, Serializable, Cloneable
Direct Known Subclasses:
LineBracketInterpolatorHermiteCubic, LineBracketInterpolatorHermiteParabola, LineBracketInterpolatorLinear, LineBracketInterpolatorParabola

public abstract class AbstractLineBracketInterpolatorPolynomial<EvaluatorType extends Evaluator<Double,Double>>
extends AbstractLineBracketInterpolator<EvaluatorType>

Partial implementation of a LineBracketInterpolator based on a closed-form polynomial function.

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

Field Summary
 
Fields inherited from class gov.sandia.cognition.learning.algorithm.minimization.line.interpolator.AbstractLineBracketInterpolator
DEFAULT_TOLERANCE
 
Constructor Summary
AbstractLineBracketInterpolatorPolynomial(double tolerance)
          Creates a new instance of AbstractLineBracketInterpolatorPolynomial
 
Method Summary
abstract  PolynomialFunction.ClosedForm computePolynomial(LineBracket bracket, EvaluatorType function)
          Fits the interpolating polynomial to the given LineBracket
 double findMinimum(LineBracket bracket, double minx, double maxx, EvaluatorType function)
          Finds the minimum of the bracket using the interpolation/extrapolation routine, where the minimum must lie between the minx and maxx values on the x-axis.
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.minimization.line.interpolator.AbstractLineBracketInterpolator
getTolerance, setTolerance
 
Methods inherited from class gov.sandia.cognition.util.AbstractCloneableSerializable
clone
 
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.minimization.line.interpolator.LineBracketInterpolator
hasSufficientPoints
 
Methods inherited from interface gov.sandia.cognition.util.CloneableSerializable
clone
 

Constructor Detail

AbstractLineBracketInterpolatorPolynomial

public AbstractLineBracketInterpolatorPolynomial(double tolerance)
Creates a new instance of AbstractLineBracketInterpolatorPolynomial

Parameters:
tolerance - Collinear tolerance of the algorithm.
Method Detail

findMinimum

public double findMinimum(LineBracket bracket,
                          double minx,
                          double maxx,
                          EvaluatorType function)
Description copied from interface: LineBracketInterpolator
Finds the minimum of the bracket using the interpolation/extrapolation routine, where the minimum must lie between the minx and maxx values on the x-axis.

Parameters:
bracket - Bracket of points
minx - Minimum x-axis value to search for the minimum
maxx - Maximum x-axis value to search for the minimum
function - Function to consider. The function, or gradient, may be evaluated to generate enough output/slope samples to interpolate.
Returns:
Minimum value of the function between minx and maxx.

computePolynomial

public abstract PolynomialFunction.ClosedForm computePolynomial(LineBracket bracket,
                                                                EvaluatorType function)
Fits the interpolating polynomial to the given LineBracket

Parameters:
bracket - LineBracket to consider
function - Function to use to fill in missing information
Returns:
Interpolating polynomial