#include <lnsrch.hh>
Inheritance diagram for RVLUmin::LineSearchAlgBase< Scalar >:
Public Member Functions | |
LineSearchAlgBase (LineSearchAlg< Scalar > const &_lsalg, FunctionalEvaluation< Scalar > &_fx, Vector< Scalar > const &_dx) | |
LineSearchAlgBase (const LineSearchAlgBase< Scalar > &ls) | |
virtual | ~LineSearchAlgBase () |
virtual ostream & | write (ostream &str) const |
virtual Scalar | getStep () const =0 |
Scalar | getBaseValue () const |
Vector< Scalar > const & | getBasePoint () const |
Vector< Scalar > const & | getBaseGradient () const |
Vector< Scalar > & | getTrialPoint () const |
Vector< Scalar > const & | getSearchDirection () const |
FunctionalEvaluation< Scalar > & | getFunctionalEvaluation () const |
Scalar | getMinStep () const |
Protected Member Functions | |
virtual LineSearchAlgBase< Scalar > * | clone () const =0 |
Protected Attributes | |
FunctionalEvaluation< Scalar > & | fx |
Vector< Scalar > const & | dx |
Acts as a container for base point, gradient at base point, search direction, and functional evaluation at a current point. The run() method is deferred to child classes. The functional evaluation is a reference to an external object, which can be further manipulated by other program units - the purpose of the run() method is to change this object.
On call to run,
On return from run,
getStep() returns the step taken.
28.04.07: This all ought to be rewritten in Alg form. The LSBase should turn into an LSStep class, and LS should be rewritten to dynamically allocate a LSBase, and combine it with a terminator in a LoopAlg.
Definition at line 89 of file lnsrch.hh.
RVLUmin::LineSearchAlgBase< Scalar >::LineSearchAlgBase | ( | LineSearchAlg< Scalar > const & | _lsalg, | |
FunctionalEvaluation< Scalar > & | _fx, | |||
Vector< Scalar > const & | _dx | |||
) |
RVLUmin::LineSearchAlgBase< Scalar >::LineSearchAlgBase | ( | const LineSearchAlgBase< Scalar > & | ls | ) |
virtual RVLUmin::LineSearchAlgBase< Scalar >::~LineSearchAlgBase | ( | ) | [virtual] |
virtual LineSearchAlgBase<Scalar>* RVLUmin::LineSearchAlgBase< Scalar >::clone | ( | ) | const [protected, pure virtual] |
Implemented in RVLUmin::BacktrackingLineSearchAlgBase< Scalar >.
virtual ostream& RVLUmin::LineSearchAlgBase< Scalar >::write | ( | ostream & | str | ) | const [virtual] |
Reimplemented in RVLUmin::BacktrackingLineSearchAlgBase< Scalar >.
virtual Scalar RVLUmin::LineSearchAlgBase< Scalar >::getStep | ( | ) | const [pure virtual] |
Implemented in RVLUmin::BacktrackingLineSearchAlgBase< Scalar >.
Scalar RVLUmin::LineSearchAlgBase< Scalar >::getBaseValue | ( | ) | const |
Vector<Scalar> const& RVLUmin::LineSearchAlgBase< Scalar >::getBasePoint | ( | ) | const |
Definition at line 133 of file lnsrch.hh.
Referenced by RVLUmin::BacktrackingLineSearchAlgBase< Scalar >::run().
Vector<Scalar> const& RVLUmin::LineSearchAlgBase< Scalar >::getBaseGradient | ( | ) | const |
Vector<Scalar>& RVLUmin::LineSearchAlgBase< Scalar >::getTrialPoint | ( | ) | const |
Vector<Scalar> const& RVLUmin::LineSearchAlgBase< Scalar >::getSearchDirection | ( | ) | const |
Definition at line 139 of file lnsrch.hh.
References RVLUmin::LineSearchAlgBase< Scalar >::dx.
Referenced by RVLUmin::BacktrackingLineSearchAlgBase< Scalar >::run().
FunctionalEvaluation<Scalar>& RVLUmin::LineSearchAlgBase< Scalar >::getFunctionalEvaluation | ( | ) | const |
Scalar RVLUmin::LineSearchAlgBase< Scalar >::getMinStep | ( | ) | const |
Definition at line 144 of file lnsrch.hh.
Referenced by RVLUmin::BacktrackingLineSearchAlgBase< Scalar >::run().
FunctionalEvaluation<Scalar>& RVLUmin::LineSearchAlgBase< Scalar >::fx [protected] |
Definition at line 102 of file lnsrch.hh.
Referenced by RVLUmin::LineSearchAlgBase< Scalar >::getFunctionalEvaluation(), RVLUmin::LineSearchAlgBase< Scalar >::getTrialPoint(), and RVLUmin::BacktrackingLineSearchAlgBase< Scalar >::run().
Vector<Scalar> const& RVLUmin::LineSearchAlgBase< Scalar >::dx [protected] |
Definition at line 103 of file lnsrch.hh.
Referenced by RVLUmin::LineSearchAlgBase< Scalar >::getSearchDirection(), and RVLUmin::BacktrackingLineSearchAlgBase< Scalar >::run().