NewtonRaphson.h

00001 
00074 #ifndef _NewtonRaphson_h
00075 #define _NewtonRaphson_h
00076 
00077 // SYSTEM INCLUDES
00078 //
00079 
00080 // PROJECT INCLUDES
00081 //
00082 
00083 // LOCAL INCLUDES
00084 //
00085 #include "../DoubleParameter.h"
00086 #include "../SinglePointLineSearch.h"
00087 #include "../ProblemBase.h"
00088 #include "../UnivariateFunction.h"
00089 #include "../ui/PointLineSearchPanel.h"
00090 
00091 // FORWARD REFERENCES
00092 //
00093 
00094 
00095 class NewtonRaphson
00096     : public SinglePointLineSearch
00097 {
00098 public:
00099     friend class PointLineSearchPanel<NewtonRaphson>;
00100 
00101 // LIFECYCLE
00102 
00103 
00106     ~NewtonRaphson(void);
00107 
00108 
00109 // OPERATORS
00110 
00111 // OPERATIONS
00112 
00113 
00116     virtual std::auto_ptr<Method>   Clone() const;
00117 
00118 // ACCESS
00121     virtual const wxString&         Name() const;
00122 
00125     virtual MethodIdType            Id() const;
00126 
00129     static MethodIdType             ClassId();
00130 
00131 // INQUIRY
00132 
00133     virtual bool                    CanHandle(const ProblemBase* pProblem) const;
00134 
00135 protected:
00136 
00139     NewtonRaphson(void);
00140 
00145     NewtonRaphson(const NewtonRaphson& from);
00146 
00147     virtual wxString&               rName();
00148 private:
00149 
00150     virtual std::auto_ptr<Result>   Solve(
00151                                       const UnivariateFunction& function,
00152                                       const ColumnVector&       startingPoint,
00153                                       bool                      generateResult)
00154                           const throw(OptimizationError);
00155 
00158     static wxString           mName;
00161     static NewtonRaphson             mNewtonRaphson;
00162 };
00163 
00164 // INLINE METHODS
00165 //
00166 
00167 // EXTERNAL REFERENCES
00168 //
00169 
00170 #endif  // _NewtonRaphson_h_

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