GradientMethodIteration.h

00001 
00006 #ifndef _GradientMethodIteration_h
00007 #define _GradientMethodIteration_h
00008 
00009 // SYSTEM INCLUDES
00010 //
00011 
00012 // PROJECT INCLUDES
00013 //
00014 
00015 // LOCAL INCLUDES
00016 //
00017 #include "IterationData.h"
00018 #include "util.h"
00019 
00020 // FORWARD REFERENCES
00021 //
00022 
00023 
00024 class GradientMethodIteration
00025     : public IterationData
00026 {
00027 public:
00028 
00029 // LIFECYCLE
00030 
00033     GradientMethodIteration(void);
00034 
00040     GradientMethodIteration(const ColumnVector& staringPoint,
00041                             const ColumnVector& gradient);
00042 
00049     GradientMethodIteration(const ColumnVector& staringPoint,
00050                             const ColumnVector& gradient,
00051                             const ColumnVector& direction);
00052 
00060     GradientMethodIteration(const ColumnVector& staringPoint,
00061                             const ColumnVector& gradient,
00062                             const ColumnVector& direction,
00063                             const ColumnVector& endPoint);
00064 
00072     GradientMethodIteration(const ColumnVector& staringPoint,
00073                             const ColumnVector& gradient,
00074                             const ColumnVector& direction,
00075                                   double        tau,
00076                             const ColumnVector& endPoint);
00077 
00080     ~GradientMethodIteration(void);
00081 
00082 // OPERATORS
00083 
00084 // OPERATIONS
00085 
00086 // ACCESS
00087 
00088     virtual ColumnVector                EndValuePoint() const;
00089 
00090     virtual vector<IterationDataIdType> ClassIds() const;
00091 
00092     static IterationDataIdType          ClassId();
00093 
00094     const ColumnVector&         StartingPoint() const;
00095     ColumnVector&               rStartingPoint();
00096 
00097     const ColumnVector&         Gradient() const;
00098     ColumnVector&               rGradient();
00099 
00100     const ColumnVector&         Direction() const;
00101     ColumnVector&               rDirection();
00102 
00103     double                      Tau() const;
00104     double&                     rTau();
00105 
00106     const ColumnVector&         EndPoint() const;
00107     ColumnVector&               rEndPoint();
00108 
00109 // INQUIRY
00110     bool                        StepMade() const;
00111 
00112 protected:
00113 private:
00114     ColumnVector    mStartingPoint; 
00115 
00116     ColumnVector    mGradient;      
00117 
00118     ColumnVector    mDirection;     
00119 
00120     double          mTau;           
00121 
00122     ColumnVector    mEndPoint;      
00123 };
00124 
00125 // INLINE METHODS
00126 //
00127 
00128 // EXTERNAL REFERENCES
00129 //
00130 
00131 #endif  // _GradientMethodIteration_h

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