MarquardtIteration.h

00001 
00006 #ifndef _MarquardtIteration_h
00007 #define _MarquardtIteration_h
00008 
00009 // SYSTEM INCLUDES
00010 //
00011 
00012 // PROJECT INCLUDES
00013 //
00014 
00015 // LOCAL INCLUDES
00016 //
00017 #include "../IterationData.h"
00018 
00019 // FORWARD REFERENCES
00020 //
00021 
00022 
00023 class MarquardtIteration
00024     : public IterationData
00025 {
00026 public:
00027 
00028 // LIFECYCLE
00029 
00032     MarquardtIteration(const ColumnVector&      startingPoint,
00033                        const ColumnVector&      gradient,
00034                        const SymmetricMatrix&   hessian,
00035                              double             firstLambda);
00036 
00039     ~MarquardtIteration(void);
00040 
00041 // OPERATORS
00042 // OPERATIONS
00043 // ACCESS
00044 
00045     virtual ColumnVector                EndValuePoint() const;
00046 
00047     virtual vector<IterationDataIdType> ClassIds() const;
00048 
00049     static IterationDataIdType          ClassId();
00050 
00051     const ColumnVector&                 StartingPoint() const;
00052 
00053     const ColumnVector&                 Gradient() const;
00054 
00055     const SymmetricMatrix&              Hessian() const;
00056 
00057     const std::vector<ColumnVector>&    MarquardtSteps() const;
00058     std::vector<ColumnVector>&          rMarquardtSteps();
00059 
00060     const std::vector<ColumnVector>&    TrialPoints() const;
00061     std::vector<ColumnVector>&          rTrialPoints();
00062 
00063     double                              FirstLambda() const;
00064 
00065 // INQUIRY
00066 
00067 protected:
00068 private:
00069 
00070     ColumnVector                    mStartingPoint; 
00071     ColumnVector                    mGradient; 
00072     SymmetricMatrix                 mHessian; 
00073 
00078     std::vector<ColumnVector>       mMarquardtSteps;
00081     std::vector<ColumnVector>       mTrialPoints;
00082 
00083     double                          mFirstLambda;
00084 
00085 };
00086 
00087 // INLINE METHODS
00088 //
00089 
00090 // EXTERNAL REFERENCES
00091 //
00092 
00093 #endif  // _MarquardtIteration_h

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