KrisLibrary  1.0.0
Public Member Functions | Public Attributes | List of all members
Math::QNHessianUpdater Struct Reference

Maintains the Cholesky decomposition of the hessian H over Quasi-Newton steps. More...

#include <QuasiNewton.h>

Public Member Functions

void SetHessian (const Matrix &H)
 set the initial hessian matrix
 
void GetHessian (Matrix &H) const
 form the hessian matrix
 
void BackSub (const Vector &b, Vector &x) const
 solve x=H^-1*b
 
bool IsValidUpdate (const Vector &s, const Vector &q)
 
bool UpdateBFGS (const Vector &s, const Vector &q)
 
bool UpdateDFS (const Vector &s, const Vector &q)
 
bool IsPositiveDefinite (Real tol=0) const
 
void MakePositiveDefinite (Real resetValue=1)
 

Public Attributes

LDLDecomposition< Real > ldl
 
int verbose
 
Real tolerance
 
Vector temp
 
Vector Hs
 
Vector upd
 
Matrix tempLDL
 

Detailed Description

Maintains the Cholesky decomposition of the hessian H over Quasi-Newton steps.

BFGS sets H' = H + q*qt / qt*s - Ht*s*st*H/st*H*s DFS sets H' = H + s*st / st*q - Ht*q*qt*H/qt*H*q where s = x - x0 q = grad - grad0

BFGS is usually considered more stable than the latter.


The documentation for this struct was generated from the following files: