edu.stanford.nlp.optimization
Class QNMinimizer.QNInfo

java.lang.Object
  extended by edu.stanford.nlp.optimization.QNMinimizer.QNInfo
Enclosing class:
QNMinimizer

public class QNMinimizer.QNInfo
extends java.lang.Object

The QNInfo class is used to store information about the Quasi Newton update. it holds all the s,y pairs, updates the diagonal and scales everything as needed.


Field Summary
 double[] d
           
 QNMinimizer.eScaling scaleOpt
           
 
Constructor Summary
QNMinimizer.QNInfo()
           
QNMinimizer.QNInfo(int size)
           
QNMinimizer.QNInfo(java.util.List<double[]> sList, java.util.List<double[]> yList)
           
 
Method Summary
 double[] applyInitialHessian(double[] x)
           
 void clear()
           
 void free()
           
 double getRho(int ind)
           
 double[] getS(int ind)
           
 double[] getY(int ind)
           
 void setHistory(java.util.List<double[]> sList, java.util.List<double[]> yList)
           
 int size()
           
 int update(double[] newX, double[] x, double[] newGrad, double[] grad, double step)
           
 int update(double[] newS, double[] newY, double yy, double sy, double sg, double step)
           
 void useDiagonalScaling()
           
 void useScalarScaling()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

d

public double[] d

scaleOpt

public QNMinimizer.eScaling scaleOpt
Constructor Detail

QNMinimizer.QNInfo

public QNMinimizer.QNInfo(int size)

QNMinimizer.QNInfo

public QNMinimizer.QNInfo()

QNMinimizer.QNInfo

public QNMinimizer.QNInfo(java.util.List<double[]> sList,
                          java.util.List<double[]> yList)
Method Detail

size

public int size()

getRho

public double getRho(int ind)

getS

public double[] getS(int ind)

getY

public double[] getY(int ind)

useDiagonalScaling

public void useDiagonalScaling()

useScalarScaling

public void useScalarScaling()

free

public void free()

clear

public void clear()

setHistory

public void setHistory(java.util.List<double[]> sList,
                       java.util.List<double[]> yList)

applyInitialHessian

public double[] applyInitialHessian(double[] x)

update

public int update(double[] newX,
                  double[] x,
                  double[] newGrad,
                  double[] grad,
                  double step)
           throws QNMinimizer.SurpriseConvergence
Throws:
QNMinimizer.SurpriseConvergence

update

public int update(double[] newS,
                  double[] newY,
                  double yy,
                  double sy,
                  double sg,
                  double step)


Stanford NLP Group