gov.sandia.cognition.learning.algorithm.minimization.line.interpolator
Class LineBracketInterpolatorParabola

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<Evaluator<Double,Double>>
              extended by gov.sandia.cognition.learning.algorithm.minimization.line.interpolator.LineBracketInterpolatorParabola
All Implemented Interfaces:
LineBracketInterpolator<Evaluator<Double,Double>>, CloneableSerializable, Serializable, Cloneable

public class LineBracketInterpolatorParabola
extends AbstractLineBracketInterpolatorPolynomial<Evaluator<Double,Double>>

Interpolates using a parabola based on three points without slope information.

Since:
2.1
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
LineBracketInterpolatorParabola()
          Creates a new instance of LineBracketInterpolatorParabola
 
Method Summary
 PolynomialFunction.ClosedForm computePolynomial(LineBracket bracket, Evaluator<Double,Double> function)
          Fits the interpolating polynomial to the given LineBracket
 boolean hasSufficientPoints(LineBracket bracket)
          Parabolic interpolation needs three noncollinear points to fit a parabola to them.
 
Methods inherited from class gov.sandia.cognition.learning.algorithm.minimization.line.interpolator.AbstractLineBracketInterpolatorPolynomial
findMinimum
 
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.util.CloneableSerializable
clone
 

Constructor Detail

LineBracketInterpolatorParabola

public LineBracketInterpolatorParabola()
Creates a new instance of LineBracketInterpolatorParabola

Method Detail

hasSufficientPoints

public boolean hasSufficientPoints(LineBracket bracket)
Parabolic interpolation needs three noncollinear points to fit a parabola to them. So, we need the bounds and one other (noncollinear) point. This parabola does not use derivative information.

Parameters:
bracket - LineBracket to consider
Returns:
True if we have sufficient points, false otherwise

computePolynomial

public PolynomialFunction.ClosedForm computePolynomial(LineBracket bracket,
                                                       Evaluator<Double,Double> function)
Description copied from class: AbstractLineBracketInterpolatorPolynomial
Fits the interpolating polynomial to the given LineBracket

Specified by:
computePolynomial in class AbstractLineBracketInterpolatorPolynomial<Evaluator<Double,Double>>
Parameters:
bracket - LineBracket to consider
function - Function to use to fill in missing information
Returns:
Interpolating polynomial