QuantLib: a free/open-source library for quantitative finance
Reference manual - version 1.40
Loading...
Searching...
No Matches
LineSearch Class Referenceabstract

Base class for line search. More...

#include <ql/math/optimization/linesearch.hpp>

Inheritance diagram for LineSearch:

Public Member Functions

 LineSearch (Real=0.0)
 Default constructor.
virtual ~LineSearch ()=default
 Destructor.
const ArraylastX ()
 return last x value
Real lastFunctionValue () const
 return last cost function value
const ArraylastGradient ()
 return last gradient
Real lastGradientNorm2 () const
 return square norm of last gradient
bool succeed () const
virtual Real operator() (Problem &P, EndCriteria::Type &ecType, const EndCriteria &, Real t_ini)=0
 Perform line search.
Real update (Array &params, const Array &direction, Real beta, const Constraint &constraint)
const ArraysearchDirection () const
 current value of the search direction
ArraysearchDirection ()

Protected Attributes

Array searchDirection_
 current values of the search direction
Array xtd_
 new x and its gradient
Array gradient_
Real qt_ = 0.0
 cost function value and gradient norm corresponding to xtd_
Real qpt_ = 0.0
bool succeed_ = true
 flag to know if linesearch succeed

Detailed Description

Base class for line search.

Member Function Documentation

◆ operator()()

virtual Real operator() ( Problem & P,
EndCriteria::Type & ecType,
const EndCriteria & ,
Real t_ini )
pure virtual

Perform line search.

Implemented in ArmijoLineSearch.