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

Type Parameters:
EvaluatorType - Type of Evaluator to use
All Superinterfaces:
Cloneable, CloneableSerializable, Serializable
All Known Implementing Classes:
AbstractLineBracketInterpolator, AbstractLineBracketInterpolatorPolynomial, LineBracketInterpolatorBrent, LineBracketInterpolatorGoldenSection, LineBracketInterpolatorHermiteCubic, LineBracketInterpolatorHermiteParabola, LineBracketInterpolatorLinear, LineBracketInterpolatorParabola

public interface LineBracketInterpolator<EvaluatorType extends Evaluator<Double,Double>>
extends CloneableSerializable

Definition of an interpolator/extrapolator for a LineBracket. A LineBracketInterpolator takes the points contained in a LineBracket and fits a computationally efficient function to those points (such as a parabola, straight line, etc.). The interpolating function is then used to find a hypothesized minimum on a required interval.

Since:
2.1
Author:
Kevin R. Dixon

Method Summary
 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.
 double getTolerance()
          Gets the tolerance of the interpolator to collinear or identical points, typically 1e-6, must be greater than 0.0.
 boolean hasSufficientPoints(LineBracket bracket)
          Determines if the LineBracket contains a sufficient number/quality of points to conduct the interpolation.
 
Methods inherited from interface gov.sandia.cognition.util.CloneableSerializable
clone
 

Method Detail

getTolerance

double getTolerance()
Gets the tolerance of the interpolator to collinear or identical points, typically 1e-6, must be greater than 0.0.

Returns:
Tolerance of the interpolator

findMinimum

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.

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.

hasSufficientPoints

boolean hasSufficientPoints(LineBracket bracket)
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.