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

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

public class LineBracketInterpolatorHermiteCubic
extends AbstractLineBracketInterpolatorPolynomial<DifferentiableUnivariateScalarFunction>

Interpolates using a cubic with two points, both of which must have slope information. If slope information is not present, then the interpolator will call the differentiate() method on the Evaluator.

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
LineBracketInterpolatorHermiteCubic()
          Creates a new instance of LineBracketInterpolatorHermiteCubic
 
Method Summary
 PolynomialFunction.ClosedForm computePolynomial(LineBracket bracket, DifferentiableUnivariateScalarFunction function)
          Fits the interpolating polynomial to the given LineBracket
 boolean hasSufficientPoints(LineBracket bracket)
          Determines if the LineBracket contains a sufficient number/quality of points to conduct the interpolation.
 
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

LineBracketInterpolatorHermiteCubic

public LineBracketInterpolatorHermiteCubic()
Creates a new instance of LineBracketInterpolatorHermiteCubic

Method Detail

computePolynomial

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

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

hasSufficientPoints

public boolean hasSufficientPoints(LineBracket bracket)
Description copied from interface: LineBracketInterpolator
Determines if the LineBracket contains a sufficient number/quality of points to conduct the interpolation.

Parameters:
bracket - LineBracket to consider
Returns:
true if the LineBracket has a sufficient number of points, false if the LineBracket doesn't have enough.