Package pal.math
Class UnivariateMinimum
- java.lang.Object
-
- pal.math.UnivariateMinimum
-
public class UnivariateMinimum extends java.lang.Objectminimization 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 doublef2minxcurvature at minimumdoublefminxfunction value at minimumintmaxFunmaximum number of function evaluations (default 0 indicates no limit on calls)doubleminxlast minimumintnumFuntotal number of function evaluations neccessary
-
Constructor Summary
Constructors Constructor Description UnivariateMinimum()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description doublefindMinimum(double x, UnivariateFunction f)Find minimum (first estimate given)doublefindMinimum(double x, UnivariateFunction f, int fracDigits)Find minimum (first estimate given, desired number of fractional digits specified)doublefindMinimum(UnivariateFunction f)Find minimum (no first estimate given)doublefindMinimum(UnivariateFunction f, int fracDigits)Find minimum (no first estimate given, desired number of fractional digits specified)doubleoptimize(double x, UnivariateFunction f, double tol)The actual optimization routine (Brent's golden section method)doubleoptimize(double x, UnivariateFunction f, double tol, double lowerBound, double upperBound)The actual optimization routine (Brent's golden section method)doubleoptimize(UnivariateFunction f, double tol)The actual optimization routine (Brent's golden section method)doubleoptimize(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
-
-