Package pal.math
Class UnivariateMinimum
- java.lang.Object
-
- pal.math.UnivariateMinimum
-
public class UnivariateMinimum extends java.lang.Object
minimization of a real-valued function of one variable without using derivatives.algorithm: Brent's golden section method (Richard P. Brent. 1973. Algorithms for finding zeros and extrema of functions without calculating derivatives. Prentice-Hall.)
- Version:
- $Id: UnivariateMinimum.java,v 1.9 2003/05/14 05:53:36 matt Exp $
- Author:
- Korbinian Strimmer
-
-
Field Summary
Fields Modifier and Type Field Description double
f2minx
curvature at minimumdouble
fminx
function value at minimumint
maxFun
maximum number of function evaluations (default 0 indicates no limit on calls)double
minx
last minimumint
numFun
total number of function evaluations neccessary
-
Constructor Summary
Constructors Constructor Description UnivariateMinimum()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description double
findMinimum(double x, UnivariateFunction f)
Find minimum (first estimate given)double
findMinimum(double x, UnivariateFunction f, int fracDigits)
Find minimum (first estimate given, desired number of fractional digits specified)double
findMinimum(UnivariateFunction f)
Find minimum (no first estimate given)double
findMinimum(UnivariateFunction f, int fracDigits)
Find minimum (no first estimate given, desired number of fractional digits specified)double
optimize(double x, UnivariateFunction f, double tol)
The actual optimization routine (Brent's golden section method)double
optimize(double x, UnivariateFunction f, double tol, double lowerBound, double upperBound)
The actual optimization routine (Brent's golden section method)double
optimize(UnivariateFunction f, double tol)
The actual optimization routine (Brent's golden section method)double
optimize(UnivariateFunction f, double tol, double lowerBound, double upperBound)
The actual optimization routine (Brent's golden section method)
-
-
-
Field Detail
-
minx
public double minx
last minimum
-
fminx
public double fminx
function value at minimum
-
f2minx
public double f2minx
curvature at minimum
-
numFun
public int numFun
total number of function evaluations neccessary
-
maxFun
public int maxFun
maximum number of function evaluations (default 0 indicates no limit on calls)
-
-
Method Detail
-
findMinimum
public double findMinimum(double x, UnivariateFunction f)
Find minimum (first estimate given)- Parameters:
x
- first estimatef
- function- Returns:
- position of minimum
-
findMinimum
public double findMinimum(double x, UnivariateFunction f, int fracDigits)
Find minimum (first estimate given, desired number of fractional digits specified)- Parameters:
x
- first estimatef
- functionfracDigits
- desired fractional digits- Returns:
- position of minimum
-
findMinimum
public double findMinimum(UnivariateFunction f)
Find minimum (no first estimate given)- Parameters:
f
- function- Returns:
- position of minimum
-
findMinimum
public double findMinimum(UnivariateFunction f, int fracDigits)
Find minimum (no first estimate given, desired number of fractional digits specified)- Parameters:
f
- functionfracDigits
- desired fractional digits- Returns:
- position of minimum
-
optimize
public double optimize(UnivariateFunction f, double tol, double lowerBound, double upperBound)
The actual optimization routine (Brent's golden section method)- Parameters:
f
- univariate functiontol
- absolute tolerance of each parameterlowerBound
- the lower bound of inputupperBound
- the upper bound of input- Returns:
- position of minimum
-
optimize
public double optimize(UnivariateFunction f, double tol)
The actual optimization routine (Brent's golden section method)- Parameters:
f
- univariate functiontol
- absolute tolerance of each parameter- Returns:
- position of minimum
-
optimize
public double optimize(double x, UnivariateFunction f, double tol, double lowerBound, double upperBound)
The actual optimization routine (Brent's golden section method)- Parameters:
x
- initial guessf
- univariate functiontol
- absolute tolerance of each parameterlowerBound
- the lower bound of inputupperBound
- the upper bound of input- Returns:
- position of minimum
-
optimize
public double optimize(double x, UnivariateFunction f, double tol)
The actual optimization routine (Brent's golden section method)- Parameters:
x
- initial guessf
- univariate functiontol
- absolute tolerance of each parameter- Returns:
- position of minimum
-
-