|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectgov.sandia.cognition.util.AbstractCloneableSerializable
gov.sandia.cognition.learning.algorithm.minimization.line.interpolator.AbstractLineBracketInterpolator<Evaluator<Double,Double>>
gov.sandia.cognition.learning.algorithm.minimization.line.interpolator.LineBracketInterpolatorGoldenSection
@PublicationReferences(references={@PublicationReference(author="Wikipedia",title="Golden section search",type=WebPage,url="http://en.wikipedia.org/wiki/Golden_section_search",year=2008),@PublicationReference(author={"Jeffrey Naisbitt","Michael Heath"},title="Golden Section Search",type=WebPage,url="http://www.cse.uiuc.edu/iem/optimization/GoldenSection/",year=2008),@PublicationReference(author={"William H. Press","Saul A. Teukolsky","William T. Vetterling","Brian P. Flannery"},title="Numerical Recipes in C, Second Edition",type=Book,year=1992,pages={401,402},url="http://www.nrbook.com/a/bookcpdf.php")}) public class LineBracketInterpolatorGoldenSection
Interpolates between the two bound points of a LineBracket using the golden-section step rule, if that step fails, then the interpolator uses a linear (secant) interpolation. Neither of the bound points in the LineBracket need slope information.
Field Summary | |
---|---|
static double |
GOLDEN_RATIO
Golden ratio, from the Fibonacci sequence, 1.618034 |
static double |
GOLDEN_RATIO_CONJUGATE
The Golden Ratio conjugate, 0.618034 |
Fields inherited from class gov.sandia.cognition.learning.algorithm.minimization.line.interpolator.AbstractLineBracketInterpolator |
---|
DEFAULT_TOLERANCE |
Constructor Summary | |
---|---|
LineBracketInterpolatorGoldenSection()
Creates a new instance of LineBracketInterpolatorGoldenSection |
Method Summary | |
---|---|
double |
findMinimum(LineBracket bracket,
double minx,
double maxx,
Evaluator<Double,Double> 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. |
boolean |
hasSufficientPoints(LineBracket bracket)
Golden section step only needs the bounds to operate, so we'll just check to make sure they're not null. |
static double |
step(InputOutputPair<Double,Double> a,
InputOutputPair<Double,Double> b,
double tolerance)
Takes a Golden Section step between the two points |
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 |
Field Detail |
---|
public static final double GOLDEN_RATIO
public static final double GOLDEN_RATIO_CONJUGATE
Constructor Detail |
---|
public LineBracketInterpolatorGoldenSection()
Method Detail |
---|
public double findMinimum(LineBracket bracket, double minx, double maxx, Evaluator<Double,Double> function)
LineBracketInterpolator
bracket
- Bracket of pointsminx
- Minimum x-axis value to search for the minimummaxx
- Maximum x-axis value to search for the minimumfunction
- Function to consider. The function, or gradient, may be evaluated to
generate enough output/slope samples to interpolate.
public static double step(InputOutputPair<Double,Double> a, InputOutputPair<Double,Double> b, double tolerance)
a
- First pointb
- Second pointtolerance
- Minimum below which to consider the points identical.
public boolean hasSufficientPoints(LineBracket bracket)
bracket
- LineBracket to consider
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |