Math 263x is a new “topics class” concentrating on some of
the computational tools and techniques that can complement theoretical
research in number theory, algebraic geometry, and related fields.
We meet *Mondays and Wednesdays from 1:00 PM to 2:00 PM*
in Room 222 of the Science Center.

If you find a mistake, omission, etc., please let me know by e-mail.

September 5:
Introduction

September 10:
Belyi maps and some of their uses

September 12:
Start on computation of Belyi functions

September 17:
More on Belyi polynomials etc.

September 19:
Resultants

September 24:
A cube minus a square

September 28 [sic]:
Interlude on sorting and searching

October 1:
Using multivariate (and usually *p*-adic) Newton's method

October 3:
Wednesday, Oct. 3: Multivariate *p*-adic Newton, cont'd

[October 8: No class: University holiday (Columbus Day)]

October 10:
positive- [usually 1-]dimensional families

October 15:
Curves of genus 0 through 5

October 17:
Hyperelliptic curves; curves of genus 1;
a Weil-Belyi function on an elliptic curve
(and parametrizing

October 22:
Overview of complex reflection groups and their invariant rings
(which give rise to highly symmetric curves)

October 24:
The Hilbert-Molien series of a group representation;
*A*_{4}, *S*_{4}, *A*_{5}

** Oct. 29: NO CLASS:
Harvard cancelled all classes due to
anticipated severe weather
**

October 31:
Covariants of subgroups of _{2}*A*_{4} and *S*_{4}

November 5:
Covariants of subgroups of _{2}*A*_{5}

November 7:
Hurwitz quaternions, the *W*(*D*_{4}) lattice,
and the *W*(*F*_{4}) invariants;
Belyi functions parametrizing trinomials with interesting
Galois groups

** Nov. 12 and 14: NO CLASS: I'll be in
Lausanne, Switzerland
**

November 19:
Introduction to (classical (elliptic)) modular curves

[November 21 is the start of Thanksgiving break]

November 26:
Fricke and Atkin-Lehner involutions of _{0}(*N*)

November 28:
Non-Atkin-Lehner elements of the normalizer of
_{0}(*N*)

After outlining the general purpose and spirit of the class,
we give an example that illustrates some of our concerns
in a context that does not require most of the background
that will be freely assumed later in the semester.
The example is Fermat's celebrated two-squares theorem:
a prime *p* can be written as a sum of two distinct squares
if and only if *p*≡1 mod 4.
The representation is unique up to switching the two summands.
So take say *p* = 31415926535897932384626433832795028841.
Fermat promises an essentially unique solution to the Diophantine
equation
*p* = *x*^{2} + *y*^{2}.

HOW TO ACTUALLY FIND THIS SOLUTION?

Trying all *x* < *p*^{1/2}
works in finite time, but not “finite enough”
even with the computer (and if/when the computers catch up
I can double the number of digits in *p*…).
One proof of the theorem *almost* yields an efficient
algorithm, using
an idea attributed to Cornacchia
(1908): *x*/*y* is a square root of
−1 mod *p*, and conversely given
such a root we recover (*x*,*y*) in time
≪log^{c}*p* by
lattice reduction
(which in two dimensions is basically the Euclidean algorithm).
All the ingredients we used are already implemented in
packages such as `gp`, so the resulting algorithm
can be expressed by a one-liner such as

[Victor Miller 1992, transcribed some time later into the new
`gp` syntax]. So for instance

`
fermat(p) = qflll([lift(sqrt(Mod(-1,p))),p;1,0])[1,]
#
fermat(31415926535897932384626433832795028841)`

`
`
returns `[4223562448517994405, -3684758713859920604]`
in about `0 ms.` (and this would even
be feasible, if arduous, to do by hand).

Why did we write that this analysis
“*almost* yields an efficient algorithm”?
Well, how do we find the square root mod *p*?
An embarrassment: it's easy to evaluate the Legendre symbol,
but if it's +1 we generally don't know how to get a square root
in *deterministic* polynomial time unless we assume
the extended Riemann hypothesis for the Legendre character
mod *p* — though we *can* do it in
“random polynomial time”. However, modular square roots of
*small* numbers can be evaluated in polynomial (albeit not
practical) time by using the arithmetic of elliptic curves
mod *p* ! That was the application Schoof gave for
his algorithm [ = René Schoof:
Elliptic Curves over Finite Fields and
the Computation of Square Roots mod *p*,
*Math. of Computation* **44**, pages 483–494 (1985)]
for counting rational points on an elliptic curve mod *p*.
In our case we count points on the curve
*Y*^{2} = *X*^{3} − *X*,
which is relevant because it has complex multiplication
by a square root of −1: the count is *p*+1±2*x*
or *p*+1±2*y*, from which we recover the two-square
representation in determinstic polynomial time.

See Serre's
*Topics in Galois Theory* (Boston: Jones & Bartlett 1992)
for the application to the inverse Galois problem (perhaps the
best-known arithmetic application) and other results concerning
Belyi functions. In algebraic geometry, such functions might be
most famous for the equality case in the
Hurwitz bound of
*g*−1)**C**) of genus *g*>1*C* attains this bound, or more generally has more than
*g*−1)*C*→*C*/Aut(*C*)

Such functions appear surprisingly often in other contexts; one of these years I might write an article on the ubiquity of Belyi functions. For now, I give references and/or links to some of the places where I've run across Belyi functions over the years:

• ABC implies Mordell,
* International Math. Research Notices* 1991 #7, 99–109
[bound with *Duke Math. J.* **64** (1991)].

• The Klein Quartic in Number Theory (1998, in
the MSRI volume *The Eightfold Way* on Klein's quartic curve
*x*^{3}*y* +
*y*^{3}*z* +
*z*^{3}*x* = 0)

• “slides” from a 1999 talk at MSRI on
“Other Arithmetic Manifestations of Branched Covers”

• Shimura curve computations (1998)
[especially the curves associated to groups commensurate with
arithmetic triangle groups]

• Rational points near curves
and small nonzero |*x*^{3}−*y*^{2}|
via lattice reduction (2000) [see the start of Section 4,
pages 22–25; some of the other material here will figure
later in the course]

• Trinomials
*ax*^{7}+*bx*+*c* and
*ax*^{8}+*bx*+*c*
with Galois Groups of Order 168 and * Lecture Notes in Computer Science* **2369**
(proceedings of ANTS-5, 2002; C.Fieker and D.R.Kohel, eds.),

• My HCMR
article on “The ABC’s of Number Theory” (2007)

A bit more detail on the topology:
a Belyi map
*C* → **P**^{1}(**C**)
*n* is determined by permutations
*g*_{0},
*g*_{1},
*g*_{∞}
*g*_{0}*g*_{1}*g*_{∞}=id
*transitive* group *G*
of permutations of the *n* sheets. This group is then
Galois group of the Galois closure of the function-field extension
**C**(*C*) / **C**(*t*)
*t* is a coordinate on
**P**^{1}(**C**)*F* that is
not algebraically closed then one might have to first take
an extension of this ground field before obtaining a function-field
extension with Galois group *G*; this is already seen for the
(2-point!) Belyi cover
*t* = *z ^{n}*

Start on computing explicit examples. We'll start with some
of the simpler cases, where *C* is rational
*g*_{∞}=id *n*-cycle so the map is a polynomial.
Some of these cases we have already seen: the two-point covers
*t* = *cx ^{n}*

Next we might make *g*_{0} the product of three cycles,
of lengths *a*_{1}, *a*_{2}, and
*a*_{3}, so we have
*t* =
*c x*^{a1}
(*x*−1)^{a2}
(*x*−w)^{a3}
*w*.
For generic *w*, there are two critical points other than
0, 1, and *w*, namely the roots of the quadratic
in the numerator of
*a*_{1}/*x*
+ *a*_{2}/(*x*−1)
+ *a*_{3}/(*x*−*w*).
*g*_{1} *t*,
making *g*_{1} *x* vanishes. We calculate that this discriminant is
*a*_{1}+*a*_{2})^{2} *w*^{2}
−
2(*a*_{1}*n*−*a*_{2}*a*_{3}) *w*
+ (*a*_{1}+*a*_{3})^{2}.
*w*, and indeed we can see
directly that there are two solutions of
*g*_{0}*g*_{1}*g*_{∞}=id
*provided the a _{i} are distinct*.
If not, there's a single solution, but we might not be able to
put the zeros at

In general if *g*_{0} is the product of *m* cycles
and *g*_{1} is an *m*+1)-cycle*n*−*m*−1*m*! distinct Belyi maps assuming the
cycle lengths are pairwise distinct, but a unique map if all but one
of the cycle lengths is the same.
**Exercise:**
Show how to find the corresponding unique map algebraically;
what happens if *m*|*n**m* cycles are of the same length?

`POSTSCRIPT` to the three-cycle analysis last time:
one could also see directly that such a polynomial cannot exist
over **R**, because its logarithmic derivative
*a*_{1}/*x*
+ *a*_{2}/(*x*−1)
+ *a*_{3}/(*x*−*w*)
*x* and thus couldn't have
a real critical point. On the other hand, it *is* possible
to have real, and even rational, solutions of
*a*_{1}*a*_{2}*a*_{3}*n*
= square”
*a _{i}* to be negative, and this yields
Belyi functions of a different kind, where

Before proceeding to the case that *g*_{1}
is a double transposition, consider the generalization where
*g*_{1} *m*+1)*g*_{0} *m*+1*a*_{1},
*a*_{2},
…,
*a*_{m+1}.
*P* has *m*+1*a*_{1},
*a*_{2},
…,
*a*_{m+1},
*P*−1*m**P*) to the condition that the
logarithmic derivative
*P*’/*P**m*
(note that the numerator of *P*’/*P**m*).

Suppose first that the *a _{i}* are distinct.
Then the roots of

Recall that we postponed till later the case that
*g*_{0} is the product of only three cycles, so
*t* =
*c x*^{a1}
(*x*−1)^{a2}
(*x*−w)^{a3}
*w* (where *a*_{1},
*a*_{2}, and *a*_{3}
are the cycle lengths), but *g*_{1}
is a double transposition rather than a *g*_{0}*g*_{1}*g*_{∞}=id
*n* even without increasing the
number of cycles *g*_{0}*w* and thus *P*
will have to be in ever larger number fields, but can still ask
how to compute them.

In this setting the critical points
*x*_{1}, *x*_{2}*a*_{1}/*x*
+ *a*_{2}/(*x*−1)
+ *a*_{3}/(*x*−*w*)
*P*(*x*_{1}) = *P*(*x*_{2})
*c* to 1
by multiplying *P* by *c*^{−1}*t*=1*Q*(*x*)*x*_{1}, *x*_{2}*Q*(*x*)=0*x*_{1}, *x*_{2}*w*, and then work out what
*P*(*x*_{1}) = *P*(*x*_{2})
*w*; equivalently, and less
laboriously, we could ask that the remainder of
*P* mod *Q**w*,
which we would set to zero. But this would still yield an
unnecessarily complicated equation, because the values of *w*
that make *x*_{1}=*x*_{2}*P* must be congruent to a constant
not just *Q**Q*^{2}*x*_{1}=*x*_{2}*P* is congruent to *c* only
*Q*^{3/2}*x*^{3}*P* mod *Q*^{2}**Exercise:** is the vanishing of this coefficient
already enough to assure that
*P* mod *Q*^{2}*x*^{2}*x* coefficients
vanish as well?

Consider for example the case that *n*=6 and
*a*_{1}, *a*_{2}, *a*_{3})
= (4,1,1).
*a*_{2}=*a*_{3}*P* to the form
*Cx*^{4}(*x*^{2}+*ax*+*b*)
*C* and parameters
*a*, *b**a*, λ^{2}*b**S*_{6}*A*_{6}*A*_{6} ,*g*_{0}*g*_{∞}_{2}(**F**_{5})*S*_{5}*S*_{6}*S*_{6}*S*_{6}*S*_{6}

Indeed we find that
*Q*(*x*)*x*^{2} + 5*ax* + 4*b*,
and then that the *x*^{3}*P* mod *Q*^{2}*ab* − 100*a*^{3}.*a* = 0*b* = 25*a*^{2}*a* = 0*P* a polynomial in *x*^{2}_{2}(**F**_{5})*a*, *b*) = (6,25)*x*^{4}(*x*^{2}+6*x*+25)
=
(3*x*^{2}−12*x*+20)
(3*x*^{2}+15*x*+50)^{2} − 50000.

**Exercises:**

i) Since we just got a sextic cover with Galois group
*S*_{5}, there must also be a Belyi map of degree 5
giving the same Galois closure. The cycle structures are
*S*_{6} cycle structures

ii) What happens for the Belyi polynomials of degree 7 for which
*g*_{1}*g*_{0}

`POSTSCRIPT` on some Belyi polynomials of degree at most 7
for which *g*_{1}*g*_{0}*g*_{1}*P* with *P**g*_{0}*g*_{0}*g*_{0}*g*_{1}*G* must be dihedral and we get a cover equivalent to
a Čebyšev polynomial. Here we can calculate directly
the identity
*x* (*x*^{2}+5*x*+5)^{2} + 4 =
(*x*+4) (*x*^{2}+3*x*+1)^{2};
*x* by 2 yields the equivalent form
*x*−2) (*x*^{2}+*x*−1)^{2}
+ 4 =
(*x*+2) (*x*^{2}−*x*−1)^{2};
*x* by 2*x* and dividing *P*
by 2 yields the fifth Čebyšev polynomial
*x*^{5}
− 20*x*^{3}
+ 5*x*

As for degrees 6 and 7…

• In degree 6, besides the cases with cycle structures
*G* dihedral (and also imprimitive
in this case, since 6 is composite), giving rise to a
Čebyšev polynomial. For the latter, there are
three solutions, all generating the alternating group
*A*_{6}*P*(*x*) =
*c* *x*^{3}
(*x*+1)^{2}
(*x*+*w*),
*w* must be one of the three roots of
*w*^{3}
− 12*w*^{2}
− 24*w* − 16,
**Q**(2^{1/3})*w* = 2^{4/3} / (3−2^{1/3})`nfdisc` reported that
**Q**(*w*)/**Q**) = −108,
**Q**(2^{1/3})*w* as
an element of that cubic field, and then it's known that
for any cubic extension *K*/*F**K*\*F**F*-linear

• 7 / 331 / 22111:
here *G* is necessarily the 168-element group;
the polynomial is defined
over **Q**((−7)^{1/2}).*x*
is a rational coordinate on the quotient of this quartic by one of
the two kinds of *G*
(both isomorphic with *S*_{4}*G*).
While the Klein quartic can be defined over **Q**,
its automorphism group cannot. Again I refer to

• 7 / 421 / 22111: here
*P*(*x*) =
*c* *x*^{4}
(*x*+1)^{2}
(*x*+*w*)
*w*,
but they are not all conjugate: two are the roots of
*w*^{2}+*w*+1, **Q**((−7)^{1/2}),
and the others are roots of
*w*^{2}−18*w*−25 **Q**(21^{1/2})*G*_{168}*A*_{7}*w*'s? [...]
`END POSTSCRIPT`

Motivation, definition, and properties of
resultants of univariate polynomials,
which we'll use to eliminate one of two variables when we've
brought one of these calculations down to solving two
simultaneous nonlinear equations.
The Sylvester matrix of *P* and *Q*
has corank equal the degree of *P*, *Q*)*A*, *B*) :
deg(*A*) < deg(*Q*),
deg(*B*) < deg(*P*),
*AP*+*BQ* = 0}.
*ξ* is a common zero of *P* and *Q*
then the column vector
*ξ*^{n−1},
*ξ*^{n−2}, …,
*ξ*^{2}, *ξ*, 1)
*n* = deg(*P*) + deg(*Q*)*P*, *Q*)

**Exercise:** Use this to find the Belyi polynomials
of degree 11 with cycle structures
^{3}1^{2}^{4}1^{3}*P*(*x*) = *C*
(*x*^{3}+*ax*+*b*)^{3}
(*x*^{2}+*cx*+*d*)
≡ constant mod *Q*^{2}
*Q*(*x*) =
*P*’(*x*) /
(*x*^{3}+*ax*+*b*)^{2}.]

`POSTSCRIPT` re degree-11 Belyi polynomials: for
^{3}1^{2} / 2^{4}1^{3}*G = A*_{11}**Q**((−11)^{1/2})*G* is the simple group of 660 elements,
isomorphic with
_{2}(**F**_{11})*p*
in _{2}(**F**_{p})_{5}_{4}_{4}*p*=7*p*=5_{2}(**F**_{9}) ≅ A_{6}*g*_{0}^{2}1^{3} / 2^{4}1^{3}*G = A*_{11}**Q**((−11)^{1/2})*G = M*_{11}**Q**((−11)^{1/2})_{2}(**F**_{11})*M*_{11}*g*_{∞}*k*-th__iff__ *k* is a
quadratic residue of 11, even if we consider conjugacy
in the normalizer of the group in *S*_{11}**Q**((−11)^{1/2})**Q**(**μ**_{11})**Q**(**μ**_{11}) / **Q**)
= (**Z**/11**Z**)^{*}.`END POSTSCRIPT`

We begin our consideration of the important special case where
*g*_{0}*g*_{1}*A* + *B* = *C**B* and *C* are nearly a square and
nearly a cube (“nearly” = within low-degree factors).
Such identities arise in connection with Hurwitz curves
(and other highly symmetric Riemann surfaces), and
also in connection with
Hall's conjecture (which asserts that for integers
*x*, *y**x*^{3} = *y*^{2}*x*^{3}
− *y*^{2}|
≫_{ε}
*x*^{½−ε}).
*X*^{3}+*pX*+*q**p*^{3}+27*q*^{2})*P*, *Q*)*P*^{3}−*Q*^{2}*x*^{2}+10*x*+5)^{3}
− 1728*x*
= (*x*^{2}+4*x*−1)^{2}
(*x*^{2}+22*x*+125)
*x*^{3}
− *y*^{2}|
≤ *x*^{½
}_{0}(5) → X(1)*x* = 125(η(5τ) / η(τ))^{6}
= *w*_{5}(η(τ) / η(5τ))^{6}
*j*(τ) =
(*x*^{2}+10*x*+5)^{3}/1728*x*);
**P**^{1} →
**P**^{1}/*A*_{5}
≅ **P**^{1}.

[There was no class Wednesday the 26th due to the Yom Kippur fast, so I offered to lecture Friday instead; lacking a quorum to proceed with Newton's method, I substituted a tangential lecture on some applications of sort-and-search in computational number theory]

A basic problem: given a list
*x _{i}* (1<

Besides its application to this kind of wordplay,
fast sorting finds use in some computational problems in number theory.
A typical example is the search for elliptic curves
*E*/**Q***E*; that is,
*x*≪*H*^{2}*y*≪*H*^{3}*a _{i}* are

For a paradigm we shall use Hall's identity, already exhibited
at the end of last Monday's notes:
*P*^{3}−*Q*^{2})=5*P* is the octic
*P*(*x*) =
4(*x*^{8}
− 2*x*^{7}
+ 7*x*^{6}
− 6*x*^{5}
+ 11*x*^{4}
+ 4*x*^{3}
+ 12*x* + 1),
*Q* is the truncation of
the Laurent expansion of *P*^{3/2}*x* = ∞*x*^{−k}*k* ≤ 6*primitive* example of an ABC identity
*P*^{3}−*Q*^{2}) = *m*+1*P*) = 2*m**Q*) = 3*m**g*_{0},
*g*_{1},
*g*_{∞}
*m* objects that satisfy
*g*_{0}*g*_{1}*g*_{∞}=id
^{2m},
2^{3m},
1^{5m+1}(5*m*−1);
*m* vertices (the _{m−1}H_{m+1}*m*=4*m*=1,2,3

For any *m*, we can normalize
*P* and *Q* to be monic, and require
the Laurent expansion of *P*^{3/2}*Q* to within
*O*(*x*^{1−2m})*x*^{−k} coefficient*k* ≤ 2*m*−2*m* non-leading
coefficients of *P*, call them
*c _{i}*

We encountered such a problem before (see the end of the Sep.12 notes),
where the number of solutions was given by Bézout's
product formula. But here such a formula would grossly overestimate
the number of solutions because there's an
*m*−2)-dimensional*P*, *Q*) =
(*R*^{ 2}, *R*^{ 3})*m*,
especially since the first few equations must be linear in the first few
coefficients (counting from *c*_{0}*m*/3+*O*(1)*m*/3*m*=4*c*_{0}*c*_{1}

We'll exploit our foreknowledge that the solutions
must be rational numbers. (We shall soon see how to adapt
this method to solutions that are not necessarily rational
but still algebraic of small degree.) We do not know
in advance how complicated these rational numbers must be
(in the present case we at least pretend not to know…),
but we hope that they're simple enough that we can approximate
them closely enough to guess the numerator and denominator,
and then confirm the guess by checking that we have an
exact solution of our system of equations. The complexity
of a rational number *c* is measured by its *height*
*H*(*c*)*c*=*r*/*s**H*(*c*) =
max(|*r*|,|*s**H*(*c*) ≤ *M**H*^{2}*H*(*c*)*c* must be known to within
*O*(*H*^{−2})*r* and *s*, and not just in theory
but practically, using
continued fractions,
a.k.a. the Euclidean algorithm.
This is a common enough application that it is often implemented
as a pre-existing routine, see e.g. `bestappr` in gp.

If we have an approximation that's close but not good enough
for this purpose, we can repeatedly improve it using
*Newton's method*. Suppose we want to find a zero
*x*_{*}*F* on *d*-dimensional*x*_{0}*x*_{*}*d*=1*x*_{1} = *x*_{0} −
(*F*’(*x*_{0}))^{−1}*F*(*x*_{0}).*F*’*F*’(*x*_{*})*x*_{1}*O*(ε^{2})*x*_{*}^{4}^{8}^{16}*x*_{*}

In practice we won't actually compute
*F*’(*x*_{*})*F* will typically be quite complicated
(in our example there are rational functions of moderately
high degree and a square root), making the formulas for
its partial derivatives horrendous. Fortunately it's
good enough to approximate them by the “difference quotient”:
for each unit vector *e _{j}*

But we still don't know how to find a close enough initial approximation
*x*_{0}*F*’(*x*_{*})*F*’(*x*)*F*’*x*_{*}*treat all
completions of a number field on an equal footing*
to the extent possible. Here instead of the Archimedean
completion **R** we'll work with a
*p*-adic**Q**_{p}*p*,
which is often feasible past the range of Gröbner-basis methods
(though this method too must fail eventually, being exponential in
the number of variables). As long as
*F*’(*x*_{*})*p*,
Newton will work starting from (an arbitrary lift
**Z**_{p}*x*_{*} mod *p**p* by
exhaustive search, we approximate *x*_{*}*p*-adic^{N}*N* Newton steps.

Warning: even though *P* had quite small coefficients
(absolute value at most 12), the weighted projective coordinates
*c*_{2m−2}
: *c*_{2m−3}
: *c*_{2m−4}
: … : *c*_{1} : *c*_{0})
*c _{i}*

As promised, here are the polynomials for *m*=1,2,3*C*→**P**^{1}*C*→*C*_{0}→**P**^{1}*C*_{0}→**P**^{1}*C*→*C*_{0}*m*+1

•
For *m*=1*S*_{6}*P* to be monic with no linear coefficient, say
*P*(*x*) = *x*^{2} + 2*a**a*. Then
*Q*(*x*) = *x*^{3} + 3*ax**P*^{3}−*Q*^{2}
= 3*a*^{2}*x*^{2}
+ 8*a*^{3}.**C**, but the equivalence class
over **Q** depends on
*a* mod (**Q**^{*})^{2}.*x*}*P*^{3}/*Q*^{2} = *t**P*^{3}/*Q*^{2}*X*:=*x*^{2}*X*+2*a*)^{3} /
(*X* (*X*+2*a*)^{2})_{0}(2) → X(1)

•
For *m*=2*P* by translating *x* to kill the
*x*^{3}*P*(*x*) = *x*^{4} + 4*ax**Q*(*x*) =
*x*^{6}
+ 6*ax*^{3}
+ 6*a*^{2}
*P*^{3}−*Q*^{2}
= −(8*a*^{3}*x*^{3}
+ 36*a*^{4}).*P*^{3}/*Q*^{2}
as a function of *x*^{3}_{0}(3) → X(1)

•
Finally, for *m*=3*m*=18*P*(*x*) =
36*x*^{6}
+ 24*x*^{4}
+ 10*x*^{2}
+ 1,
*Q*(*x*) =
216*x*^{9}
+ 216*x*^{7}
+ 126*x*^{5}
+ 35*x*^{3}
+ 21*x*/4,
*P*^{3}−*Q*^{2} =
9*x*^{4}/2
+ 39*x*^{2}/16
+ 1.
*P*^{3}/*Q*^{2}
as a function of *x*^{3}_{2}(**F**_{8})**Q**,
the automorphisms can only be defined over the cyclic cubic extension
**Q**(2 cos(2π/7))**Q**(2 cos(2π/7)) / **Q**)_{2}(**F**_{8})**F**_{8})**Q**(*t*)_{2}(**F**_{8})
= SL_{2}(**F**_{8}) : Aut(**F**_{8}).]

Q: what if the coefficients we solve for weren't rational?
Remember we've seen a few examples over fields like
**Q**((−7)^{1/2}),**Q**((−11)^{1/2}),**Q**(2^{1/3}).

A_{0}: If we know the quadratic imaginary field in advance, just
work over **C** rather than **R**,
and use continued fractions to approximate the real and imaginary parts
separately. If the field is unknown, but still quadratic imaginary,
we can recover the real part and the *square* of the imaginary
part from a close enough approximation, and then we're done.

**BUT**
that doesn't help us for real quadratic or more complicated
irrationalities…

*(Added Oct.10)*
A_{1}: OK, so find *all* the algebraic conjugates —
which in effect is what we already did in the imaginary quadratic case
(when an approximation to *c* automatically gives us
an approximation to its complex conjugate). Then their
elementary symmetric functions are rational numbers, and
we've reduced to a previous problem. This is useful in other contexts
too, as for computing “CM points on modular curves”,
such as *j*-invariants*j*-invariant**Z**[(−58)^{1/2}].**Z**[(−58)^{1/2}]*j* = *q*^{−1}
+ 744 + 196884*q* + …`ellj(sqrt(-58))` in gp), we find that one conjugate is
*j*_{0}
= 604729957825300085503.99999217152685675585…*j*_{0}`ellj(sqrt(-29/2))`, which
we compute as
*j*_{1}
= 24591258496.000007828473…*j*_{0}+*j*_{1}**Z**, so there's no question
of whether our precision is adequate), and that lets us
bootstrap the accuracy of *j*_{1}
to compute the product
*j*_{0} *j*_{1}^{12}3^{6}5^{9}53^{3}149^{3}173^{3}^{1/2} 259943365786104).
*j*_{0}−*j*_{1}^{1/2}*j*_{0}*q*^{−1}=exp(58^{1/2}π)*j*_{1}*j*_{0}, *j*_{1})_{0}(2)/*w*_{2}

**BUT** we're actually going to work
*p*-adically

We need a more powerful technique.

Overview of
lattice basis reduction,
accomplished in polynomial time by the
Lenstra-Lenstra-Lovász algorithm,
which for us is a tool for
finding integer relations
and similar Diophantine-approximation tasks. For us, we need it
to recognize an algebraic number *c* of degree
at most *d* from a good approximation,
which is tantamount to finding an integer relation in
*c*, *c*^{2},
…, *c ^{d}*

Lattice reduction in dimension >2 can give rise to
useful practical improvements even for problems that we already
know how to solve using *c*_{0}
: *c*_{1}
: *c*_{2}
: … : *c _{k}*)

Finally (and you may have been wondering about this for a while now),
how do we know that our solution will have even one conjugate
defined **Q**_{p}*p* the expected number of conjugates
defined **Q**_{p}*p* gets so large that we run out of patience or computing time.
In any case, once we've found an algebraic solution by hook or by crook
we can prove it is correct by simply checking that the desired
identity holds — at least if an identity is all we're looking for,
with no additional condition like the identification of *G*
when it is not determined uniquely by the cycle structures and
other available data.

So far we've developed some techniques for finding (maps described by) isolated identities. But there's also considerable interest in identities that vary in positive-dimensional families. Our techniques adapt at least to low- (preferably 1-)dimensional families; some of the techniques we'll develop later this term also lend themselves to families of higher dimension.

Two examples of problems that naturally lead to a one-dimensional family
of identities: covers of **P**^{1}*E*, *E*’*N*.
The first example naturally generalizes to
*d*-dimensional*d*+3*d*-dimensional_{0}(*N*)*N*-isogenies*E*’→*E**E*’*E**E*’/{±1}→*E*/{±1}**P**^{1}→**P**^{1}*E*→*E*/{±1}*E**N***Z**/*N***Z***N*-isogeny*N* is odd, say
*N*=2*k*+1^{k}*j*/1728*N*
— the exact formula is
*N* Π_{p|N}(1+*p*^{−1}),*N without*
multiplicity.)

Now when we have an isolated identity we can try to find it by
using Newton to bootstrap from an approximate solution. That
doesn't work in a positive-dimensional family: it might actually
be easier to find an initial approximation, but with fewer equations
than unknowns it doesn't make sense to speak of to define *the*
exact solution that it approximates. Even if we do know a special
exact solution (e.g. the *i**y*^{2} = *x*^{3}−*x*

[...]

So far we've made sure that all our Belyi covers are rational curves;
but that's not always the case, nor the only interesting case.
Before giving some examples of Belyi maps on non-rational curves,
we need to give (or recall) enough of a description of such curves
to understand the form of explicit equations defining the curves and
rational functions on them. We'll stop at genus 5,
which is the last case that a generic curve is a complete intersection
in projective space, namely the zero-locus of a three-dimensional
space of quadrics (homogeneous polynomials of degree 2)
**P**^{4}**P**^{3}**P**^{2}**Q****C**(*t*)

*genus 0*: over **C** it's just the
projective line (a.k.a. Riemann sphere), but over a field that's
not algebraically closed (nor finite) even genus-zero curves
needn't be trivial. Such a curve is always a smooth conic in
**P**^{2}*K*)__iff__ it has
a rational point ("if" by the usual slope parametrization,
and the converse is trivial). More generally a genus-zero curve
is rational __iff__ it has a divisor *D* of odd degree:
"if" because some *D*+*cK**D*,
indeed a distinguished point, which could be described as the unique
*m**t* for some
*m*≥1*t* in {0,1,∞}**Q** of the symmetric group
*S*_{4}**Q**,
or even over **R**, because then (by the usual
averaging argument) *S*_{4}_{2}(**R**)/{±1}*S*_{4}*x*^{2}+*y*^{2}+*z*^{2}=0*S*_{4}_{2}, ...]

*genus 1*: again, over an algebraically closed field such as
**C** we have a familiar picture, this time an
elliptic curve *C*, since there must be a rational point
*P*_{0}*D* of positive degree is still effective
by Riemann-Roch, and if *D*)=1*D*∼(*P*_{0})*P*_{0}*P*_{0}*C* **P**^{2}*y*^{2}
+ *a*_{1}*xy*
+ *a*_{3}*y*
=
*x*^{3}
+ *a*_{2}*x*^{2}
+ *a*_{4}*x*
+ *a*_{6},
*a _{i}* by comparing
Laurent expansions

to get theModularForms(11,prec=14).echelon_basis()

in which the second generator, call it[ 1 + 12*q^2 + 12*q^3 + 12*q^4 + 12*q^5 + 24*q^6 + 24*q^7 + 36*q^8 + 36*q^9 + 48*q^10 + 72*q^12 + 24*q^13 + O(q^14), q - 2*q^2 - q^3 + 2*q^4 + q^5 + 2*q^6 - 2*q^7 - 2*q^9 - 2*q^10 + q^11 - 2*q^12 + 4*q^13 + O(q^14) ]

in gp) then gives us the equationZ=subst(z^2,q,serreverse(1/x)); subst(truncate(Z),q,1/X)

But what if there is no divisor of degree 1?
Any *C* comes with
a divisor *D* of *some* positive degree *d*,
and *D*)*d*,
giving a map **P**^{d−1}*d*≥3*d*=2*C* of the form
*y*^{2} = quartic(*x*)*d* get increasingly complicated,
and are complete intersections only for the smallest few cases;
here these are *d*=3*d*=4*d*≤4*d*=3*x*^{3}+*py*^{3}+*p*^{2}*z*^{3}=0*p* prime (no *p*-adic*x*^{3}+4*y*^{3}+5*z*^{3}=0

*genus 2*: Once *g*≥1, the curve *C*
is of general type (the canonical divisor is positive).
The space of holomorphic differentials gives a map,
the *canonical map*,
**P**^{g−1}*C* is *hyperelliptic*, which is the case for all
curves of genus 2 but only for special curves once
*g*≥3*g* is even
(or if the ground field is algebraically closed, or finite,
or more generally is a field with trivial *g* has the form
*y*^{2} = *P*(*x*)*P* is a polynomial of degree *g*+2*g*=2*x* on *C*
is simply the ratio, say
*ω*_{1}/*ω*_{2}*x*, *y*)*x*, −*y*)*ω*_{i}*ω*_{i}*ω*_{1}, *ω*_{2})
= (*x dx*/*y**dx*/*y*)
or by observing that a **P**^{1}*y* as
*dx* / *ω*_{2}*C*
that equates *y*^{2}*x* (or a quintic if there's a rational
Weierstrass point and *ω*_{2}

Again we give an example of a modular curve, this time
_{1}(13)_{1}(*N*)*N*≤12*N*=11*N*-torsion_{1}(*N*)_{1}(13)

to getCuspForms(Gamma1(13),prec=14).echelon_basis()

[ q - 4*q^3 - q^4 + 3*q^5 + 6*q^6 - 3*q^8 + q^9 - 6*q^10 - 2*q^12 + 2*q^13 + O(q^14), q^2 - 2*q^3 - q^4 + 2*q^5 + 2*q^6 - 2*q^8 + q^9 - 3*q^10 + 3*q^13 + O(q^14) ]We call these

*genus 3 and higher*: Here if *C* is not hyperelliptic
then the holomorphic differentials (= sections of the canonical divisor)
embed *C* as a curve of degree *g*−2**P**^{g−1}*g*=3,4,5 this curve is a complete intersection,
as described at the beginning of today's notes; given generators
for the holomorphic differentials, and thus homogeneous coordinates
**P**^{g−1}*C* turns out to be
hyperelliptic.]

A curve *C* of genus *g*>1 is hyperelliptic
if and only if the canonical map
*C*→**P**^{g−1}*g*−1*C*_{0}*g*
is even the quotient curve *C*_{0}*C* has the familiar form
*y*^{2} = *P*(*x*)*P* of degree *g*+2*A*(*x*) *dx*/*y**A* is an arbitrary polynomial of degree at most
*g*−1*g* is odd,
*C*_{0}*Q*(*x*_{0}, *x*_{1}, *x*_{2}) = 0*C* can be written as the double cover
*y*^{2} = *P*(*x*_{0}, *x*_{1}, *x*_{2})*P* of degree *g*+1*P* = 0*g*+2

Given just *C* and the holomorphic differentials,
we can recognize the hyperelliptic curves as those for which
the differentials satisfy too many quadratic relations,
*g*−1)(*g*−2) / 2*g*−2)(*g*−3) / 2*p* on *C*
then we can easily generalize our approach to *C*.
Choose a basis for the holomorphic differentials whose
*i*-th*ω _{i}*

(you may have surmised by now that[ q + q^4 - q^5 - 2*q^6 + 2*q^7 - 2*q^8 - 3*q^10 - 2*q^12 + 2*q^14 + 2*q^15 + 3*q^16 - 2*q^17 + 3*q^18 + 2*q^19 + O(q^20), q^2 - 2*q^4 - q^5 + 3*q^8 + q^9 + q^10 - 2*q^11 - 2*q^12 + 2*q^13 + 2*q^14 - 4*q^16 - 2*q^18 + 2*q^19 + O(q^20), q^3 - 2*q^4 + q^6 - q^7 + 2*q^8 + 2*q^10 - 3*q^11 - q^12 + 2*q^13 - q^14 - 2*q^15 - 2*q^18 + 3*q^19 + O(q^20) ]

As before, this octic polynomial has distinct roots modulo all primes other than 2 and factors of the level (here 41: the discriminant is

For a general hyperelliptic curve *C* of genus 3,
the genus-zero quotient curve *C*_{0}*ω _{i}*

[elliptic normal curves and their Jacobians]

Here's an example of some of the new considerations that arise
when we deal with Belyi functions on curves of positive genus.
We'll find the unique such function
*f* : *E*→**P**^{1}*E* has genus 1, and since it has at least one
obvious divisor of degree 1 (the simple preimage of the 221 point)
*E* is an elliptic curve.
It might not be clear *a priori**f* = 0*f* = ∞*O*
for the group law on *E*.
Call the quintuple zero *T*,
so *f* has divisor
*f* )
= ( *f* )_{0}
−
( *f* )_{∞}
= 5(*T*) − 5(*O*),
*f* )_{1}*P*+2*D**P* has degree 1 and *D* has degree 2.
Now in genus zero any two divisors of the same degree are
linearly equivalent, but here
*T*) − 5(*O*) ∼ 0
*T* is a
*E*,
and *f* is the associated *Weil function*.
[*T* cannot be a trivial torsion point, because
*f* (*T*) ≠ *f* (*O*)*T* ≠ *O**n*(*T*) ∼ *n*(*O*)
*T* is *m*-torsion*m* of *n*, and if
*m*<*n**n*(*T*) − *n*(*O*)
**P**^{1}*n*/*m*)-th*m*.
Here *n*=5

Curiously we can also predict the simple preimage *P*
of the third branch point 1: it must be
*T**f*,
we know the divisor of its differential *df*,
and the fact that this divisor is canonical
gives us additional information (an extra equation in the Jacobian)
on the preimages of the branch points.
It is more convenient to work with the logarithmic differential
*df* / *f**f*,
and a zero of multiplicity *m*−1*f* = *t**m* for some *t*
other than 0 and ∞. Here this means the logarithmic differential
has divisor *D*−(*O*)−(*T*)*D* ∼ (*O*)+(*T*)*P*)+2*D* ∼ 5(*O*)*D* to find
*P*)+2(*T*) ∼ 3(*O*)*P* = −2*T**w*
with divisor *T*)−5(*O*)*f* )
and recover *f* as
*w* / *w*(−2*T*)

The next step is to parametrize pairs
*E*, *T*)*E* is an elliptic curve and *T* is a
*E*
(NB: this is much better than starting from a random *E* and then
choosing one of its 24 nontrivial *Inventiones Math.* 1974)).
Suppose *E* has extended Weierstrass form with coefficients
*a*_{1},
*a*_{2},
*a*_{3},
*a*_{4},
*a*_{6}),

Let

Now it's easy to describe, for small *N* >3,*a*_{1}, *a*)*T* an *N*-torsion*N*=5*T* = 0*T* = −2*T**T* ≠ *O**T**T**x* coordinate.
[These coordinates can be computed in gp with
`ellpow([a1,a,a,0,0], [0,0], 2)``ellpow([a1,a,a,0,0], [0,0], 3)``ellinit`!), though here the
group-law computations are simple enough to be done unaided.]
We find that
*T*
= (−*a*,
*a*_{1}*a*−*a*)
*T*
= (1−*a*_{1},
*a*_{1}−*a*−1),
*T* = 0__iff__
*a*_{1} = *a*+1.*a*+1, *a*, *a*, 0, 0)**Exercise:** Find the corresponding formulas for
*T* = 0*T* = 0*T* = 0

Next step is to find a Weil function *w*. Since *w* is
a section of *O*)*xy*, *x*^{2},
*y*, *x*, and 1*T*, and then the fifth zero is automatically
at *T* as well because *T* is *y* in a
Taylor series about *x*=0*T*;
we find
*y* =
*x*^{2}
− *x*^{3}
+ *x*^{4}
+ (*a*^{−1}−1) *x*^{5}
+ *O*(*x*^{6})
*w* =
*x*^{2} − *y* − *xy*
*really* high degree, is to write
*w* as a product of powers of linear forms. Here
the functions *x* and *y* on *E*
have divisors
*T*) + (−*T*) − 2(*O*)
*T*) + (−2*T*) − 3(*O*)
*xy*^{2}*T*) + (−*T*) + 2(−2*T*) − 8(*O*),
*T**T**E**T**w* =
*xy*^{2} / (*x*+*y*+*a*).
*y*
simplifies this to
*x*+1)*y* − *x*^{2},

We are finally ready to find the value of *a*,
and thus the curve *E*, for which
*f* = *w* / *w*(−2*T*)
=
(*x*^{2} − *y* − *xy*) / *a*^{2}
*x*-coordinate*f* −1*y* of
*f* −1*x*, one of whose roots is
*x*(−2*T*) = −*a**c* (*x*+*a*)*c*. We find that the resultant is
*x*+*a*)
(*x*^{4}
− *ax*^{3}
+ *a*^{2}*x*^{2}
+ 3*a*^{2}*x*
+ *a*^{2}−*a*^{3}),
*a* by comparing with
the Laurent expansion of the square root about
*x* = ∞*x*^{2}
− *ax*/2
+ 3*a*^{2}/8
+ *O*(1/*x*)).
*a* = −8*f*
a Belyi function with the desired cycle structures.

The standard model of *E* has coordinates
*a*_{1},
*a*_{2},
*a*_{3},
*a*_{4},
*a*_{6}) = (1, 1, 1, 22, −9)
` E = [-7,-8,-8,0,0];
R = ellglobalred(ellinit(E));
ellchangecurve(E, R[2])`
which also shows that the curve has conductor 50, small enough
that it already appears in Tingley's 40-year-old
Antwerp Tables
(which include all curves of conductor

[motivation: Klein, Fermat etc., and Bring curves]

Recall that a *complex reflection* is a linear transformation
*g* of a finite-dimensional projective space *V*
such that *g* is of finite order and fixes
a subspace of dimension *g*−1*g**g* has matrix *V*
(a *g*-eigenbasis*complex reflection group* is then a finite subgroup
*G* of _{n}(**C**)*A _{n}*,

A subgroup *G* of
_{n}(**C**)**C**[*x*_{1},
*x*_{2}, …,
*x _{n}*]

The overlap between the two lists of examples is no coincidence:

**Theorem** (Shephard-Todd 1954): __A finite subgroup
G of GL__

Part of the original proof (G.C. Shephard and J.A. Todd,
“Finite unitary reflection groups”,
*Canad. J. Math.***6** (1954),

There are three infinite families of irreducible complex reflection groups,
plus 34 exceptional cases, in dimensions ranging from 2 to 8.
Most (19) of the 34 exceptional complex reflection groups
are in dimension 2; each is a variation of one of the
three special groups *A*_{4}*S*_{4}*A*_{5}

We have encountered already most of the infinite families.
The simplest one (though it happens to be listed third in the
Shephard-Todd list) consists of the cyclic groups
**μ**_{m}_{1}(**C**)_{1} = *x ^{m}*.

The next series (and the first in the Shephard-Todd table)
is the symmetric group *S*_{n+1}*n*-dimensional

The final infinite series generalizes the group that arises in the
symmetries of Fermat curves. For any *n*>1*m*>1**μ**_{m}-signed*n*×*n**G*(*m*, 1, *n*)*n*!*m ^{n}*

The *real* (a.k.a. Euclidean) reflection groups in these
families are:
**μ**_{2} = {±1} = *A*_{1}**μ**_{1} = {1}_{1}(**R**)*S*_{n+1} = *A _{n}*

It is not quite correct to say the three infinite families
plus the 34 exceptional cases fully account for the
irreducible complex reflection groups.
There's also the missing group *G*(2,2,2)*G*_{2},
*F*_{4}, *E*_{6},
*E*_{7}, *E*_{8}*D*_{2}*A*_{1}'s*A*_{3}=*D*_{3}*F*_{4}, *E*_{6},
*E*_{7}, *E*_{8}*D*_{2}*G*(2,2,2)*A*_{3}=*D*_{3}*S*_{4}*G*(2,2,3)**Z**/2**Z**)^{2}→*S*_{4}→*S*_{3}→1*G*(3,3,2)*S*_{3},
and *G*(4,4,2)*G*(2,1,2)*A*_{2}*B*_{2}*G*_{2}*A*_{2}*BC*_{2}

[In positive characteristic, it is known that a representation of a
finite group that has polynomial invariant ring must still be
generated by *g* such that *g**g* could also be a “transvection”,
with all eigenvalues 1 but one _{n}(**F**_{q})*q ^{n}* −

Recall that if *U* is a graded vector space with degrees
*U*_{0},
*U*_{1}, *U*_{2}, …,*Hilbert series* for *U* is the
generating function
_{n≥0}
dim(*U _{n}*) ·

We next work out in some detail the identities related with exceptional
finite subgroups of _{2}(**C**)*G* is a finite subgroup
(not necessarily a complex reflection group) of
_{2}(**C**)*D* be its normal subgroup of diagonal matrices.
Recall that any complex representation of a finite group *G*
fixes a positive-definite Hermitian pairing (obtained by averaging,
a simple case of the
“unitarian trick”),
and thus map *G* to the unitary group of that pairing.
[This is why Shephard and Todd can title their paper
“finite *unitary* reflection groups” and still
get a description of all finite complex reflection groups.]
So here *G* is a subgroup of
_{2}(**C**)*G*_{0} := *G* / *D***P**^{1}(**C**)_{2}(**C**)_{3}(**R**)**P**^{1}(**C**)_{3}(**R**)*A*_{4}, *S*_{4}, *A*_{5}*G*(*m*, *p*, 2)*G*_{0}

For any finite subgroup
*G*_{0}_{2}(**C**)_{2}(**C**)_{2}(**C**)*G*_{1}→*G*_{0}→1*G*_{0}_{2}(**C**)*A*_{4}, 2*S*_{4}, 2*A*_{5}*P* is “covariant”
under an action of *G* when there's a homomorphism
*G*→**C**^{*}*gP* = χ(*g*)*P**g*.)
Note that *G*_{1}*never*
a reflection group, because it contains no reflections
(a complex reflection cannot have determinant 1);
but for most of our purposes we need only the projective action,
and also once we know the covariant polynomials we can easily
describe the invariant rings of each of the reflection groups
with the same image _{2}(**C**)

A nonzero polynomial *P* is covariant
*G*_{1}__iff__ its zero divisor (which is just a finite
multiset in the Riemann sphere) is invariant
*G*_{0}.*G*_{0}*N* triangles meeting at each vertex, and acts
freely on the Riemann sphere except for the vertices,
face centers, and edge centers of the polyhedron, whose stabilizers
are cyclic of order *N*, 3, 2

N |
G_{0} |
polyhedron | |G_{0}| |
V |
F |
E |

3 | A_{4} |
tetrahedron | 12 | 4 | 4 | 6 |

4 | S_{4} |
octahedron | 24 | 6 | 8 | 12 |

5 | A_{5} |
icosahedron | 60 | 12 | 20 | 30 |

We next give explicit formulas in each case, using
*x* and *y**z* = *x*/*y*

__ N=3__:
We put the four vertices of the tetrahedron at

*G*_{0} clearly contains the 3-cycle
*z*→ζ*z*`\mapsto` in HTML.]
This *x*, *y*) →
±(ζ^{−1}*x*, ζ*y*)
*G*_{1}*A* by ζ and *B*
^{−1}*C* fixed.
*G*_{0}*any* four-point subset
**P**^{1}_{2}**P**^{1}*G*_{0}^{−1}*z* ↔
(*z*+2) / (*z*−1)*z* →
(*az*+*b*) / (*cz*+*d*)__iff__
*a* + *d* = 0__iff__ the trace of the corresponding
*z*→ζ*z**G*_{0}*x*, *y*) →
±(−3)^{−½}(*x*+2y, *x*−*y*)
*G*_{1}*A*, *B*, *C**A*, *B*, *C**G*_{1}*x*, *y*) →
(ζ^{−1}*x*, ζ*y*)
^{−1}, 1 respectively.
Call the first of these characters χ. We get the smallest
exceptional reflection group (#4 in the Shephard-Todd table)
by replacing each element
*g* *G*_{1}*g*)*g*_{2}(**C**)*G*_{0}*G*_{1}*x*, *y*) →
(*x*, ζ^{−1}*y*).
*B* and *C**G*_{0}**μ**_{4}**μ**_{6}**μ**_{12}*C* to *C*^{2}*B* to *B*^{3}

Besides the *A*_{4} cover
**P**^{1}→**P**^{1}*A* and *B*,
arise in the construction of symmetric higher-genus curves
and other objects. (See below for sextics like *C*
which have octahedral symmetry.) Consider first the elliptic curve
*w*^{2} = *A*(*x*, *y*)*f*(*x*, *y*)*w*^{2} = *f* (*x*, *y*)*f* = *A**not* translation by a torsion point
(because it has fixed points), so we get a curve with
*j*-invariant 0*A*; e.g. dehomogenizing by setting
*y*=1*w*^{2} = *x*^{3} − 1*x*^{4}−*y*^{4}*w*^{2} = *f* (*x*, *y*)*j*-invariant 1728*w*^{4} = *f* (*x*, *y*)*reducible* complex reflection group
_{3}(**C**)*f* yields the Fermat quartic,
with 96 symmetries not all of which preserve the map to the
*x* : *y*)*A*(*x*, *y*) = *A*(*v*, *w*)**P**^{3}(**C**)^{2}=16*A*(*x*, *y*)*A*(*v*, *w*)**C**
(in small positive characteristic there can be extra lines).

The **μ**_{4}*g*)*g*^{−1}(*g*)*g**A*
rather than the “larger” *B*.
Let *K* be a linear code of length *n*
a finite field of *q* elements.
[Normally one uses not *K* but *C* for *C*ode,
but this could get confusing here…]
Recall that the
*(Hamming) weight enumerator*
*W _{K}*(

__ N=4__:
We have two natural choices here. One is to note that
the edge-centers of a regular tetrahedron are the vertices of
a regular octahedron, while the vertices of the tetrahedron
and its dual constitute the eight vertices of the
octahedron's dual cube. We may thus use the above

It is often more convenient to start from
*P* =
*xy* (*x*^{4}−*y*^{4})*z* = 0, ∞, ±1, ±*i**z* → *iz**z*| = 1*P* by −25 yields
*Q* =
*x*^{8}
+ 14*x*^{4}*y*^{4}
+ *y*^{8},
*P*,*Q*) / ∂(*x*,y)*R* =
*x*^{12}
− 33*x*^{8}*y*^{4}
− 33*x*^{4}*y*^{8}
+ *y*^{12},
**μ**_{4}(1±2^{½})^{−½}(±1±*i* )*P*^{4} − *Q*^{3}
+ *R*^{2} = 0.

Here the symmetry group is generated by
*z* → *iz**z* ↔ (*z*+1) / (*z*−1)*i* ↔ −*i**x*, *y*) →
(*x*+*y*, *x*−*y*)_{2}

__ N=5__:

Review of the complex-analytic picture of the modular curves Y(1) and X(1)
(affine and projective *j*-line**C**-isomorphism**C**/Λ*j*=∞**C** / **Z**ω = **C**^{*}*N*)_{1}(*N*)_{0}(*N*)*N*)_{1}(*N*)_{0}(*N*)*N**N*-torsion*N*-isogeny*j*-line*j* = ∞*j* = 0, 1728*y*^{2}
= *x*^{3} + *a*_{6}*y*^{2}
= *x*^{3} + *a*_{4}*x*

The covers X(*N*) → X(1) are Galois.
For small *N* these curves are well known: rational for
*N* = 2, 3, 4, 5_{2}(**Z**/*N***Z**) / {±1}*S*_{3},
*A*_{4},
*S*_{4},
*A*_{5};
*N* = 6*y*^{2} = *x*^{3} + 1*N* = 7*N* = 8*N*, the genus of *N*)*N*^{3}/24*N*=11*N*/2*N*>8*N*)_{1}(*N*)_{0}(*N*)*N*, since their genus
grows only quadratically and linearly or so with *N*,
and the modular struture and the availability of
*q*-expansions_{0}(191)*j* as an explicit *j*-invariants

We're not up to computing with _{0}(191)*j* on
_{0}(*N*)*N*, including 13 and 25, which are
respectively the last prime and the last integer for which
_{0}(*N*)*N* is prime then the Belyi map
_{0}(*N*) → X(1)*N*+1*N*, not *p*,
even when it is assumed prime.]
The cusp *j* = ∞_{0}(*N*)*N* at *j* are all triple except for one simple zero
for *N*=3*N* is *j*-1728*N*=2*N* is _{0}(*N*) → X(1)*N*,
namely the line associated to the **Z**/*N***Z**)-vector*N*-torsion*N* of the stabilizers of
*i*_{2}(**Z**) / {±1}_{0}(*N*)*g* if
*N* = 12*g* + {−1, 5, 7, 13}_{0}(*N*)*N* is one of *N* for which
*N*−1*h* of degree 1 on
_{0}(*N*)*N*
(which works also for the composite cases *N*=4, 9, 25*N*
the curve has more than two cusps). We'll then write *j*
as a rational function of this *h*, and verify that
it is a Belyi function with the desired cycle structures.

As usual there's a PGL_{2} choice for the rational coordinate
*h* on a rational curve, which we exploit (and reduce) by putting
a convenient point at infinity. Here we require that the pole
of *h* be at the cusp *h* in terms of
*q* = *e*^{2πiτ}*q**h* so that
*h* = *q*^{−1} + *O*(1)*h* up to an additive constant. [Such a
normalized rational coordinate on a modular curve is classically called a
“Hauptmodul” (plural “Hauptmoduln”) for the curve.]
We could pin down *h* completely by requiring that the consant term of
the *q*-expansion*h* =
*q*^{−1} + *O*(*q*)*h* at some convenient place
(e.g. we usually work with *j*, not *j*−744_{0}(*N*)*h* takes the values 0 and ∞
at

For *N*=2 we easily construct such *h* as
^{−3} (*E*_{4}(τ)^{3}
− *E*_{6}(τ)^{2})
= *q* Π_{n≥1} (1−*q ^{n}*)

For prime *N*>2, we can likewise construct the rational function
*N*τ)_{0}(*N*)*N*−1 > 1*N*−1)-st*N*−1*N*−1,24)_{0}(*N*)*N*−1) / gcd(*N*−1, 24)*J*_{0}(*N*)

is a modular cusp form of **μ**_{24}-valued*q*-expansion*q*^{1/24}*h* :=
(η(τ) / η(*N*τ))^{24/(N−1)}
_{0}(*N*)_{0}(*N*)*Mémoires de la Soc. Math. de France* **43** (1975)),
and we have obtained our Hauptmodul. The factorizations of
*j* and *j* −1728

• *N*=3:
*j*
=
(*h*+27) (*h*+243)^{3} / *h*^{3}
= 1728 +
(*h*^{2} − 406*h* − 3^{9})^{2}
/ *h*^{3};

*N*=5:
*j*
=
(*h*^{2} + 250*h* + 5^{5})^{3}
/ *h*^{5}
= 1728 +
(*h*^{2} + 22*h* + 125)
(*h*^{2} − 500*h* − 5^{6})^{2}
/ *h*^{5};

*N*=7:
*j*
=
(*h*^{2} + 13*h* + 49)
(*h*^{2} + 245*h* + 7^{4})^{3}
/ *h*^{7}
= 1728 +
(*h*^{4}
− 10 · 7^{2} *h*^{3}
− 9 · 7^{4} *h*^{2}
− 2 · 7^{6} *h*
− 7^{7})^{2}
/ *h*^{7};

*N*=13:
*j*
=
(*h*^{2} + 5*h* + 13)
(*h*^{4}
+ 19 · 13 *h*^{3}
+ 20 · 13^{2} *h*^{2}
+ 7 · 13^{3} *h*
+ 13^{4})^{3}
/ *h*^{13}

*h*^{2} + 6*h* + 13)
(*h*^{6}
− 38 · 13 *h*^{5}
− 122 · 13^{2} *h*^{4}
− 108 · 13^{3} *h*^{3}
− 46 · 13^{4} *h*^{2}
− 10 · 13^{5} *h*
− 13^{6})^{2}
/ *h*^{13}.

We can already see some patterns and arithmetical artifacts here,
some of which we'll soon be able to explain. For starters, note that
the pair of simple roots of *j*
(when *N* is *j* −1728*N* is *K*=**Q**((−3)^{1/2})**Q**(*i*)*endomorphisms*
of degree *N* of an elliptic curve *E*
of *N*-isogenies*E* to itself;
in each case the ring of endomorphisms is isomorphic with the ring of
integers in *K*, and is defined over the same field *K*:
for *y*^{2}
= *x*^{3} + *a*_{6}*x*, *y*) → (ρ*x*, *y*)*y*^{2}
= *x*^{3} + *a*_{4}*x**x*, *y*) → (−*x*, *iy*)*N*-isogeny*K* above the rational prime *N*.

When *N*−1 is a factor of 24 but *N* is not prime,
we can still use the formula
*h* :=
(η(τ) / η(*N*τ))^{24/(N−1)}
_{0}(*N*)*N*, namely *N*=4, 9, 25_{0}(*N*)*N*^{1/2}*N*τ)*h* has neither zero nor pole.
(NB we must check that the local order of vanishing is integral
even to verify Ligozat's criterion.) These other cusps still figure as
poles in the formula for *j* as a rational function of *h*.
This makes it a bit harder to recover that function from the
*q*-expansions, but still routine with the computer:
if *j* = *A*(*h*) / *B*(*h*)*A*, *B**B*(*h*) *j* = *A*(*h*)*A* and *B**N*^{3}*N*^{3}`serreverse` to expand *j* in powers
*h*

• *N*=4:
*j*
=
(*h*^{2} + 2^{8}*h* + 2^{12})^{3}
/ ((*h* + 16) *h*^{4})
= 1728 +
(*h* + 32)^{2}
(*h*^{2} − 2^{9}*h* − 2^{13})^{2}
/ ((*h* + 16) *h*^{4});

*N*=9:
*j*
=
(*h* + 9)
(*h*^{3}
+ 3^{5}*h*^{2}
+ 3^{7}*h*
+ 3^{8})^{3}
/ ((*h*^{2} + 9*h* + 27) *h*^{9})

*h*^{6}
− 2 · 3^{5} *h*^{5}
− 11 · 3^{7} *h*^{4}
− 56 · 3^{8} *h*^{3}
− 5 · 3^{12} *h*^{2}
− 2 · 3^{14} *h*
− 3^{15})^{2}
/ ((*h*^{2} + 9*h* + 27) *h*^{9});

*N*=25:
*j*
=
(*h*^{10}
+ 2 · 5^{3} *h*^{9}
+ 7 · 5^{4} *h*^{8}
+ 56 · 5^{4} *h*^{7}
+ 57 · 5^{5} *h*^{6}
+ 202 · 5^{5} *h*^{5}
+ 21 · 5^{7} *h*^{4}
+ 8 · 5^{8} *h*^{3}
+ 11 · 5^{8} *h*^{2}
+ 2 · 5^{9} *h*
+ 5^{9})^{3}

*h*^{4} + 5*h*^{3}
+ 15*h*^{2} + 25*h* + 25)
*h*^{25})

*h*^{2} + 2*h* + 5)
(*h*^{4} + 10*h*^{3}
+ 45*h*^{2} + 100*h* + 125)^{2}

*h*^{10}
− 4 · 5^{3} *h*^{9}
− 29 · 5^{4} *h*^{8}
− 262 · 5^{4} *h*^{7}
− 279 · 5^{5} *h*^{6}
− 1004 · 5^{5} *h*^{5}
− 21 · 5^{8} *h*^{4}
− 8 · 5^{9} *h*^{3}
− 11 · 5^{9} *h*^{2}
− 2 · 5^{10} *h*
− 5^{10})^{2}

*h*^{4} + 5*h*^{3}
+ 15*h*^{2} + 25*h* + 25)
*h*^{25}).

If you carried out this calculation you may have noticed that
many of the coefficients of the *q*-expansions*h* vanish: for *N*=4*h* = *q*^{−1}
− 8
+ 20*q*
− 62*q*^{3}
+ 216*q*^{5}
− 641*q*^{7}
+ − …*h*+8*q*;
likewise for *N*=9*h* = *q*^{−1}
− 3
+ 5*q*^{2}
− 7*q*^{5}
+ 3*q*^{8}
+ 15*q*^{11}
− 32*q*^{14}
+ 9*q*^{17}
+ − + …*h*+3*q*^{−1}*q*^{3}*N*=25*q ^{n}* coefficient

A key feature of the curves _{0}(*N*)*M* is a proper factor of *N* then there are
several natural maps
_{0}(*N*) → X_{0}(*M*)_{0}(*N*)_{0}(*M*)_{2}(**Q**)-conjugates_{0}(*N*)_{0}(*M*)*M* = *N* > 1_{0}(*N*)

Recall that to any isogeny
*φ*: *E* → *E*’*dual isogeny*
*φ**: *E*’ → *E**φ*** = *φ**φ***φ* = deg(*φ*)*φ*)*E*].
If *φ* is cyclic, then so *φ**_{0}(*N*)*N*-isogenies*w _{N}* :
Y

_{0}(*N*)^{+}_{0}(*N*)*w _{N}*

The Fricke involution *w _{N}*