org.gersteinlab.regulation.numeric
Class NewtonMethod

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

public class NewtonMethod
extends DescentMethod

        A class for minimizing a doubly differentiable multivariate real
        function using the Newton's method.
        

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

Field Summary
static double EPSILON
           
 
Fields inherited from class org.gersteinlab.regulation.numeric.DescentMethod
ALPHA, BETA
 
Constructor Summary
NewtonMethod(DoublyDifferentiableMultivariateFunction funcIn)
          Construct an instance for a function.
 
Method Summary
protected  double lambda2(double[] x)
          Get the error estimate, lambda^2, at a point.
protected  double lambda2(double[] dx, double[][] hfx)
          Get the error estimate, lambda^2, at a point, with precomputed Newton's direction and Hessian.
 double[] minimize(double[] x0)
          Perform the minimization using default parameters.
 double[] minimize(double[] x0, double alpha, double beta, double epsilon)
          Perform the minimization.
protected  double[] nd(double[] x)
          Get the standard Newton's direction at a point.
protected  double[] nd(double[] gfx, double[][] hfx)
          Get the standard Newton's direction at a point, with precomputed gradient and Hessian.
 
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

EPSILON

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

NewtonMethod

public NewtonMethod(DoublyDifferentiableMultivariateFunction 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 epsilon)
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
epsilon - The stopping parameter
Returns:
The final estimate of x

nd

protected double[] nd(double[] x)
Get the standard Newton's direction at a point.

Parameters:
x - The point
Returns:
The Newton's direction at the point

nd

protected double[] nd(double[] gfx,
                      double[][] hfx)
Get the standard Newton's direction at a point, with precomputed gradient and Hessian.

Parameters:
gfx - The gradient at the point
hfx - The Hessian at the point
Returns:
The Newton's direction at the point

lambda2

protected double lambda2(double[] x)
Get the error estimate, lambda^2, at a point.

Parameters:
x - The point
Returns:
lambda^2 at the point

lambda2

protected double lambda2(double[] dx,
                         double[][] hfx)
Get the error estimate, lambda^2, at a point, with precomputed Newton's direction and Hessian.

Parameters:
dx - The Newton's direction at the point
hfx - The Hessian at the point
Returns:
lambda^2 at the point