00001
00002
00003
00004
00005 #ifndef INCLUDED_IHOTGT_H
00006 #define INCLUDED_IHOTGT_H
00007
00008
00009 #include "tgtencl.h"
00010 #include "paral.h"
00011
00012
00021 class IHO : public TIGHT_ENCL
00022 {
00023
00024 public:
00025
00031 IHO( int p, int q );
00032
00035 void CompEncl( INTERVAL_VECTOR & Ytight,
00036 INTERVAL_VECTOR & LocErr,
00037 const INTERVAL & h,
00038 int order,
00039 PtrODENumeric ODE,
00040 PtrODESolver Solver );
00041
00043 void Init( PtrODENumeric ODE );
00044
00046 ~IHO() ;
00047
00048 private:
00049
00051 void ResizeSpace( int n );
00052
00054 void LoadCoeff( int p, int q );
00055
00057 INTERVAL CompErrorConst( int p, int q );
00058
00059
00060 private:
00061
00063 int P;
00064
00066 int Q;
00067
00069 PtrParall PrevSol;
00070
00072 INTERVAL *C_pq;
00074 INTERVAL *C_qp;
00075
00077 INTERVAL ErrorConst;
00078
00080 VECTOR YpointPred;
00081
00083 VECTOR Ymid;
00084
00086 INTERVAL_VECTOR Z, Yforw, Yback, dj, Y_1;
00087
00089 MATRIX AjBB;
00090
00092 MATRIX AjCC;
00093
00095 INTERVAL_MATRIX Sforw;
00096
00098 INTERVAL_MATRIX Sback;
00099
00101 INTERVAL_MATRIX SbackInv;
00102
00104 INTERVAL_MATRIX Mtmp;
00105
00106 INTERVAL_MATRIX Bj, Cj;
00107
00109 INTERVAL_MATRIX AjInv;
00110 };
00111
00112
00113 #endif