# The Dieudonne module (mod p) of the Jacobian of a hyperelliptic curve

Last time, we posed the following question:

**Question:** Let be a perfect field of odd characteristic, and let be a hyperelliptic curve over .
Can we write down the action of the Frobenius (and the Verschiebung) on
— equivalently, can we write down the Dieudonne module of modulo ?

The goal of this post is to answer this question. This is joint work with John Halliday, advised by David Zureick-Brown.

# A basis for

Let be a hyperelliptic curve defined by an equation over a perfect field of odd characteristic , where is a separable polynomial of degree . The arguments presented below work equally well for a polynomial of even degree (although there will be two points at ); to this end, we’ll use the letter to denote the degree of . In order to perform this computation, we make one simplifying assumption: the polynomial has no constant term, i.e., has two rational points — these points can, without loss of generality, be assumed to be at and (denoted and , respectively). (This assumption can also be relaxed — even to assuming that has no -rational points — but we’ll assume this for now to simplify the description of the computation of a basis for .) We then have a Cech cover of , given by and .

As has no constant term, it follows that

where the points denote the points on corresponding to the roots of . The -form is everywhere holomorphic, and its valuation at is . Since the degree of a canonical divisor is , we learn that . This means that

Having done this, recall that a canonical basis for is given by the -forms for ranging between and . Since is Serre dual to , we can use this to find a basis of the latter vector space.

**Lemma:** The functions , as ranges from to , form a basis for .

The proof is similar to that of Lemma 3.2 in this paper.

We can now extend the bases of and to a basis of . We kick off by noting that the basis of can be easily extended by defining

as ranges from to .

To extend the basis of the Lemma, we will write out the polynomial for as

We can then compute:

Motivated by this, define differential forms (for ranging between and )

We know that has a pole only at , as has a zero of order at (and has no zeroes or poles anywhere else), and is the product of a polynomial in and . Similarly, has a pole only at . The following result is now immediate from the Lemma.

**Proposition:** The elements
for , along with the elements for , form a basis for

This is true even when has no -rational points — the argument is almost exactly the same.

Let . Then is a polynomial in and , and the above computation shows that is regular everywhere on , and has a pole only at . Define

Note that will only have positive terms of as in the case of .

For , consider the differential form

This differential form is defined differently from the other because the sum ranges from to . This means that if , there will be some positive terms of in the sum. But we know that the largest power of is (which has order at ), and has a zero of order . Thus

Since , this is regular at ; hence is a well-defined element of .

Using the basis determined here, we can compute the action of Verschiebung and Frobenius on .

# The Verschiebung action

We kick off by noting that the Verschiebung is trivial on , simply because of Serre duality (the Frobenius is trivial on ). Thus we only have to compute the Verschiebung action on and , for . Note that the Verschiebung takes exact forms to zero, and hence ; it therefore suffices to compute . This can be written down explicitly:

At this point, the computation is exactly that done in the Lemma in the previous post: we can write

In the basis , the matrix of Verschiebung is therefore determined by the following facts:

- the coefficient of in is zero
- the coefficient of in is
- the coefficient of in is zero
- the coefficient of in is given by

We can now graduate to a harder computation.

# The Frobenius computation

To ease notation, let us redefine

as ranges from through . Because , we have that . Similarly, . Write , where , so that

If we let , then

For all , we subtract from the sum to we get an element of the form

Note that *a priori*, we should be looking at .
But if , then ; so if we set for ,
we can just subtract for .

All of the remaining in the sum are either less than or greater than , so we know that is a coboundary for , and that is a coboundary for . Modulo coboundaries, we therefore have

Since this is an element of , the difference of the differential forms in the first and second slot must be equal to the third slot. Thus the difference of the two sides is identically , and so the two forms patch up to a globally defined holomorphic differential form. (Note that this implies that all of the negative powers of and the powers greater than cancel). This means that we can write

As both sides of the above equation are holomorphic differential forms, this is an actual equality of two functions. However, all of the are defined such that they have no positive powers of : the only positive powers of can come from the . We write

where we set . For a fixed , we therefore have and . (Some remarks: if , then ; so . Also, since for , the last condition is irrelevant.) It follows that the coefficient of is .

Thus, in the basis , the matrix of Frobenius is completely determined by the following facts:

- the coefficient of is
- the coefficient of is
- the coefficient of is zero
- the coefficient of is zero

# Some Magma code

We’ve written up some Magma code that provides the matrices for and on the de Rham cohomology of a specified hyperelliptic curve .

The last two invariants that the code below prints are the *-rank* and *-number*;
these are invariants of abelian varieties that measure whether they’re “ordinary” or “superspecial”.
More precisely, the -rank of an abelian variety of dimension
is ,
and the -number of is .
One reason to care is that the -rank counts the number of -rational -torsion points: .
Moreover, there are bounds and .

An abelian variety is *ordinary* if the -rank of is ,
and is *superspecial* if the -number of is .
It’s easy to see that if is an elliptic curve (so that ), then is superspecial if and only if it’s supersingular.

Here’s the code:

```
/* User input here */
d := 5;
/* This is the degree of the polynomial f(x) */
p := 5;
/* This is the prime which you are working at */
R := GF(p);
a := [];
for i := 1 to d do
a := Append(a,Random(10));
end for;
/* You can modify this to enter the coefficients of the polynomial f(x) */
/* Do not modify below this line! */
S<x> := PolynomialRing(R);
f := &+[x^(i)*a[i]: i in [1..d]];
print "The curve C is y^2 =",f,"at the prime",p;
b := IntegerRing()!((p-1)/2);
g := 1;
for i := 1 to b do
g := g*f;
end for;
e := Degree(g);
c := [];
for i := 1 to e do
c := Append(c,Coefficient(g,i));
end for;
g := IntegerRing()!((d-1)/2);
F := [];
for i := 1 to g do
for j := 1 to g do
o := p*j - i;
m := #c;
if o le m and o ge 1 then
F := Append(F,c[p*j-i]);
else
F := Append(F,0);
end if;
end for;
for j := 1 to g do
F := Append(F,0);
end for;
end for;
for i := 1 to g do
for j := 1 to g do
l := d-i;
h := 0;
for k := g+1 to l do
o := p*j-k;
m := #c;
if o le m and o ge 1 then
h := h + (k-i)*a[k+i]*c[p*j-k];
else
h := h + 0;
end if;
end for;
F := Append(F,h);
end for;
for j := 1 to g do
F := Append(F,0);
end for;
end for;
F := Matrix(2*g,2*g,F);
V := [];
for i := 1 to g do
for j := 1 to g do
V := Append(V,0);
end for;
for j := 1 to g do
V := Append(V,0);
end for;
end for;
for i := 1 to g do
for j := 1 to g do
h := 0;
for k := 1 to j do
o := p*(i)-k+j;
m := #c;
if o le m and o ge 1 then
y := (k-2*j);
h := h + y*a[k]*c[o];
else
h := h + 0;
end if;
end for;
V := Append(V,h);
end for;
for j := 1 to g do
o := i*p-j;
m := #c;
if o le m and o ge 1 then
h := c[o];
V := Append(V,h);
else
V := Append(V,0);
end if;
end for;
end for;
V := Matrix(2*g,2*g,V);
print "The matrix of Frobenius is",F;
print "The matrix of Verschiebung is",V;
print "The p-rank is",Dimension(Image(V^g));
print "The a-number is",g-Dimension(Image(V^2));
```

Some examples are in order.

```
d=3, p=3:
The curve C is y^2 = 2*x^3 + 2*x^2 + x
at the prime 3
The matrix of Frobenius is
[2 0]
[2 0]
The matrix of Verschiebung is
[0 0]
[1 2]
The p-rank is 1
The a-number is 0
----------
d=11, p=7:
The curve C is y^2 = x^11 + 3*x^10 + 6*x^9 + 6*x^7 + 6*x^5 + 2*x^4 + 3*x^3 + 6*x^2 + 6*x
at the prime 7
The matrix of Frobenius is
[2 5 4 3 0 0 0 0 0 0]
[6 2 5 6 1 0 0 0 0 0]
[4 2 5 3 2 0 0 0 0 0]
[6 3 6 1 3 0 0 0 0 0]
[0 5 0 6 2 0 0 0 0 0]
[0 5 0 3 5 0 0 0 0 0]
[0 4 0 3 1 0 0 0 0 0]
[0 0 4 3 2 0 0 0 0 0]
[0 1 3 2 0 0 0 0 0 0]
[0 0 2 3 1 0 0 0 0 0]
The matrix of Verschiebung is
[0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0]
[0 0 0 0 0 0 0 0 0 0]
[5 3 1 4 4 2 6 4 6 0]
[4 0 0 1 5 5 2 2 3 5]
[4 3 6 1 5 4 5 5 6 0]
[5 6 4 6 6 3 6 3 1 6]
[0 0 0 0 0 0 1 2 3 2]
The p-rank is 5
The a-number is 0
```