## edu.stanford.nlp.optimization
Class QNMinimizer.QNInfo

    java.lang.Object
      edu.stanford.nlp.optimization.QNMinimizer.QNInfo

Enclosing class:
  QNMinimizer

    public class QNMinimizer.QNInfo

extends 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(List<double[]> sList, 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(List<double[]> sList, 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(List<double[]> sList,
                              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(List<double[]> sList,
                           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