SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.optimization.unconstrained.quasinewton
Class QuasiNewton.QuasiNewtonImpl

java.lang.Object
  extended by com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent.LineSearch
      extended by com.numericalmethod.suanshu.optimization.unconstrained.quasinewton.QuasiNewton.QuasiNewtonImpl
Enclosing class:
QuasiNewton

public abstract class QuasiNewton.QuasiNewtonImpl
extends SteepestDescent.LineSearch

An implementation of the Quasi-Newton algorithm. The user supplies the Hessian updating rule.


Field Summary
protected  double ak
           
 Fletcher linesearch
          the line search method to use
 int n
          number of variables
protected  Matrix Sk
          the approximate inverse of the Hessian matrix An implementation of updateSk(com.numericalmethod.suanshu.matrix.doubles.Matrix) will modify this incrementally.
 
Fields inherited from class com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent.LineSearch
dk, gk, H, Hk
 
Constructor Summary
QuasiNewton.QuasiNewtonImpl()
           
 
Method Summary
 double minimize(Vector xk)
          Perform a line search to minimize a function, starting from xk.
protected  void reset()
          Reset the transient states of the instance.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

linesearch

public final Fletcher linesearch
the line search method to use


n

public final int n
number of variables


Sk

protected Matrix Sk
the approximate inverse of the Hessian matrix

An implementation of updateSk(com.numericalmethod.suanshu.matrix.doubles.Matrix) will modify this incrementally.


ak

protected double ak
Constructor Detail

QuasiNewton.QuasiNewtonImpl

public QuasiNewton.QuasiNewtonImpl()
Method Detail

reset

protected void reset()
Description copied from class: SteepestDescent.LineSearch
Reset the transient states of the instance.

Overrides:
reset in class SteepestDescent.LineSearch

minimize

public double minimize(Vector xk)
Description copied from class: SteepestDescent.LineSearch
Perform a line search to minimize a function, starting from xk.

Specified by:
minimize in class SteepestDescent.LineSearch
Parameters:
xk - the current minimizer
Returns:
ak+1

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.