00001
00006 #ifndef _NewtonIteration_h
00007 #define _NewtonIteration_h
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #include "../IterationData.h"
00018 #include "../util.h"
00019
00020
00021
00022
00023
00024 class NewtonIteration
00025 : public IterationData
00026 {
00027 public:
00028
00029
00030
00038 NewtonIteration(const ColumnVector& startingPoint,
00039 const ColumnVector& gradient,
00040 const SymmetricMatrix& hessian,
00041 const ColumnVector& endPoint,
00042 bool stepValid);
00043
00046 ~NewtonIteration(void);
00047
00048
00049
00050
00051
00052
00053
00054 virtual ColumnVector EndValuePoint() const;
00055
00056 virtual vector<IterationDataIdType> ClassIds() const;
00057
00058 static IterationDataIdType ClassId();
00059
00060
00061 const ColumnVector& StartingPoint() const;
00062
00063 const ColumnVector& Gradient() const;
00064
00065 const SymmetricMatrix& Hessian() const;
00066
00067 const ColumnVector& EndPoint() const;
00068
00069 bool StepValid() const;
00070
00071
00072
00073 protected:
00074 private:
00075
00076 ColumnVector mStartingPoint;
00077 ColumnVector mGradient;
00078 SymmetricMatrix mHessian;
00079 ColumnVector mEndPoint;
00080 bool mStepValid;
00081
00082 };
00083
00084
00085
00086
00087
00088
00089
00090 #endif // _NewtonIteration_h