00001
00002
00003
00004
00005 #ifndef INCLUDED_TAYLODE_H
00006 #define INCLUDED_TAYLODE_H
00007
00008
00009 #include "taylctrl.h"
00010
00021 class TAYLOR_ODE : protected TAYLOR_CTRL
00022 {
00023
00024 public:
00025
00036 virtual void GenerateTerms( const INTERVAL_VECTOR & Y,
00037 const INTERVAL & h, int k ) = 0;
00038
00049 virtual void SumTerms( INTERVAL_VECTOR & Sum, int k ) = 0;
00050
00058 virtual void GetOneTerm( INTERVAL_VECTOR & Yk, int k ) = 0;
00059
00072 void GenerateTerms( const VECTOR & Y, const INTERVAL & h, int k );
00073
00075 virtual ~TAYLOR_ODE();
00076
00077 protected:
00078
00083 TAYLOR_ODE( int n );
00084
00085 };
00086
00087
00089 typedef TAYLOR_ODE* PtrTaylGenODE;
00090
00091
00092 inline TAYLOR_ODE :: TAYLOR_ODE( int n ) : TAYLOR_CTRL( n )
00093 {
00094 ;
00095 }
00096
00097
00098 inline TAYLOR_ODE :: ~TAYLOR_ODE()
00099 {
00100 ;
00101 }
00102
00103
00104 inline void TAYLOR_ODE :: GenerateTerms( const VECTOR & Y,
00105 const INTERVAL & h,
00106 int k )
00107 {
00108 INTERVAL_VECTOR Ytmp(Dimension(Y));
00109 Ytmp = Y;
00110 GenerateTerms( Ytmp,h,k );
00111 }
00112
00113
00114 #endif