SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.optimization.unconstrained.hessian
Class GoldfeldQuandtTrotter

java.lang.Object
  extended by com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixMathImpl<T>
      extended by com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixStorageImpl<DenseMatrix>
          extended by com.numericalmethod.suanshu.matrix.doubles.matrixtype.dense.DenseMatrix
              extended by com.numericalmethod.suanshu.optimization.unconstrained.hessian.GoldfeldQuandtTrotter
All Implemented Interfaces:
DeepCopyable, AbelianGroup<Matrix>, Monoid<Matrix>, Ring<Matrix>, Matrix, MatrixAccessor, MatrixRing, Densifiable, MatrixDimension

public class GoldfeldQuandtTrotter
extends DenseMatrix

Goldfeld, Quandt and Trotter propose the following way to coerce a non-positive definite Hessian matrix to become positive definite. For a non-positive definite Hessian matrix H, we compute

        H + βI
 H^ = -----------
         1 + β
 


Constructor Summary
GoldfeldQuandtTrotter(Matrix H, double beta)
          Construct a positive definite matrix using the Goldfeld-Quandt-Trotter algorithm.
 
Method Summary
 
Methods inherited from class com.numericalmethod.suanshu.matrix.doubles.matrixtype.dense.DenseMatrix
add, deepCopy, getColumn, getColumn, getMatrixData, getRow, getRow, getSample, minus, multiply, multiply, ONE, overwrite, scaled, t, toDense, ZERO
 
Methods inherited from class com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixStorageImpl
equals, get, hashCode, set, setMatrixData
 
Methods inherited from class com.numericalmethod.suanshu.matrix.doubles.matrixtype.MatrixMathImpl
add, call, minus, multiply, nCols, nRows, opposite, setColumn, setColumn, setRow, setRow, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

GoldfeldQuandtTrotter

public GoldfeldQuandtTrotter(Matrix H,
                             double beta)
Construct a positive definite matrix using the Goldfeld-Quandt-Trotter algorithm.

Parameters:
H - a non-positive definite matrix
beta - a positive number. The bigger the beta is, the closer H^ is to I. If beta == Double.POSITIVE_INFINITY, then H^ = I.

SuanShu, a Java numerical and statistical library

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