OpenMD  2.5
Molecular Dynamics in the Open
QuantLib::BFGS Class Reference

Broyden-Fletcher-Goldfarb-Shanno algorithm. More...

#include <BFGS.hpp>

Inheritance diagram for QuantLib::BFGS:
QuantLib::LineSearchBasedMethod QuantLib::OptimizationMethod

Public Member Functions

 BFGS (LineSearch *lineSearch=NULL)
 
- Public Member Functions inherited from QuantLib::LineSearchBasedMethod
 LineSearchBasedMethod (LineSearch *lSearch=NULL)
 
virtual ~LineSearchBasedMethod ()
 
virtual EndCriteria::Type minimize (Problem &P, const EndCriteria &endCriteria)
 minimize the optimization problem P More...
 
- Public Member Functions inherited from QuantLib::OptimizationMethod
virtual ~OptimizationMethod ()
 

Private Member Functions

LineSearchBasedMethod interface
DynamicVector< RealType > getUpdatedDirection (const Problem &P, RealType gold2, const DynamicVector< RealType > &oldGradient)
 computes the new search direction More...
 

Private Attributes

DynamicRectMatrix< RealType > inverseHessian_
 inverse of hessian matrix More...
 

Additional Inherited Members

- Protected Attributes inherited from QuantLib::LineSearchBasedMethod
LineSearchlineSearch_
 line search More...
 

Detailed Description

Broyden-Fletcher-Goldfarb-Shanno algorithm.

See http://en.wikipedia.org/wiki/BFGS_method.

Adapted from Numerical Recipes in C, 2nd edition.

User has to provide line-search method and optimization end criteria.

Definition at line 40 of file BFGS.hpp.

Constructor & Destructor Documentation

◆ BFGS()

QuantLib::BFGS::BFGS ( LineSearch lineSearch = NULL)
inline

Definition at line 42 of file BFGS.hpp.

Member Function Documentation

◆ getUpdatedDirection()

DynamicVector< RealType > QuantLib::BFGS::getUpdatedDirection ( const Problem P,
RealType  gold2,
const DynamicVector< RealType > &  gradient 
)
privatevirtual

Member Data Documentation

◆ inverseHessian_

DynamicRectMatrix<RealType> QuantLib::BFGS::inverseHessian_
private

inverse of hessian matrix

Definition at line 52 of file BFGS.hpp.

Referenced by getUpdatedDirection().


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