RosenbrockDiscreteIteration.h

00001 
00006 #ifndef _RosenbrockDiscreteIteration_h
00007 #define _RosenbrockDiscreteIteration_h
00008 
00009 // SYSTEM INCLUDES
00010 //
00011 
00012 // PROJECT INCLUDES
00013 //
00014 
00015 // LOCAL INCLUDES
00016 //
00017 #include "RosenbrockIteration.h"
00018 
00019 // FORWARD REFERENCES
00020 //
00021 
00022 
00023 class RosenbrockDiscreteIteration
00024     : public RosenbrockIteration
00025 {
00026 public:
00027     struct TrialPoint
00028     {
00029         TrialPoint(const ColumnVector&      point,
00030                    bool                     better,
00031                    double                   tau,
00032                    double                   newTau)
00033             : mPoint(point),
00034               mBetter(better),
00035               mTau(tau),
00036               mNewTau(newTau)
00037               { };
00038 
00039         ColumnVector    mPoint;
00040         bool            mBetter;
00041         double          mTau;
00042         double          mNewTau;
00043     };
00044 
00046     typedef vector<TrialPoint>  TrialPointContainer;
00047 
00048 // LIFECYCLE
00049 
00052     RosenbrockDiscreteIteration(void);
00053 
00060     RosenbrockDiscreteIteration(const ColumnVector& staringPoint,
00061                                 const SquareMatrix& D);
00062 
00065     ~RosenbrockDiscreteIteration(void);
00066 
00067 // OPERATORS
00068 
00069 // OPERATIONS
00070 
00071     void                AddTrialPoint(const ColumnVector&   point,
00072                                       bool                  better,
00073                                       double                tau,
00074                                       double                newTau);
00075 
00076 // ACCESS
00077 
00078     virtual vector<IterationDataIdType> ClassIds() const;
00079 
00080     static IterationDataIdType          ClassId();
00081 
00082     const TrialPointContainer&  TrialPoints() const;
00083 
00084     double              TauMin() const;
00085     double&             rTauMin();
00086 
00087 // INQUIRY
00088 
00089 protected:
00090 private:
00091     TrialPointContainer  mTrialPoints;   
00092 
00093     double  mTauMin;        
00094 
00095 };
00096 
00097 // INLINE METHODS
00098 //
00099 
00100 // EXTERNAL REFERENCES
00101 //
00102 
00103 #endif  // _RosenbrockDiscreteIteration_h

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