00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00040 #include <vector>
00041 #include <string>
00042
00043 using namespace std;
00044 using namespace cxsc;
00045 using namespace taylor;
00046
00056 class IntegralOperatorRG
00057 {
00058 private:
00062 ivector K;
00063 public:
00068 IntegralOperatorRG(ivector& iv) { K=iv; }
00073 IntegralOperatorRG(const IntegralOperatorRG& IO) { K=IO.K; }
00074 itaylor operator()(itaylor&, int, interval, ivector&, ivector&);
00075 };
00076
00077
00078
00086 class IntegralGleichung
00087 {
00088 private:
00092 typedef dim2taylor (*KFkt)(dim2taylor_vector&);
00096 typedef itaylor (*ReFkt)(itaylor&);
00100 KFkt KernFkt;
00104 ReFkt RechtsFkt;
00109 dim2taylor Kpoint;
00110 dim2taylor Kint;
00111 dim2taylor Kern;
00113
00117 itaylor RSpoint;
00118 itaylor RSint;
00119 itaylor RS;
00121
00125 interval S;
00126 interval T;
00127 interval RS_S;
00128 interval Smid;
00129 interval Tmid;
00130 interval RS_Smid;
00132
00135 itaylor ILGS_Lsg;
00139 itaylor Lsg;
00143 int ord;
00147 ivector MonomInt_a;
00151 ivector MonomInt_b;
00155 ivector Restkern;
00156
00157 public:
00158
00159 IntegralGleichung(int ord=0);
00160 IntegralGleichung(KFkt,interval, interval,
00161 ReFkt, interval, int);
00162 void Einschliessung_berechnen();
00163 void Loesungsansatz(vector<itaylor>&, itaylor&, int&);
00164 void Loesung_bilden(vector<itaylor>&, itaylor&, int&);
00165
00171 dim2taylor getKern() { return Kern;}
00172 itaylor getRS() { return RS; }
00173 itaylor getILGS_Lsg() { return ILGS_Lsg; }
00174 itaylor getLsg() { return Lsg; }
00175 interval getS() { return S;}
00176 interval getT() { return T;}
00177 interval getRS_S() { return RS_S;}
00179
00180 void Export(string dest, string fname, string varname="IGL_Lsg");
00181 void Export_Plot(string dest, string fname, int steps,
00182 string varname="IGL_Lsg",
00183 string plottitle="SolutionEnclosure");
00184
00185 friend ostream& operator<< (ostream&, IntegralGleichung&);
00186
00187 friend itaylor Iteration (IntegralOperatorRG&, itaylor&, int ord, interval S,
00188 ivector&, ivector&, int& err);
00189
00190 };