org.gersteinlab.regulation.numeric
Class GradientDescent

java.lang.Object
  extended by org.gersteinlab.regulation.numeric.DescentMethod
      extended by org.gersteinlab.regulation.numeric.GradientDescent

public class GradientDescent
extends DescentMethod

        A class for minimizing a differentiable multivariate real function using
        gradient descent.
        

Version:
1.0 (September 4, 2008)
        Change History:
        1.0     - Initial version
        
Author:
Kevin Yuk-Lap Yip

Field Summary
static double ETA
           
 
Fields inherited from class org.gersteinlab.regulation.numeric.DescentMethod
ALPHA, BETA
 
Constructor Summary
GradientDescent(DifferentiableMultivariateFunction funcIn)
          Construct an instance for a function.
 
Method Summary
 double[] minimize(double[] x0)
          Perform the minimization using default parameters.
 double[] minimize(double[] x0, double alpha, double beta, double eta)
          Perform the minimization.
 
Methods inherited from class org.gersteinlab.regulation.numeric.DescentMethod
armijo, armijo
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ETA

public static final double ETA
See Also:
Constant Field Values
Constructor Detail

GradientDescent

public GradientDescent(DifferentiableMultivariateFunction funcIn)
Construct an instance for a function.

Parameters:
funcIn - The function
Method Detail

minimize

public double[] minimize(double[] x0)
Perform the minimization using default parameters.

Specified by:
minimize in class DescentMethod
Parameters:
x0 - The initial estimate of x
Returns:
The final estimate of x

minimize

public double[] minimize(double[] x0,
                         double alpha,
                         double beta,
                         double eta)
Perform the minimization.

Parameters:
x0 - The initial estimate of x
alpha - The stopping parameter of backtracking line search
beta - The reduction factor of t of backtracking line search
eta - The stopping parameter
Returns:
The final estimate of x