TypedFromPaper := (-2) * (v+t-1)^2 / ( (v+t)*(v+t-t^(-1))*(v^2-t^2 + 64*t*x*( t*v^4 + (t+1)*(t-1)^2*(t^2-2*v^2-t))) ); fSquare := factor(subs(x = (1-2*t) / (128*t*(1-t)^3), %)); # Typed from paper Boven := 2 * (t-1)^(3/2) * (v+t-1); Onder := (v+t)*(t*v+t^2-1)*(v-t+1)*(v+t-1)*(v^2*(1-2*t)+2*t^3-3*t^2+1); f := Boven/sqrt(Onder); # Check if the equation in the paper matches the computed fSquare: ShouldBeZero := evala( fSquare - f^2 ); chvar := proc(L, y, Dy, sb1) local i, f, x, Dx, s; Dx, x := op(_Envdiffopdomain); f := add( subs(sb1,coeff(L, Dy, i)) * mult( Dx/diff(subs(sb1,y),x) $ i), i = 0 .. degree(L, Dy)); s := proc(a) factor(simplify(normal(a,expanded),symbolic)) end: sort(collect(f/lcoeff(f, Dx), Dx, s), Dx); end: ############################################################################ # Computation of differential equation, see code for section 3 for details # ############################################################################ N := 2: L := add( a[i]*Dt^i, i=0..N): Lf := add( a[i] * diff(f, [t$i]), i=0..N): denom_g := Onder^(1/2 + N-1): d := 9: numer_g := add( c[i]*v^i, i = 0..d): g := numer_g / denom_g : IsZero := numer(normal( Lf - diff(g,v) )): IsZero := {coeffs(IsZero, v)}: Vars := {seq(a[i], i=0..N), seq(c[i], i=0..d)}: sol := solve(IsZero, Vars): L := eval(L, sol); L := collect(L/lcoeff(L,Dt), Dt, factor); lprint(L); with(DEtools): _Envdiffopdomain := [Dt,t]: hypergeometricsols(L); # To tell Maple that we want solutions that converge for t --> infinity # we substitute 1/t with t, solve, and substitute back: factor(subs(t=1/t, hypergeometricsols(chvar(L,t,Dt,t=1/t)))); ############# Remark 4. The case X5. ################################# # Hyperelliptic curve Y^2 = Onder, with: Onder := u*v^5+(u+x-3)*v^4+(u^2-3*u-2*x+5)*v^3+x*v^2+(u-3)*v+1; GoldenRatio := (5^(1/2)+1) / 2; Boven := 1 + GoldenRatio * v; # We integrate over v; x is the parameter and u is a constant: f := Boven / Onder^(1/2): ############################################################################ # Computation of differential equation, see code for section 3 for details # ############################################################################ N := 2; L := add( a[i]*Dx^i, i=0..N); Lf := add( a[i] * diff(f, [x$i]), i=0..N): denom_g := Onder^(1/2 + N-1): d := 9; numer_g := add( c[i]*v^i, i = 0..d): g := numer_g / denom_g : IsZero := numer(normal( Lf - diff(g,v) )): IsZero := {coeffs(IsZero, v)}: Vars := {seq(a[i], i=0..N), seq(c[i], i=0..d)}: sol := solve(IsZero, Vars): L := eval(L, sol); L := collect(L/lcoeff(L,Dx), Dx, factor); lprint(L); # We simplified L with some transformations to: L_H5 := Dx^2+(2*x^3+(u^2+6*u+1)*x^2-16*u^2)/(x^3+(u^2+6*u+1)*x^2+8*u*(u+1)*x+16*u^2)/x*Dx +1/100*(25*x^2-(u+3)^2*x-40*u*(u+3))/(x^3+(u^2+6*u+1)*x^2+8*u*(u+1)*x+16*u^2)/x; # List + verify transformation: newx := -4*(7+3*5^(1/2))*(2*5^(1/2)*u-x*5^(1/2)+2*u^2+4*5^(1/2)-12*u-5*x+18)/(-2*u+11+5*5^(1/2))^2; newu := (5*5^(1/2)*u+11*u+2)/(-2*u+11+5*5^(1/2)) ; _Envdiffopdomain := [Dx,x]: chvar(subs(u=newu, L_H5), x,Dx, x = newx): ShouldBeZero := evala(% - L); # Checks that L_H5 is a transformation of L. # Check that L_H5 is arithmetic: convert(formal_sol(L_H5, T, x=infinity)[1,2]/T^(1/2), polynom); sort(sort(collect(subs(T = T*5, u = 5*u-3, %),T,factor),u), T, ascending);