Package pal.math

Class UnivariateMinimum

java.lang.Object
pal.math.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.)

Version:
$Id: UnivariateMinimum.java,v 1.9 2003/05/14 05:53:36 matt Exp $
Author:
Korbinian Strimmer
  • Field Details

    • 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 Details

    • UnivariateMinimum

      public UnivariateMinimum()
  • Method Details

    • 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, double lowerBound, double upperBound)
      The actual optimization routine (Brent's golden section method)
      Parameters:
      f - univariate function
      tol - absolute tolerance of each parameter
      lowerBound - the lower bound of input
      upperBound - 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 function
      tol - 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 guess
      f - univariate function
      tol - absolute tolerance of each parameter
      lowerBound - the lower bound of input
      upperBound - 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 guess
      f - univariate function
      tol - absolute tolerance of each parameter
      Returns:
      position of minimum