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