pal.math

## Class UnivariateMinimum

• ```public class UnivariateMinimum
extends 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.)

Author:
Korbinian Strimmer
• ### Field Summary

Fields
Modifier and Type Field and Description
`double` `f2minx`
curvature at minimum
`double` `fminx`
function value at minimum
`int` `maxFun`
maximum number of function evaluations (default 0 indicates no limit on calls)
`double` `minx`
last minimum
`int` `numFun`
total number of function evaluations neccessary
• ### Constructor Summary

Constructors
Constructor and Description
`UnivariateMinimum()`
• ### Method Summary

All Methods
Modifier and Type Method and 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(UnivariateFunction f, double tol)```
The actual optimization routine (Brent's golden section method)
• ### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### 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)
• ### Constructor Detail

• #### UnivariateMinimum

`public UnivariateMinimum()`
• ### Method Detail

• #### findMinimum

```public double findMinimum(double x,
UnivariateFunction f)```
Find minimum (first estimate given)
Parameters:
`x` - first estimate
`f` - 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 estimate
`f` - function
`fracDigits` - 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` - function
`fracDigits` - desired fractional digits
Returns:
position of minimum
• #### optimize

```public double optimize(UnivariateFunction f,
double tol)```
The actual optimization routine (Brent's golden section method)
Parameters:
`f` - univariate function
`tol` - absolute tolerance of each parameter
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 guess
`f` - univariate function
`tol` - absolute tolerance of each parameter
Returns:
position of minimum