00001
00007 #ifndef _RosenbrockIteration_h
00008 #define _RosenbrockIteration_h
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include "../IterationData.h"
00019
00020
00021
00022
00023
00024 class RosenbrockIteration
00025 : public IterationData
00026 {
00027 public:
00028
00029
00030
00033 RosenbrockIteration(void);
00034
00041 RosenbrockIteration(const ColumnVector& staringPoint,
00042 const SquareMatrix& D);
00043
00046 ~RosenbrockIteration(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 const ColumnVector& StartingPoint() const;
00061 ColumnVector& rStartingPoint();
00062
00063 const SquareMatrix& D() const;
00064 SquareMatrix& rD();
00065
00066 const ColumnVector& Lambda() const;
00067 ColumnVector& rLambda();
00068
00069 const ColumnVector& EndPoint() const;
00070 ColumnVector& rEndPoint();
00071
00072 const SquareMatrix& A() const;
00073 SquareMatrix& rA();
00074
00075 const SquareMatrix& NewD() const;
00076 SquareMatrix& rNewD();
00077
00078
00079 bool BaseChanged() const;
00080
00081 protected:
00082 private:
00083 ColumnVector mStartingPoint;
00084 SquareMatrix mD;
00085
00086 ColumnVector mLambda;
00087
00088 ColumnVector mEndPoint;
00089
00090 SquareMatrix mA;
00091 SquareMatrix mNewD;
00092 };
00093
00094
00095
00096
00097
00098
00099
00100 #endif // _RosenbrockIteration_h