suanPan
Loading...
Searching...
No Matches
BFGS Class Referencefinal

The (L-)BFGS class defines a solver using BFGS iteration method. More...

#include <BFGS.h>

Inheritance diagram for BFGS:
Collaboration diagram for BFGS:

Public Member Functions

 BFGS (unsigned=0, unsigned=20)
 
int analyze () override
 
void print () override
 
- Public Member Functions inherited from Solver
 Solver (unsigned=0)
 
virtual int initialize ()
 
virtual void set_step_size (double)
 
void set_step_amplifier (double)
 
double get_step_amplifier () const
 
void set_converger (const shared_ptr< Converger > &)
 
const shared_ptr< Converger > & get_converger () const
 
void set_integrator (const shared_ptr< Integrator > &)
 
const shared_ptr< Integrator > & get_integrator () const
 
- Public Member Functions inherited from UniqueTag
 UniqueTag (const UniqueTag &)=delete
 
 UniqueTag (UniqueTag &&)=delete
 
UniqueTagoperator= (const UniqueTag &)=delete
 
UniqueTagoperator= (UniqueTag &&)=delete
 
 ~UniqueTag () override=default
 
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&) noexcept=default
 
- Public Member Functions inherited from Tag
 Tag (unsigned=0)
 
 Tag (const Tag &)=default
 
 Tag (Tag &&) noexcept=default
 
Tagoperator= (const Tag &)=delete
 
Tagoperator= (Tag &&)=delete
 
virtual ~Tag ()=default
 
void set_tag (unsigned) const
 
unsigned get_tag () const
 
void enable ()
 
void disable ()
 
void guard ()
 
void unguard ()
 
bool is_active () const
 
bool is_guarded () const
 

Additional Inherited Members

- Protected Member Functions inherited from Solver
bool constant_matrix () const
 

Detailed Description

The (L-)BFGS class defines a solver using BFGS iteration method.

The BFGS method is a rank two quasi-Newton method which has a super-linear convergence rate. The (L-)BFGS class supports both conventional BFGS and L-BFGS method which uses limited history information.

The Algorithm 7.4 is implemented.

References:

  1. Numerical Optimization
Author
tlc
Date
03/05/2025
Version
0.4.0

Constructor & Destructor Documentation

◆ BFGS()

BFGS::BFGS ( unsigned  T = 0,
unsigned  MH = 20 
)
explicit

Member Function Documentation

◆ analyze()

int BFGS::analyze ( )
overridevirtual

Implements Solver.

Here is the call graph for this function:

◆ print()

void BFGS::print ( )
overridevirtual

Reimplemented from Tag.


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