`loaded new kovacicsols` Tools for the proofs of results in Hoeij & Weil, Issac'05restart: with(DEtools): _Envdiffopdomain:=[Dx,x]: with(diffalg):Warning, the name singularities has been redefined`loaded new kovacicsols`
<Text-field layout="Heading 1" style="Heading 1">Ancillary procedures</Text-field>## Change of variable in a differential operator. ## May also use the function Dchangevar pullback := proc(L, a) local i, f; global x, Dx; f := add( mult(subs(x = a, coeff(L, Dx, i)), Dx/diff(a, x) $ i) , i = 0 .. degree(L, Dx)); sort(collect(f/lcoeff(f, Dx), Dx, X->factor(simplify(X,symbolic))), Dx) end:## singularities of a differential operator singularites:=proc(L) local co, liste; co := lcoeff(collect(numer(normal(L)), Dx), Dx); liste := select(X -> has(X, x), factors(co)[2]); [seq(RootOf(i[1], x), i = liste), infinity] end proc:## local (generalized) exponents localex:=proc(L) seq(gen_exp(L,_t,x=p),p=singularites(L)) end proc:
<Text-field layout="Heading 1" style="Heading 1">Standard operators and their solutions</Text-field>
<Text-field layout="Heading 2" style="Heading 2">Imprimitive groups</Text-field>Dn:=Dx^2+x*Dx/((x-1)*(x+1))-1/4/((x-1)*n^2*(x+1));NiM+SSNEbkc2IiwoKiRJI0R4R0YlIiIjIiIiKipJInhHRiVGKkYoRiosJkYsRiohIiJGKkYuLCZGLEYqRipGKkYuRioqKEYtRi5JIm5HRiUhIiNGL0YuI0YuIiIl## special case for quaternion group D2 Q:=eval(Dn,n=2); SQ:= symmetric_product(Q,Dx-coeff(Q,Dx,1)/2); r1:=4*x/(x-1)/(x+1); ## logarithmic derivative of the invariant of degree 6 D2I:=symmetric_product(SQ,Dx+r1/6);NiM+SSJRRzYiLCgqJEkjRHhHRiUiIiMiIiIqKkkieEdGJUYqRihGKiwmRixGKiEiIkYqRi4sJkYsRipGKkYqRi5GKiomRi1GLkYvRi4jRi4iIzs=NiM+SSNTUUc2IiwmKiRJI0R4R0YlIiIjIiIiKigsJiokSSJ4R0YlRilGKiIiJEYqRiosJkYuRiohIiJGKiEiIywmRi5GKkYqRipGMiNGLyIjOw==NiM+SSNyMUc2IiwkKihJInhHRiUiIiIsJkYoRikhIiJGKUYrLCZGKEYpRilGKUYrIiIlNiM+SSREMklHNiIsKCokSSNEeEdGJSIiIyIiIioqSSJ4R0YlRiosJkYsRiohIiJGKkYuLCZGLEYqRipGKkYuRihGKiMiIiUiIiQqKCwmKiRGLEYpRipGMkYqRipGLSEiI0YvRjYjISImIiRXIg==coeff(symmetric_power(D2I,6),Dx,0);NiMiIiE=symmetric_product(SQ,Dx+r1/8);NiMsKCokSSNEeEc2IiIiIyIiIioqSSJ4R0YmRigsJkYqRighIiJGKEYsLCZGKkYoRihGKEYsRiVGKEYoKiZGK0YsRi1GLCNGLCIjOw==
<Text-field layout="Heading 2" style="Heading 2">Primitive groups</Text-field>s:=(6*lambda-1)*(6*lambda+1)/144; St:=pullback( Dx^2+(7*x-4)/6/x/(x-1)*Dx-s/x/(x-1), 1/(x+1) ); St_A4:=subs(lambda=1/3,St); St_S4:=subs(lambda=1/4,St); St_A5:=subs(lambda=1/5,St); ##### former standard equations: A4S:=St_A4: S4S:=St_S4: A5S:=St_A5: A5I:=A5S:NiM+SSJzRzYiLCQqJiwmSSdsYW1iZGFHRiUiIichIiIiIiJGLCwmRilGKkYsRixGLCNGLCIkVyI=NiM+SSNTdEc2IiwoKiRJI0R4R0YlIiIjIiIiKiosJkkieEdGJSIiKSIiJEYqRiosJkYtRipGKkYqISIiRi1GMUYoRiojRioiIicqKiwmSSdsYW1iZGFHRiVGM0YxRipGKiwmRjZGM0YqRipGKkYwISIjRi1GMSNGKiIkVyI=NiM+SSZTdF9BNEc2IiwoKiRJI0R4R0YlIiIjIiIiKiosJkkieEdGJSIiKSIiJEYqRiosJkYtRipGKkYqISIiRi1GMUYoRiojRioiIicqJkYwISIjRi1GMSNGKiIjWw==NiM+SSZTdF9TNEc2IiwoKiRJI0R4R0YlIiIjIiIiKiosJkkieEdGJSIiKSIiJEYqRiosJkYtRipGKkYqISIiRi1GMUYoRiojRioiIicqJkYwISIjRi1GMSMiIiYiJHcmNiM+SSZTdF9BNUc2IiwoKiRJI0R4R0YlIiIjIiIiKiosJkkieEdGJSIiKSIiJEYqRiosJkYtRipGKkYqISIiRi1GMUYoRiojRioiIicqJkYwISIjRi1GMSMiIzYiJStPb6:=1/2/((x+1)*x): L:=symmetric_product(St_A4,Dx+b6/6); ## better choice 1 (gives nicer formula). A4I:=pullback(L,-2*x/(x+1)); verif:=coeff(symmetric_power(A4I,6),Dx,0);NiM+SSJMRzYiLCgqJEkjRHhHRiUiIiMiIiIqKiwmSSJ4R0YlRilGKkYqRipGLSEiIiwmRi1GKkYqRipGLkYoRiojRikiIiQqJkYvRi5GLSEiIyMhIiYiJFciNiM+SSRBNElHNiIsKCokSSNEeEdGJSIiIyIiIiosLCYqJEkieEdGJUYpIiIkISIiRipGKiwmRi5GKkYqRipGMEYuRjAsJkYuRipGMEYqRjBGKEYqI0YpRi8qKEYxRjBGLiEiI0YyRjAjIiImIiRXIg==NiM+SSZ2ZXJpZkc2IiIiIQ==## other choice 2: normalise the invariant of degree 8 to 1 so that ## the standard equation is a simple pullback of S4I. Gives nicer formula b8:=-1/3/(x+1); L:=symmetric_product(St_A4,Dx+b8/8); ## better choice (makes it a pullback of S4I) A4I8:=pullback(L,-2/(x+1)); verif:=coeff(symmetric_power(A4I8,8),Dx,0);NiM+SSNiOEc2IiwkKiQsJkkieEdGJSIiIkYqRiohIiIjRisiIiQ=NiM+SSJMRzYiLCgqJEkjRHhHRiUiIiMiIiIqKiwmSSJ4R0YlIiImRilGKkYqRi0hIiIsJkYtRipGKkYqRi9GKEYqI0YqIiIlKiRGMCEiIyMhIigiJHcmNiM+SSVBNEk4RzYiLCgqJEkjRHhHRiUiIiMiIiIqKkkieEdGJUYqLCZGLEYqISIiRipGLiwmRixGKkYqRipGLkYoRiojIiIkRikqJkYtISIjRi9GMyMhIigiJFciNiM+SSZ2ZXJpZkc2IiIiIQ==b8:=-1/24/(x+1); L:=symmetric_product(St_S4,Dx+b8); ## better choice S4I:=pullback(L,x/(-x+1));NiM+SSNiOEc2IiwkKiQsJkkieEdGJSIiIkYqRiohIiIjRisiI0M=NiM+SSJMRzYiLCgqJEkjRHhHRiUiIiMiIiIqKiwmSSJ4R0YlIiImRilGKkYqRi0hIiIsJkYtRipGKkYqRi9GKEYqI0YqIiIlKiZGMEYvRi1GLyMhIigiJHcmNiM+SSRTNElHNiIsKCokSSNEeEdGJSIiIyIiIioqLCZJInhHRiUiIiYhIiNGKkYqLCZGLUYqISIiRipGMUYtRjFGKEYqI0YqIiIlKiZGMEYvRi1GMSMhIigiJHcm
<Text-field layout="Heading 2" style="Heading 2">Solutions of Imprimitive standard operators</Text-field>sol_DnI:=hypergeomsols(diffop2de(Dn,y(x)),y(x)); RiemannPsols(diffop2de(Dn,y(x)),y(x));NiM+SShzb2xfRG5JRzYiNyQtSSpoeXBlcmdlb21HSShfc3lzbGliR0YlNiU3JCwkKiRJIm5HRiUhIiIjIiIiIiIjLCRGLSNGL0YyNyNGMCwmRjBGMUkieEdGJUYwKiYsJkYyRjFGN0YyRjAtRig2JTckLCQqJiwmRi9GMUYuRjFGMUYuRi9GMCwkKiYsJkYxRjFGLkYxRjFGLkYvRjA3IyMiIiRGMkY2RjE=NiM3JC1JKmh5cGVyZ2VvbUdJKF9zeXNsaWJHNiI2JTckLCQqJEkibkdGJyEiIiMiIiIiIiMsJEYrI0YtRjA3I0YuLCZGLkYvSSJ4R0YnRi4qJkY0Ri4tRiU2JTckLCZGK0YyRi5GLywmRitGLkYuRi83IyMiIiRGMEY0Ri8=sol_D2S:=hypergeomsols(diffop2de(Q,y(x)),y(x)); RiemannPsols(diffop2de(Q,y(x)),y(x));NiM+SShzb2xfRDJTRzYiNyQtSSpoeXBlcmdlb21HSShfc3lzbGliR0YlNiU3JCMhIiIiIiUjIiIiRi43IyNGMCIiIywmRjJGMEkieEdGJUYyKiYsJkYzRjBGNUYzRjItRig2JTckRi8jIiIkRi43IyNGPEYzRjRGMA==NiM3JC1JKmh5cGVyZ2VvbUdJKF9zeXNsaWJHNiI2JTckIyEiIiIiJSMiIiJGLDcjI0YuIiIjLCZGMEYuSSJ4R0YnRjAqJkYyRjAtRiU2JTckIyIiJEYsRi03IyNGOUYxRjJGLg==hypergeomsols(diffop2de(D2I,y(x)),y(x)); sol_D2I:=RiemannPsols(diffop2de(D2I,y(x)),y(x)) ;NiM3JComLCYqJiwmSSJ4RzYiIiIiISIiRiojRioiIiMsJkYoRipGKkYqRixGKkYoRiojRioiIiUsJiokRihGLUYqRitGKiNGKyIjNyomRiUjRitGMEYxRjM=NiM+SShzb2xfRDJJRzYiNyQqKC1JKmh5cGVyZ2VvbUdJKF9zeXNsaWJHRiU2JTckIyEiIiIiJSMiIiJGLzcjI0YxIiIjLCZGM0YxSSJ4R0YlRjNGMSwmRjZGMUYxRjEjRi4iIzcsJkY2RjFGLkYxRjgqKkY1RjMtRik2JTckRjAjIiIkRi83IyNGQEY0RjVGMUY3RjhGOkY4lprint(sol_S4I);sol_S4I
<Text-field layout="Heading 2" style="Heading 2">Solutions of Primitive standard operators</Text-field>eq:=diffop2de(A4I,y(x)): hypergeomsols(eq,y(x)); sol_A4I:=RiemannPsols(eq,y(x)); dsolve(eq,[hyper3]);NiM3JCooSSJ4RzYiIyIiJiIjNywmKiRGJSIiIyIiIiEiIkYtI0YtIiIkLUkqaHlwZXJnZW9tR0koX3N5c2xpYkdGJjYlNyQjIiM4IiNDIyIjREY4NyMjRigiIiVGK0YtKihGJSNGLkYpRipGLy1GMjYlNyQjIiIoRjgjIiM+Rjg3IyNGMEY9RitGLQ==NiM+SShzb2xfQTRJRzYiNyQqJi1JKmh5cGVyZ2VvbUdJKF9zeXNsaWJHRiU2JTckIyEiIiIjNyMiIiIiIiU3IyNGMSIiIywkKiZJInhHRiVGMSwmRjhGMUYuRjFGLkY1RjFGN0YtKihGNUY0RjcjIiImRi8tRik2JTckIyIiJEYyRjs3IyNGQUY1RjZGMQ==NiMvLUkieUc2IjYjSSJ4R0YmLCYqKkkkX0MxR0YmIiIiRigjISIiIiM3LCYqJEYoIiIjRixGLkYsI0YsIiIkLUkqaHlwZXJnZW9tR0koX3N5c2xpYkdGJjYlNyQjIiIoIiNDIyIjPkY8NyMjRjQiIiVGMUYsRiwqKkkkX0MyR0YmRixGKCMiIiZGL0YwRjMtRjY2JTckIyIjOEY8IyIjREY8NyMjRkVGQUYxRixGLA==latex(sol_A4I);[{\it hypergeom} \left( [-1/12,1/4],[1/2],2\,{\frac {x}{x-1}} \right) \left( {\frac {x}{x-1}} \right) ^{-1/12},\sqrt {2} \left( {\frac {x}{ x-1}} \right) ^{{\frac {5}{12}}}{\it hypergeom} \left( [{\frac {5}{12} },3/4],[3/2],2\,{\frac {x}{x-1}} \right) ]sol_S4I:=hypergeomsols(diffop2de(S4I,y(x)),y(x)); sol_S4I:=RiemannPsols(diffop2de(S4I,y(x)),y(x));NiM+SShzb2xfUzRJRzYiNyQqKCwmSSJ4R0YlIiIiISIiRiojIiIoIiNDRikjRioiIiMtSSpoeXBlcmdlb21HSShfc3lzbGliR0YlNiU3JCMiIz5GLiMiI0RGLjcjIyIiJEYwRilGKiomRihGLC1GMjYlNyRGLCMiIzhGLjcjRi9GKUYqNiM+SShzb2xfUzRJRzYiNyQqJi1JKmh5cGVyZ2VvbUdJKF9zeXNsaWJHRiU2JTckIyEiIiIjQyMiIiZGLzcjIyIiIiIiI0kieEdGJUY0LCZGNkY0Ri5GNEYtKihGNkYzLUYpNiU3JCMiIzxGLyMiIzZGLzcjIyIiJEY1RjZGNEY3Ri0=hypergeomsols(diffop2de(A5I,y(x)),y(x)); sol_A5I:=RiemannPsols(diffop2de(A5I,y(x)),y(x));NiM3JCooLCZJInhHNiIiIiJGKEYoIyIjNiIjZ0YmI0YoIiIjLUkqaHlwZXJnZW9tR0koX3N5c2xpYkdGJzYlNyQjIiNURisjIiNoRis3IyMiIiRGLSwkRiYhIiJGKComRiVGKS1GLzYlNyRGKSMiI0pGKzcjRixGOkYoNiM+SShzb2xfQTVJRzYiNyQqJi1JKmh5cGVyZ2VvbUdJKF9zeXNsaWJHRiU2JTckIyEiIiIjZyMiIz5GLzcjIyIiIiIiIywkSSJ4R0YlRi5GNCwmRjdGNEY0RjRGLSooRjZGMy1GKTYlNyQjIiNcRi8jIiNIRi83IyMiIiRGNUY2RjRGOEYtsol_A4S:=hypergeomsols(diffop2de(A4S,y(x)),y(x)); RiemannPsols(diffop2de(A4S,y(x)),y(x));NiM+SShzb2xfQTRTRzYiNyQqKCwmSSJ4R0YlIiIiRipGKiNGKiIiJUYpI0YqIiIjLUkqaHlwZXJnZW9tR0koX3N5c2xpYkdGJTYlNyQjIiIkRiwjIiM4IiM3NyMjRjVGLiwkRikhIiJGKiomRihGKy1GMDYlNyRGKyMiIihGODcjRi1GO0YqNiM3JComLCZJInhHNiIiIiJGKEYoI0YoIiIlLUkqaHlwZXJnZW9tR0koX3N5c2xpYkdGJzYlNyRGKSMiIigiIzc3IyNGKCIiIywkRiYhIiJGKCooRjZGNC1GLDYlNyQjIiIkRiojIiM4RjI3IyNGPUY1RjZGKEYlRik=sol_S4S:=hypergeomsols(diffop2de(S4S,y(x)),y(x)); RiemannPsols(diffop2de(S4S,y(x)),y(x));NiM+SShzb2xfUzRTRzYiNyQqKCwmSSJ4R0YlIiIiRipGKiMiIiYiI0NGKSNGKiIiIy1JKmh5cGVyZ2VvbUdJKF9zeXNsaWJHRiU2JTckIyIjPEYtIyIjREYtNyMjIiIkRi8sJEYpISIiRioqJkYoRistRjE2JTckRisjIiM4Ri03I0YuRjxGKg==NiM3JComLUkqaHlwZXJnZW9tR0koX3N5c2xpYkc2IjYlNyQjISIiIiNDIyIiKEYtNyMjIiIiIiIjLCRJInhHRihGLEYyLCZGNUYyRjJGMkYrKihGNEYxLUYmNiU3JCMiIz5GLSMiIzZGLTcjIyIiJEYzRjRGMkY2Ris=
<Text-field layout="Heading 1" style="Heading 1">S4: section 5.2.2</Text-field>L:=S4I; PL:=pullback(L,F(x)): A0,A1:=coeff(PL,Dx,0),coeff(PL,Dx,1); sys:=map(numer,{A1-a1(x),A0-a0(x)}): R := differential_ring(ranking=[F,a1,a0], derivations=[x], notation=diff): GE:= Rosenfeld_Groebner(sys, R); EQ:=rewrite_rules(GE[1]); ## simplification: may set G=2a1+diff(a0)/a0 to simplify the formulas. the_f:=normal(subs(diff(a0(x),x)=G(x)*a0(x)-2*a1(x)*a0(x) , rhs(rewrite_rules(GE[1])[1]) )): pullback_S4I:=collect(the_f,G(x));NiM+SSJMRzYiLCgqJEkjRHhHRiUiIiMiIiIqKiwmSSJ4R0YlIiImISIjRipGKiwmRi1GKiEiIkYqRjFGLUYxRihGKiNGKiIiJSomRjBGL0YtRjEjISIoIiR3Jg==NiM+NiRJI0EwRzYiSSNBMUdGJjYkLCQqKCwmLUkiRkdGJjYjSSJ4R0YmIiIiISIiRjAhIiNGLEYxLUklZGlmZkdJKnByb3RlY3RlZEdGNTYkRixGLyIiIyMhIigiJHcmLCQqKiwqKiZGM0Y3RixGMCEiJiokRjNGN0Y3KiYtRjQ2JEYsLUkiJEdGNTYkRi9GN0YwRixGNyIiJSomRkJGMEYsRjAhIiVGMEYzRjFGK0YxRixGMSNGMUZHNiM+SSNHRUc2IjcmSTBjaGFyYWN0ZXJpemFibGVHRiVGJ0YnRic=NiM+SSNFUUc2IjckLy1JIkZHRiU2I0kieEdGJSwkKiYsKComLUkjYTFHRiVGKiIiIy1JI2EwR0YlRipGMiIiJSokLUklZGlmZkdJKnByb3RlY3RlZEdGOTYkRjNGK0YyIiIiKihGN0Y7RjBGO0YzRjtGNUY7RjMhIiQjISIoIiRXIi8tRjg2JEYwRissJComLCwqJEYzIiIkIiQpR0YvIiNjRjwiI1UqJkYzRjstRjg2JEYzLUkiJEdGOTYkRitGMkY7IiM5RjZGP0Y7RjMhIiMjISIiIiNHNiM+SS1wdWxsYmFja19TNElHNiIsJComLUkiR0dGJTYjSSJ4R0YlIiIjLUkjYTBHRiVGKiEiIiMhIigiJFci
<Text-field layout="Heading 1" style="Heading 1">A4: section 5.2.3</Text-field>L:=A4I; PL:=pullback(L,F(x)): A0,A1:=coeff(PL,Dx,0),coeff(PL,Dx,1); sys:=map(numer,{A1-a1(x),A0-a0(x)}): R := differential_ring(ranking=[F,a1,a0], derivations=[x], notation=diff): GE:= Rosenfeld_Groebner(sys, R); rewrite_rules(GE[1]); ## simplification: may set G=2a1+diff(a0)/a0 to simplify the formulas. the_pol:=collect(normal(subs(diff(a0(x),x)=G(x)*a0(x)-2*a1(x)*a0(x) , rhs(rewrite_rules(GE[1])[1]) )),F(x),X->collect(X,G(x)) ); PF:=F(x)^2-the_pol; pullback_A4I:=sqrt(the_pol);NiM+SSJMRzYiLCgqJEkjRHhHRiUiIiMiIiIqLCwmKiRJInhHRiVGKSIiJCEiIkYqRiosJkYuRipGKkYqRjBGLkYwLCZGLkYqRjBGKkYwRihGKiNGKUYvKihGMUYwRi4hIiNGMkYwIyIiJiIkVyI=NiM+NiRJI0EwRzYiSSNBMUdGJjYkLCQqKiwmLUkiRkdGJjYjSSJ4R0YmIiIiRjBGMCEiIkYsISIjLCZGLEYwRjFGMEYxLUklZGlmZkdJKnByb3RlY3RlZEdGNjYkRixGLyIiIyMiIiYiJFciLCQqLCwqKiZGNEY4RixGOCEiJyokRjRGOEY4KiYtRjU2JEYsLUkiJEdGNjYkRi9GOEYwRiwiIiRGSComRkNGMEYsRjAhIiRGMEY0RjFGK0YxRixGMUYzRjEjRjFGSA==NiM+SSNHRUc2IjcmSTBjaGFyYWN0ZXJpemFibGVHRiVGJ0YnRic=NiM3JC8qJC1JIkZHNiI2I0kieEdGKCIiIywkKiYsKiomLUkjYTFHRihGKUYrLUkjYTBHRihGKUYrIiM/KiRGMiIiJCIjayokLUklZGlmZkdJKnByb3RlY3RlZEdGOzYkRjJGKkYrIiImKihGOSIiIkYwRj9GMkY/RjRGPywoRi8iIiVGOEY/Rj5GQSEiIiNGP0Y9Ly1GOjYkRjBGKiwkKiYsKiokRjJGKyIjJyoqJkYyRj9GMEYrIiNJKiZGOUY/RjBGPyIjRC1GOjYkRjItSSIkR0Y7NiRGKkYrRj1GP0YyRkIjRkIiIzU=NiM+SSh0aGVfcG9sRzYiLCYiIiJGJyomLUkjYTBHRiU2I0kieEdGJUYnLUkiR0dGJUYrISIjIyIjayIiJg==NiM+SSNQRkc2IiwoKiQtSSJGR0YlNiNJInhHRiUiIiMiIiIhIiJGLSomLUkjYTBHRiVGKkYtLUkiR0dGJUYqISIjIyEjayIiJg==NiM+SS1wdWxsYmFja19BNElHNiIsJCokLCYiI0QiIiIqJi1JI2EwR0YlNiNJInhHRiVGKi1JIkdHRiVGLiEiIyIkPyQjRioiIiMjRioiIiY=
<Text-field layout="Heading 1" style="Heading 1">Primitive formula: section 4.3</Text-field>#St:=Dx^2+1/6*(8*x+3)/(x+1)/x*Dx+_s/(x+1)^2/x ; L:=pullback(Dx^2+(7*x-4)/6/x/(x-1)*Dx-_s/x/(x-1), 1/(x+1) ); PSt:=pullback(L,F(x)): A0,A1:=coeff(PSt,Dx,0) , collect(coeff(PSt,Dx,1),diff(F(x),x$2),factor); K := field_extension(transcendental_elements=[_s]): R := differential_ring(ranking=[F,a1,a0], derivations=[x],field_of_constants=K, notation=diff): sys:=map(numer,{A1-a1(x),A0-a0(x)}): GE:= Rosenfeld_Groebner(sys, R); rewrite_rules(GE[1]); ## result letting G=A0'/A0+2*A1; pullback_formula:=F(x)=factor(normal( subs(a1(x)=1/2*(G(x)-diff(a0(x),x)/a0(x) ) , rhs(rewrite_rules(GE[1])[1]))));NiM+SSJMRzYiLCgqJEkjRHhHRiUiIiMiIiIqKiwmSSJ4R0YlIiIpIiIkRipGKiwmRi1GKkYqRiohIiJGLUYxRihGKiNGKiIiJyooSSNfc0dJKnByb3RlY3RlZEdGNkYqRjAhIiNGLUYxRio=NiM+NiRJI0EwRzYiSSNBMUdGJjYkKipJI19zR0kqcHJvdGVjdGVkR0YrIiIiLCYtSSJGR0YmNiNJInhHRiZGLEYsRiwhIiNGLiEiIi1JJWRpZmZHRis2JEYuRjEiIiMsJiomRjRGMy1GNTYkRi4tSSIkR0YrNiRGMUY3RixGMyoqLCZGLiIiKSIiJEYsRixGNEYsRi1GM0YuRjMjRiwiIic=NiM+SSNHRUc2IjcmSTBjaGFyYWN0ZXJpemFibGVHRiVGJ0YnRic=NiM3JC8tSSJGRzYiNiNJInhHRicsJCooSSNfc0dJKnByb3RlY3RlZEdGLSIiIiwoKiYtSSNhMUdGJ0YoIiIjLUkjYTBHRidGKEYzIiIlKiQtSSVkaWZmR0YtNiRGNEYpRjNGLiooRjhGLkYxRi5GNEYuRjZGLkY0ISIkIiIqLy1GOTYkRjFGKSwkKigsKiokRjRGM0YuKihGMUYzRixGLkY0Ri4iI08qKEY4Ri5GLEYuRjFGLiIjSSomLUY5NiRGNC1JIiRHRi02JEYpRjNGLkYsRi4iIidGLkYsISIiRjRGUCNGUCIjNw==NiM+STFwdWxsYmFja19mb3JtdWxhRzYiLy1JIkZHRiU2I0kieEdGJSwkKihJI19zR0kqcHJvdGVjdGVkR0YuIiIiLUkjYTBHRiVGKSEiIi1JIkdHRiVGKSIiIyIiKg==pullback_A4S:=rhs(subs(_s=s,lambda=1/3,pullback_formula)); pullback_S4S:=rhs(subs(_s=s,lambda=1/4,pullback_formula)); pullback_A5S:=rhs(subs(_s=s,lambda=1/5,pullback_formula)); pullback_A5I:=pullback_A5S: NiM+SS1wdWxsYmFja19BNFNHNiIsJComLUkiR0dGJTYjSSJ4R0YlIiIjLUkjYTBHRiVGKiEiIiMiIiQiIzs=NiM+SS1wdWxsYmFja19TNFNHNiIsJComLUkiR0dGJTYjSSJ4R0YlIiIjLUkjYTBHRiVGKiEiIiMiIiYiI2s=NiM+SS1wdWxsYmFja19BNVNHNiIsJComLUkiR0dGJTYjSSJ4R0YlIiIjLUkjYTBHRiVGKiEiIiMiIzYiJCsl
<Text-field layout="Heading 1" style="Heading 1">Expressions of the solutions of equations, after pullback.</Text-field>solution_A4I:=eval(sol_A4I,x=pullback_A4I);NiM+SS1zb2x1dGlvbl9BNElHNiI3JCooLUkqaHlwZXJnZW9tR0koX3N5c2xpYkdGJTYlNyQjISIiIiM3IyIiIiIiJTcjI0YxIiIjLCQqJiwmIiNERjEqJi1JI2EwR0YlNiNJInhHRiVGMS1JIkdHRiVGPSEiIyIkPyRGNCwmKiRGOEY0I0YxIiImRi5GMUYuI0Y1RkZGMUZGI0YxRi9GN0YtLCQqKkY1RjRGRiMiIihGL0Y3I0ZGRi8tRik2JTckRk0jIiIkRjI3IyNGUkY1RjZGMUZFsolution_S4I:=eval(sol_S4I,x=pullback_S4I);NiM+SS1zb2x1dGlvbl9TNElHNiI3JComLUkqaHlwZXJnZW9tR0koX3N5c2xpYkdGJTYlNyQjISIiIiNDIyIiJkYvNyMjIiIiIiIjLCQqJi1JIkdHRiU2I0kieEdGJUY1LUkjYTBHRiVGOkYuIyEiKCIkVyJGNCwmRjdGPkYuRjRGLSooRjZGMy1GKTYlNyQjIiM2Ri8jIiM8Ri83IyMiIiRGNUY2RjRGQUYtsolution_A5I:=eval(sol_A5I,x=pullback_A5I);NiM+SS1zb2x1dGlvbl9BNUlHNiI3JComLUkqaHlwZXJnZW9tR0koX3N5c2xpYkdGJTYlNyQjISIiIiNnIyIjPkYvNyMjIiIiIiIjLCQqJi1JIkdHRiU2I0kieEdGJUY1LUkjYTBHRiVGOkYuIyEjNiIkKyVGNCwmRjcjIiM2RkBGNEY0Ri0qKEY2RjMtRik2JTckIyIjSEYvIyIjXEYvNyMjIiIkRjVGNkY0RkFGLQ==solution_A4S:=eval(sol_A4S,x=pullback_A4S);NiM+SS1zb2x1dGlvbl9BNFNHNiI3JCwkKiwsJiomLUkiR0dGJTYjSSJ4R0YlIiIjLUkjYTBHRiVGLSEiIiMiIiQiIzsiIiJGNiNGNiIiJUY0I0Y2Ri9GNUY5RipGOS1JKmh5cGVyZ2VvbUdJKF9zeXNsaWJHRiU2JTckI0Y0RjgjIiM4IiM3NyMjRjRGLywkRiojISIkRjVGNiNGNkY1KiZGKUY3LUY7NiU3JEY3IyIiKEZCNyNGOUZFRjY=solution_S4S:=eval(sol_S4S,x=pullback_S4S);NiM+SS1zb2x1dGlvbl9TNFNHNiI3JCwkKiwsJiomLUkiR0dGJTYjSSJ4R0YlIiIjLUkjYTBHRiVGLSEiIiMiIiYiI2siIiJGNiNGNCIjQ0Y0I0Y2Ri9GNUY5RipGOS1JKmh5cGVyZ2VvbUdJKF9zeXNsaWJHRiU2JTckIyIjPEY4IyIjREY4NyMjIiIkRi8sJEYqIyEiJkY1RjYjRjZGNSomRilGNy1GOzYlNyRGNyMiIzhGODcjRjlGRkY2
<Text-field layout="Heading 1" style="Heading 1">From A4 to D2, section 5.4</Text-field>This is the naive version, showing all steps of the computation. Of course, it is much easier to compute the pullback from D2I to A4I directly !Dn:=Dx^2+x*Dx/((x-1)*(x+1))-1/4/((x-1)*n^2*(x+1)): Q:=eval(Dn,n=2); localex(A4S); ## check local exponents to see which transform to apply b1:=1/12/(x+1)-1/12/x; L1:=symmetric_product(A4S,Dx-b1); localex(L1); ## check local exponents ## arrange exponents are 0,1/3 at zero and infinity so they will become ordinary: L2:=pullback(L1,x-1); ## L3:=pullback(L2,x^3); localex(L3); ## shows that this is a standard equations with group D_2. alias(J=RootOf(_Z^2+_Z+1)): ## rearrange the singular points to get closer to desired equation. p3:=(x+1+2*J)/(x-1-2*J); ## sends to 1,1,inf ; inverse: (2*J+1)*(1+y)/(-1+y) L4:=pullback(L3,p3): L4:=collect(L4,Dx,X->factor(evala(expand(X))));; localex(L4); b4:=1/12/(x-1)+1/12/(x+1); L5:=symmetric_product(L4,Dx-b4); ## this is the standard equation for D2. ## but the inversion of the above steps gives an ugly formula so let's not use itNiM+SSJRRzYiLCgqJEkjRHhHRiUiIiMiIiIqKkkieEdGJUYqLCZGLEYqISIiRipGLiwmRixGKkYqRipGLkYoRipGKiomRi1GLkYvRi4jRi4iIzs=NiU3JDckIyEiIiIjNy9JI190RzYiLCZJInhHRioiIiJGLUYtNyQjRi0iIiVGKDckNyQiIiEvRilGLDckI0YtIiIjRjQ3JDckRjMvRikqJEYsRiY3JCNGLSIiJEY6NiM+SSNiMUc2IiwmKiQsJkkieEdGJSIiIkYqRiohIiIjRioiIzcqJEYpRisjRitGLQ==NiM+SSNMMUc2IiwoKiRJI0R4R0YlIiIjIiIiKiosJkkieEdGJUYpRipGKkYqLCZGLUYqRipGKiEiIkYtRi9GKEYqI0YpIiIkKiZGLkYvRi0hIiMjISImIiRXIg==NiU3JDckIiIhL0kjX3RHNiIsJkkieEdGKCIiIkYrRis3JCNGKyIiJEYmNyQ3JCMhIiIiIzcvRidGKjckIyIiJkYzRjQ3JDckRiUvRicqJEYqRjI3JEYtRjo=NiM+SSNMMkc2IiwoKiRJI0R4R0YlIiIjIiIiKiosJkkieEdGJUYpISIiRipGKkYtRi4sJkYtRipGLkYqRi5GKEYqI0YpIiIkKiZGLyEiI0YtRi4jISImIiRXIg==NiM+SSNMM0c2IiwoKiRJI0R4R0YlIiIjIiIiKipJInhHRiVGKSwmRixGKiEiIkYqRi4sKCokRixGKUYqRixGKkYqRipGLkYoRipGKSooRixGKkYtISIjRi9GMiMhIiYiIzs=NiU3JDckIyEiIiIjNy9JI190RzYiLCZJInhHRioiIiJGJkYtNyQjIiImRidGKDckNyRGJS9GKSwmRixGLS1JJ1Jvb3RPZkc2JEkqcHJvdGVjdGVkR0Y4SShfc3lzbGliR0YqNiMsKCokSSNfWkdGNyIiI0YtRj1GLUYtRi1GJjckRi9GMzcjNyUiIiFGLS9GKSokRixGJg==NiM+SSNwM0c2IiomLChJInhHRiUiIiJGKUYpSSJKR0YlIiIjRiksKEYoRikhIiJGKUYqISIjRi0=NiM+SSNMNEc2IiwoKiRJI0R4R0YlIiIjIiIiKipJInhHRiVGKiwmRixGKiEiIkYqRi4sJkYsRipGKkYqRi5GKEYqIyIiJSIiJCooLCYqJEYsRilGKkYyRipGKkYtISIjRi9GNiMhIiYiJFciNiU3JDckIyIiJiIjNy9JI190RzYiLCZJInhHRioiIiIhIiJGLTckI0YuRidGKDckNyRGJS9GKSwmRixGLUYtRi03JEYwRjM3JDckRiUvRikqJEYsRi43JEYwRjg=NiM+SSNiNEc2IiwmKiQsJkkieEdGJSIiIiEiIkYqRisjRioiIzcqJCwmRilGKkYqRipGK0YsNiM+SSNMNUc2IiwoKiRJI0R4R0YlIiIjIiIiKipJInhHRiVGKiwmRixGKiEiIkYqRi4sJkYsRipGKkYqRi5GKEYqRioqJkYtRi5GL0YuI0YuIiM7The pullback formula from D_2^i to A_4^ip:=eval(3*sqrt(-3)*(F^2-1)/(F^3-9*F),F=x);NiM+SSJwRzYiKipeIyIiJCIiIkYoI0YpIiIjLCYqJEkieEdGJUYrRikhIiJGKUYpLCYqJEYuRihGKUYuISIqRi8=verif:=collect(D2I-pullback(A4I,p),Dx,normal);NiM+SSZ2ZXJpZkc2IiIiIQ==latex(3*sqrt(-3)*(F^2-1)/(F^3-9*F));{\frac {3\,i\sqrt {3} \left( {F}^{2}-1 \right) }{{F}^{3}-9\,F}}D2I;NiMsKCokSSNEeEc2IiIiIyIiIioqSSJ4R0YmRigsJkYqRighIiJGKEYsLCZGKkYoRihGKEYsRiVGKCMiIiUiIiQqKCwmKiRGKkYnRihGMEYoRihGKyEiI0YtRjQjISImIiRXIg==## automorphisms of D2I (the other one is x->-x). p1:=(x+3)/(1-x); p2:=normal(eval(p1,x=p1)); p3:=normal(eval(p2,x=p1));NiM+SSNwMUc2IiomLCZJInhHRiUiIiIiIiRGKUYpLCZGKUYpRighIiJGLA==NiM+SSNwMkc2IiomLCZJInhHRiUiIiIhIiRGKUYpLCZGKEYpRilGKSEiIg==NiM+SSNwM0c2IkkieEdGJQ==verif1:=collect(pullback(D2I,p1)-D2I,Dx,normal); verif2:=collect(pullback(D2I,-x)-D2I,Dx,normal);NiM+SSd2ZXJpZjFHNiIiIiE=NiM+SSd2ZXJpZjJHNiIiIiE=P:=numer(p)-y*denom(p): P:=collect(P/lcoeff(P,x),x,factor); ## we may check that automorphisms of D2I preserve the pullback, of course: P1:=numer(normal(subs(x=p1,P))): verif1:= collect(P1/lcoeff(P1,x) - P,x,factor); P2:=numer(normal(subs(x=p2,P))): verif1:= collect(P2/lcoeff(P2,x) - P,x,factor);NiM+SSJQRzYiLCoqJEkieEdGJSIiJCIiIioqXiMhIiRGKkYpI0YqIiIjSSJ5R0YlISIiRihGL0YqRighIioqKF4jRilGKkYpRi5GMEYxRio=NiM+SSd2ZXJpZjFHNiIiIiE=NiM+SSd2ZXJpZjFHNiIiIiE=