# Remark 1: This file will show an example of the computation of an almost-Belyi map, # specifically, a Belyi-(1) map. # To compute Belyi maps, you may want to download the ComputeBelyi program from # http://www.math.fsu.edu/~hoeij/Heun/ # See [Beukers, Montanus] to compute Belyi maps of high degree for the special case # where all edges have degree 2 and all vertices have degree 3. # Search for an equation that is linear in one variable, solve it, and repeat: SolveLin := proc(E) local e,i; for e in sort([op(E)],length) do for i in indets(e) do if degree(e,i)=1 then s := i = solve(e,i); return s, procname(map(numer,map(normal,subs(s,E))) minus {0}) fi od od; NULL end: # An example of computing a rational function from branching pattern: # [[1, 1, 3, 5], [2, 2, 2, 2, 2], [1, 3, 3, 3]] f := x^3*(A*x^2+B*x+C)/((x-1)*(x^3+a2*x^2+a1*x+a0)^3); OneMinusf := c*(x^5+b4*x^4+b3*x^3+b2*x^2+b1*x+b0)^2/((x-1)*(x^3+a2*x^2+a1*x+a0)^3); Eqns := {coeffs(numer(f + OneMinusf-1 ),x)}; sol := SolveLin(Eqns); EQ := map(numer,map(normal,subs(sol, Eqns))) minus {0}; nops(EQ); seq( [i, map(degree,EQ,i)], i=indets(EQ) ); # Compute factors of multiplicity 1 of the resultant: seq(`if`(i[2]=1,i[1],NULL), i = factors(resultant(op(%%%),b2))[2]); v := factor(algcurves[parametrization](%, b3, b4, s)); # simplify this: v := factor(subs(s=1/s+solve(denom(v[2]),s)[1], v)); v := subs(s=s/sqrt(lcoeff(v[2])), v); v := factor(subs(s=s-coeff(v[2],s,1)/2, v)); sol2 := b3 = v[1], b4 = v[2]; sol3 := b2 = solve(gcd(op(map(numer,subs(sol2, EQ)))),b2); f := factor(subs(sol,sol2,sol3, f)); # simplify this: f := sort(factor(subs(x=1-x, s=s+3, f)),x); # Remark 2: The same method also worked for other almost-Belyi maps in our table (degrees <= 12) # though the resulting expressions sometimes took some work to optimize. # Remark 3: It is conceivable that a table of rational functions computed in this manner could # contain gaps. The main goal from here on is to show how to prove completeness. We do this by # comparing the table of rational functions with {\em independently computed} tables of dessins # and almost-dessins.