PlayaSteepestDescent.hpp
Go to the documentation of this file.
00001 #ifndef PLAYA_STEEPESTDESCENT_H
00002 #define PLAYA_STEEPESTDESCENT_H
00003 
00004 
00005 #include "PlayaLineSearchBasedOptBase.hpp"
00006 
00007 
00008 namespace Playa
00009 {
00010 /** 
00011  * Implements the steepest descent method, used here mainly for debugging
00012  * objective functions and gradients. 
00013  *
00014  * @author Kevin Long
00015  */
00016 class SteepestDescent : public LineSearchBasedOptBase
00017 {
00018 public:
00019   /** */
00020   SteepestDescent(const ParameterList& params);
00021         
00022   /** */
00023   std::string description() const {return "SteepestDescent";}
00024 
00025   /** */
00026   RCP<DirectionGeneratorBase> makeDirectionGenerator() const ; 
00027 };
00028 
00029 /** */
00030 class SteepestDescentDirection : public DirectionGeneratorBase
00031 {
00032 public:
00033   /** */
00034   SteepestDescentDirection() {}
00035 
00036   /** */
00037   ~SteepestDescentDirection() {}
00038 
00039   /** */
00040   bool generateDirection(const RCP<ObjectiveBase>& obj,
00041     const Vector<double>& xCur,
00042     const Vector<double>& gradCur,
00043     const double& fCur,
00044     Vector<double>& p) ;
00045 };
00046 
00047 }
00048 
00049 #endif

Site Contact