RVLUmin::LineSearchAlgBase< Scalar > Class Template Reference

Base class for line search algorithms. More...

#include <lnsrch.hh>

Inheritance diagram for RVLUmin::LineSearchAlgBase< Scalar >:

RVLAlg::Algorithm RVLAlg::Terminator RVLUmin::BacktrackingLineSearchAlgBase< Scalar > List of all members.

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

Detailed Description

template<class Scalar>
class RVLUmin::LineSearchAlgBase< Scalar >

Base class for line search algorithms.

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.


Constructor & Destructor Documentation

template<class Scalar>
RVLUmin::LineSearchAlgBase< Scalar >::LineSearchAlgBase ( LineSearchAlg< Scalar > const &  _lsalg,
FunctionalEvaluation< Scalar > &  _fx,
Vector< Scalar > const &  _dx 
)

Definition at line 110 of file lnsrch.hh.

template<class Scalar>
RVLUmin::LineSearchAlgBase< Scalar >::LineSearchAlgBase ( const LineSearchAlgBase< Scalar > &  ls  ) 

Definition at line 120 of file lnsrch.hh.

template<class Scalar>
virtual RVLUmin::LineSearchAlgBase< Scalar >::~LineSearchAlgBase (  )  [virtual]

Definition at line 122 of file lnsrch.hh.


Member Function Documentation

template<class Scalar>
virtual LineSearchAlgBase<Scalar>* RVLUmin::LineSearchAlgBase< Scalar >::clone (  )  const [protected, pure virtual]

Implemented in RVLUmin::BacktrackingLineSearchAlgBase< Scalar >.

template<class Scalar>
virtual ostream& RVLUmin::LineSearchAlgBase< Scalar >::write ( ostream &  str  )  const [virtual]

Reimplemented in RVLUmin::BacktrackingLineSearchAlgBase< Scalar >.

Definition at line 124 of file lnsrch.hh.

template<class Scalar>
virtual Scalar RVLUmin::LineSearchAlgBase< Scalar >::getStep (  )  const [pure virtual]

Implemented in RVLUmin::BacktrackingLineSearchAlgBase< Scalar >.

template<class Scalar>
Scalar RVLUmin::LineSearchAlgBase< Scalar >::getBaseValue (  )  const

Definition at line 132 of file lnsrch.hh.

template<class Scalar>
Vector<Scalar> const& RVLUmin::LineSearchAlgBase< Scalar >::getBasePoint (  )  const

Definition at line 133 of file lnsrch.hh.

Referenced by RVLUmin::BacktrackingLineSearchAlgBase< Scalar >::run().

template<class Scalar>
Vector<Scalar> const& RVLUmin::LineSearchAlgBase< Scalar >::getBaseGradient (  )  const

Definition at line 135 of file lnsrch.hh.

template<class Scalar>
Vector<Scalar>& RVLUmin::LineSearchAlgBase< Scalar >::getTrialPoint (  )  const

Definition at line 137 of file lnsrch.hh.

References RVLUmin::LineSearchAlgBase< Scalar >::fx.

template<class Scalar>
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().

template<class Scalar>
FunctionalEvaluation<Scalar>& RVLUmin::LineSearchAlgBase< Scalar >::getFunctionalEvaluation (  )  const

Definition at line 141 of file lnsrch.hh.

References RVLUmin::LineSearchAlgBase< Scalar >::fx.

template<class Scalar>
Scalar RVLUmin::LineSearchAlgBase< Scalar >::getMinStep (  )  const

Definition at line 144 of file lnsrch.hh.

Referenced by RVLUmin::BacktrackingLineSearchAlgBase< Scalar >::run().


Member Data Documentation

template<class Scalar>
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().

template<class Scalar>
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().


The documentation for this class was generated from the following file:
Generated on 5 Jan 2017 for RvlUmin by  doxygen 1.4.7