SignOfDerivative.h

00001 
00049 #ifndef _SignOfDerivative_h
00050 #define _SignOfDerivative_h
00051 
00052 // SYSTEM INCLUDES
00053 //
00054 
00055 // PROJECT INCLUDES
00056 //
00057 
00058 // LOCAL INCLUDES
00059 //
00060 #include "../DoubleParameter.h"
00061 #include "../SinglePointLineSearch.h"
00062 #include "../ProblemBase.h"
00063 #include "../UnivariateFunction.h"
00064 #include "../ui/DerivativeLineSearchPanel.h"
00065 
00066 // FORWARD REFERENCES
00067 //
00068 
00069 
00070 class SignOfDerivative
00071     : public SinglePointLineSearch
00072 {
00073 public:
00074     friend class DerivativeLineSearchPanel<SignOfDerivative>;
00075 
00076 // LIFECYCLE
00077 
00078 
00081     ~SignOfDerivative(void);
00082 
00083 
00084 // OPERATORS
00085 
00086 // OPERATIONS
00087 
00088 
00091     virtual std::auto_ptr<Method>   Clone() const;
00092 
00093 // ACCESS
00096     virtual const wxString&         Name() const;
00097 
00100     virtual MethodIdType            Id() const;
00101 
00104     static MethodIdType             ClassId();
00105 
00106     virtual wxString                ToString(bool standalone = true) const;
00107 
00108 // INQUIRY
00109 
00110     virtual bool                    CanHandle(const ProblemBase* pProblem) const;
00111 
00112 protected:
00113 
00116     SignOfDerivative(void);
00117 
00122     SignOfDerivative(const SignOfDerivative& from);
00123 
00126     DoubleParameter             mAlpha;
00129     DoubleParameter             mGamma;
00130 
00131     virtual wxString&               rName();
00132 private:
00133 
00134     virtual std::auto_ptr<Result>   Solve(
00135                                       const UnivariateFunction& function,
00136                                       const ColumnVector&       startingPoint,
00137                                       bool                      generateResult)
00138                           const throw(OptimizationError);
00139 
00142     static wxString       mName;
00145     static SignOfDerivative     mSignOfDerivative;
00146 };
00147 
00148 // INLINE METHODS
00149 //
00150 
00151 // EXTERNAL REFERENCES
00152 //
00153 
00154 #endif  // _SignOfDerivative_h_

Wygenerowano Fri Sep 29 21:04:48 2006 dla EduOptim2 programem  doxygen 1.4.6