1% Raffaele Vitolo, 09/10/09
2% This is the computation for symmetries of KdV
3% Note that here [x]=-1, hence [u]=2 and [t]=-3.
4% ansatz: deg(sym) <=5
5% In order to work with the examples, load first CDIFF with the command
6load_package cdiff;
7
8
9super_vectorfield(ddx,{x,t,u,u1,u2,u3,u4,u5,u6,u7,
10u8,u9,u10,u11,u12,u13,u14,u15,u16,u17},
11{ext 1,ext 2,ext 3,ext 4,ext 5,ext 6,ext 7,ext 8,ext 9,ext 10,ext
1211,ext 12,ext 13,ext 14,ext 15,ext 16,ext 17,ext 18,ext 19,ext 20,ext
1321,ext 22,ext 23,ext 24,ext 25,ext 26,ext 27,ext 28,ext 29,ext 30,
14ext 31,ext 32,ext 33,ext 34,ext 35,ext 36,ext 37,ext 38,ext 39,ext 40,
15ext 41,ext 42,ext 43,ext 44,ext 45,ext 46,ext 47,ext 48,ext 49,ext 50,
16ext 51,ext 52,ext 53,ext 54,ext 55,ext 56,ext 57,ext 58,ext 59,ext 60,
17ext 61,ext 62,ext 63,ext 64,ext 65,ext 66,ext 67,ext 68,ext 69,ext 70,
18ext 71,ext 72,ext 73,ext 74,ext 75,ext 76,ext 77,ext 78,ext 79,ext 80
19});
20
21super_vectorfield(ddt,{x,t,u,u1,u2,u3,u4,u5,u6,u7,
22u8,u9,u10,u11,u12,u13,u14,u15,u16,u17},
23{ext 1,ext 2,ext 3,ext 4,ext 5,ext 6,ext 7,ext 8,ext 9,ext 10,ext
2411,ext 12,ext 13,ext 14,ext 15,ext 16,ext 17,ext 18,ext 19,ext 20,ext
2521,ext 22,ext 23,ext 24,ext 25,ext 26,ext 27,ext 28,ext 29,ext 30,
26ext 31,ext 32,ext 33,ext 34,ext 35,ext 36,ext 37,ext 38,ext 39,ext 40,
27ext 41,ext 42,ext 43,ext 44,ext 45,ext 46,ext 47,ext 48,ext 49,ext 50,
28ext 51,ext 52,ext 53,ext 54,ext 55,ext 56,ext 57,ext 58,ext 59,ext 60,
29ext 61,ext 62,ext 63,ext 64,ext 65,ext 66,ext 67,ext 68,ext 69,ext 70,
30ext 71,ext 72,ext 73,ext 74,ext 75,ext 76,ext 77,ext 78,ext 79,ext 80
31});
32
33
34%specification of the vectorfield ddx
35%the even variables
36ddx(0,1):=1$
37ddx(0,2):=0$
38ddx(0,3):=u1$
39ddx(0,4):=u2$
40ddx(0,5):=u3$
41ddx(0,6):=u4$
42ddx(0,7):=u5$
43ddx(0,8):=u6$
44ddx(0,9):=u7$
45ddx(0,10):=u8$
46ddx(0,11):=u9$
47ddx(0,12):=u10$
48ddx(0,13):=u11$
49ddx(0,14):=u12$
50ddx(0,15):=u13$
51ddx(0,16):=u14$
52ddx(0,17):=u15$
53ddx(0,18):=u16$
54ddx(0,19):=u17$
55ddx(0,20):=letop$
56
57%specification of the vectorfield ddt
58%the even variables
59ddt(0,1):=0$
60ddt(0,2):=1$
61ddt(0,3):=ut$
62ddt(0,4):=ut1$
63ddt(0,5):=ut2$
64ddt(0,6):=ut3$
65ddt(0,7):=ut4$
66ddt(0,8):=ut5$
67ddt(0,9):=ut6$
68ddt(0,10):=ut7$
69ddt(0,11):=ut8$
70ddt(0,12):=ut9$
71ddt(0,13):=ut10$
72ddt(0,14):=ut11$
73ddt(0,15):=ut12$
74ddt(0,16):=ut13$
75ddt(0,17):=ut14$
76ddt(0,18):=letop$
77ddt(0,19):=letop$
78ddt(0,20):=letop$
79
80ut:=u*u1+u3;
81
82ut1:=ddx ut;
83ut2:=ddx ut1;
84ut3:=ddx ut2;
85ut4:=ddx ut3;
86ut5:=ddx ut4;
87ut6:=ddx ut5;
88ut7:=ddx ut6;
89ut8:=ddx ut7;
90ut9:=ddx ut8;
91ut10:=ddx ut9;
92ut11:=ddx ut10;
93ut12:=ddx ut11;
94ut13:=ddx ut12;
95ut14:=ddx ut13;
96
97operator ev;
98
99for i:=1:17 do write ev(0,i):=ddt(ddx(0,i))-ddx(ddt(0,i));
100
101pause;
102
103%% In KdV u has degree two
104
105all_graded_der:={{},{u},{u1},{u2},{u3},{u4},{u5},
106{u6},{u7},{u8},{u9},{u10},{u11},{u12},{u13},{u14},{u15},{u16},{u17}};
107
108grd0:={1};
109grd1:= mkvarlist1(1,1)$
110grd2:= mkvarlist1(2,2)$
111grd3:= mkvarlist1(3,3)$
112grd4:= mkvarlist1(4,4)$
113grd5:= mkvarlist1(5,5)$
114grd6:= mkvarlist1(6,6)$
115grd7:= mkvarlist1(7,7)$
116grd8:= mkvarlist1(8,8)$
117grd9:= mkvarlist1(9,9)$
118grd10:= mkvarlist1(10,10)$
119grd11:= mkvarlist1(11,11)$
120grd12:= mkvarlist1(12,12)$
121grd13:= mkvarlist1(13,13)$
122grd14:= mkvarlist1(14,14)$
123grd15:= mkvarlist1(15,15)$
124grd16:= mkvarlist1(16,16)$
125
126operator c,equ;
127
128ctel:=0;
129
130sym:=
131(for each el in grd0 sum (c(ctel:=ctel+1)*el))+
132(for each el in grd1 sum (c(ctel:=ctel+1)*el))+
133(for each el in grd2 sum (c(ctel:=ctel+1)*el))+
134(for each el in grd3 sum (c(ctel:=ctel+1)*el))+
135(for each el in grd4 sum (c(ctel:=ctel+1)*el))+
136(for each el in grd5 sum (c(ctel:=ctel+1)*el))$
137
138equ 1:=ddt(sym)-u*ddx(sym)-u1*sym-ddx(ddx(ddx(sym)));
139
140vars:={x,t,u,u1,u2,u3,u4,u5,u6,u7,u8,u9,u10,u11,u12,u13,u14,u15,u16,u17};
141
142tel:=1;
143
144procedure splitvars i;
145begin;
146ll:=multi_coeff(equ i,vars);
147equ(tel:=tel+1):=first ll;
148ll:=rest ll;
149for each el in ll do equ(tel:=tel+1):=second el;
150end;
151
152initialize_equations(equ,tel,{},{c,ctel,0},{f,0,0});
153
154splitvars 1;
155
156put_equations_used tel;
157
158for i:=2:te do integrate_equation i;
159
160;end;
161
162