Rationality of the zeta function mod p

Here’s a neat argument about counting points that you could present at the end of a second course in number theory. I’m sure it’s not original, but, hey, that’s what blogs are for!

Let X be a smooth hypersurface in \mathbb{P}^{n}, over the field \mathbb{F}_p with p elements. The Weil conjectures are conjectures about the number of points of X over \mathbb{F}_{p^k}. Specifically, they say that there should be some matrix A such that

\displaystyle{ \# X(\mathbb{F}_{p^k}) = 1+p^k+p^{2k} + \cdots + p^{(n-1)k} + (-1)^{n-1} \mathrm{Tr} (A^k),}

and that the eigenvalues of A should be algebraic integers of norm p^{(n-1)/2}.
Here I am using the Lefschetz hyperplane theorem to know what H_{et}^i(X) is for i \neq n-1.

This is, of course, a famously hard theorem. The claim about the eigenvalues is the hardest part, but simply the existence of a matrix for which this formula holds is already quite hard; the first proof was due to Dwork.

What I am going to show you is that there is a much easier proof of the above formula modulo p; a proof of the sort that could be appear in Ireland and Rosen. Many of the terms above disappear mod p, so our goal is just to show that there is some matrix B such that

\displaystyle{ \# X(\mathbb{F}_{p^k}) \equiv 1 + (-1)^{n-1} \mathrm{Tr} (B^k) \mod p.}

Some polyhedral notation

Let X have degree d. Let \Delta be the simplex \mathrm{Hull}(d e_0, d e_1, \ldots, d e_n) in \mathbb{Z}^{n+1}. We will use the standard shorthand x^a to mean the monomial x_0^{a_0} x_1^{a_1} \cdots x_n^{a_n}, for (a_0, \ldots, a_n) \in \mathbb{Z}^{n+1}. For any polytope Q, we’ll write Q(\mathbb{Z}) for the lattice points in Q.

Let F \in \mathbb{F}_p[x_0, x_1, \ldots, x_n] be the defining equation of X, so F is of the form \sum_{a \in \Delta(\mathbb{Z})} F_a x^a. Let

\displaystyle{ F^{p-1} = \sum_{b \in (p-1) \Delta(\mathbb{Z})} G_b x^b}


The rows and columns of B will be indexed by the lattice points in the interior of \Delta. We’ll write \Delta^{\circ} for the interior of \Delta.

Remark: I’m going to stick to the case of hypersurfaces in projective space, but this argument generalizes to hypersurfaces in any toric variety, and those of you who are used to toric varieties will recognize that I am choosing my notation accordingly.

The Chevalley-Warning trick

We start with a trick which may be familiar from the proof of the Chevalley-Warning theorem.

Notice that, for a a nonnegative integer, we have

\displaystyle{ \sum_{x \in \mathbb{F}_{p^k}} x^a = \begin{cases} -1 & \mathrm{if}\ p^k-1 | a \ \mathrm{and} \ a>0 \\ 0 & \mathrm{otherwise} \end{cases} }.

Let H be any polynomial \sum_a H_a x^a, where a ranges through some finite subset of \mathbb{Z}^{n+1}. We deduce that

\displaystyle{ \sum_{x \in \mathbb{F}_{p^k}^{n+1}} H(x) = (-1)^{n+1} \sum_{a \in (p^k-1) \mathbb{Z}_{>0}^{n+1}} H_a. }

Let Y be the hypersurface in affine n+1 space defined by the polynomial F. For x \in \mathbb{A}^{n+1}, we have

\displaystyle{ F^{p^k-1}(x) = \begin{cases} 0 & x \in Y \\ 1 & \mathrm{otherwise} \end{cases} }.

We now compute \sum_{x \in \mathbb{A}^{n+1}(\mathbb{F}_{p^k})} F^{p^k-1}(x) in two ways and get:

\displaystyle{ p^{n+1} - \# Y(\mathbb{F}_{p^k}) \equiv}

\displaystyle{ (-1)^{n+1} \sum_{a \in (p^k-1) \mathbb{Z}_{>0}^{n+1}} \mathrm{coefficient \ of} \ x^{a} \ \mathrm{in}\ F^{p^k-1} \mod p.}


\displaystyle{ F^{p^k-1} = \sum_{a \in (p^k-1) \Delta(\mathbb{Z})} G^{(k)}_a x^a.}

So the above formula is

\displaystyle{\# Y(\mathbb{F}_{p^k}) \equiv (-1)^n \sum_{a \in (p^k-1) \mathbb{Z}_{>0}^{n+1}} G^{(k)}_{a} = (-1)^n \sum_{b \in \Delta^{\circ}(\mathbb{Z})} G^{(k)}_{(p^k-1) b} \mod p.}

The second equality is just thinking about which exponents of the form (p^k-1) \mathbb{Z}_{> 0}^{n+1} could occur in F^{p^k-1}.

Finally, we shift from affine space to projective space. We have \# X(\mathbb{F}_{p^k}) = ( \# Y(\mathbb{F}_{p^k}) - 1)/(p^k-1). So

\displaystyle{\# X(\mathbb{F}_{p^k}) \equiv 1+ (-1)^{n-1} \sum_{b \in \Delta^{\circ}(\mathbb{Z})} G^{(k)}_{(p^k-1) b} \mod p.}    (*)

An example

Let’s look at the polynomial F = x^3+2 x ^2 y - x y^2 + 3 y^2 over \mathbb{F}_7. The polytope \Delta is a line segment of length 3, so there are two interior lattice points, namely (2,1) and (1,2). We have, in part,

\displaystyle{f^6 = x^{18} + \cdots + 2 x^{12} y^6 + \cdots + 4 x^6 y^{12} + \cdots + y^{18} .}

(All coefficients are reported modulo 7.)
So the sum in (*) is 2 + 4 \equiv -1 \mod 7. and we deduce that the number of roots of f in \mathbb{F}_7 is -1 + 1 \equiv 0 \mod 7. Sure enough, f has no roots in \mathbb{F}_7.


\displaystyle{f^{48} = x^{144} + \cdots + 4 x^{96} y^{48} + \cdots + 2 x^{48} y^{96} + \cdots + y^{144} .}

So, as before, we deduce that the number of roots of f in \mathbb{F}_{49} is also \equiv 0 \mod 7 and, indeed, the polynomial has no roots in that field either.


\displaystyle{f^{342} = x^{1026} + \cdots + x^{684} y^{342} + \cdots + x^{342} y^{684} + \cdots + y^{1026} .}

So the number of roots of f in \mathbb{F}_{343} is \equiv 1+ (1+1) \mod 7 and, indeed, all three roots of the polynomial are in this field.

If you compute f^{p^k-1} for higher and higher k values, you’ll see that the coefficients of x^{2 (p^k-1)} y^{p^k-1} and x^{p^k-1} y^{2(p^k-1)} cycle through (2,4), (4,2) and (1,1) with period 3.

So we are to show that there is some matrix over \mathbb{F}_7 whose powers have traces 2+4, 4+2 and 1+1, repeating cyclically. Certainly, it’s true in this case (a diagonal matrix with entries 2 and 4 works). But why is it true in general?

The matrices

Let’s not just look at the coefficients of (p^k-1) b, for b \in \Delta^{\circ}(\mathbb{Z}). Let’s look at the coefficient of p^k b-c, for b and c \in \Delta^{\circ}(\mathbb{Z}). For, example, continuing the previous example, we’ll be looking at the coefficients of (2p^k-2, p^k-1), (2p^k-1, p^k-2), (p^k-2, 2p^k-1) and (p^k-1, 2p^k-2). We’ll organize them into a matrix, with rows indexed by b and columns by c. Call this matrix C^{(k)}.

In the above example, f^6 = \cdots + 0 x^{13} y^{5} + 2 x^{12} y^6 + \cdots + 4 x^6 y^{12} + 1 x^{5} y^{13} + \cdots, so C^{(1)} = \left( \begin{smallmatrix}  2 & 0 \\ 1 & 4 \end{smallmatrix} \right). We also get that C^{(2)} = \left( \begin{smallmatrix}  4 & 0 \\ 6 & 2 \end{smallmatrix} \right), C^{(3)} = \left( \begin{smallmatrix}  1 & 0 \\ 0 & 1 \end{smallmatrix} \right), and the values repeat from there. (I highly recommend taking a computer algebra system and having it work out these powers for you. It’s really fun to watch them go!)

It is now obvious what we should prove. We should show that C^{(k-1)} C^{(1)} = C^{(k)}. Then, taking B = C^{(1)}, we will have C^{(k)} = B^k and \sum_{b \in \Delta^{\circ}(\mathbb{Z})} C^{(k)}_{bb} = \mathrm{Tr} C^{(k)} = \mathrm{Tr} B^k, as desired.

Finishing the proof

I feel guilty spelling out the proof. It is so much more fun for you to find it yourselves. Really, once you know what you should be proving, there are only a few reasonable things to try. We adopt the convenient notation [x^a](h) for the coefficient of x^a in the polynomial h.

Okay, here it is. Set g=f^{p-1}. Let g = \sum_{a \in (p-1) \Delta(\mathbb{Z})} g_a x^a. So we have f^{p^k-1} = (f^{p^{k-1} - 1})^p g. Since the coefficients of our polynomials are in \mathbb{F}_p, we have (f^{p^{k-1}-1})^p(x_0, \ldots, x_n) = f^{p^{k-1}-1}(x_0^p, \ldots, x_n^p), or [x^{pa}]((f^{p^{k-1}-1})^p) = [x^a] f^{p^{k-1}-1}.

So, for any b and c \in \Delta^{\circ}(\mathbb{Z}), we have

\displaystyle{ [x^{p^k b -c}] f^{p^k-1} = \sum_d [x^{p^{k-1}b-d}] (f^{p^{k-1}-1}) \cdot [x^{pd-c}](g)}.

We just have to think through what d ranges over in this sum.

Well, d had better be a lattice point, or there will be no x^{p^{k-1}b-d} term in f^{p^{k-1}-1}. Also, pd-c has to be in (p-1)\Delta, as it is to be an exponent of g. Set pd-c=e. Then d= (1/p) c+(p-1)/p \cdot e/(p-1). So d lies on the interior of the line segment between c, which is in \Delta^{\circ}, and e/(p-1), which is in \Delta. So d is in \Delta^{\circ}. We conclude that the only nonzero terms in the above sum come from d \in \Delta^{\circ}(\mathbb{Z}), and

\displaystyle{ [x^{p^k b -c}] f^{p^k-1} = \sum_{d \in \Delta^{\circ}(\mathbb{Z})} [x^{p^{k-1}b-d}] (f^{p^{k-1}-1}) \cdot [x^{pd-c}](g)}.

This is exactly the equation for multiplying matrices. QED.

Some concluding thoughts

I first learned about the Weil conjectures from the introduction to Freitag and Kiehl. This made it seem like an amazing, and thoroughly unmotivated insight, that there should be some cohomology groups around such that the traces of the Frobenius action give the point counts. Looking at examples like this makes the idea seem much more natural. After all, what is the equation C^{(k-1)} C^{(1)} = C^{(k)} but a statement that we have a representation of the group \mathbb{Z} here? And, in our example, the matrices C^{(k)} repeat with period three — and the Frobenius for the cubic in our above example has order three! Once you see the matrices, it is hard for the modern mind not to look for the group representation.

Of course, this is very anachronistic of me; the modern mathematical mind looks for the group action BECAUSE in part of the success of that method in proving the Weil conjectures. But, to my mind, every bit of demystification helps.

Those who are familiar enough with the theory may be bothered that the size of my matrices is the number of lattice points in the interior of \Delta, which is \dim H^{n-1}(X, \mathcal{O}), not \dim H^{n-1}_{et}(X). This is because the argument I am giving here is the low-tech version of Fulton’s fixed point formula, not of the Lefschetz fixed point formula. Unfortunately, Fulton’s theorem only works modulo p — if you want to count points modulo higher powers of p, you’ll need to work with larger matrices.

Which brings me to a suggestion for someone who really knows this p-adic material, and wants to turn out an awesome blog post. It is my vague understanding that Dwork’s great accomplishment was to figure out how to generalize this argument to higher powers of p. If someone wanted to write up how this works to count points modulo p^2, in the same sort of elementary way, I’d love to read it. UPDATE I have since realized that rationality of the zeta function modulo p^2 is not a good approximation to Dwork’s proof. See comments below.

5 thoughts on “Rationality of the zeta function mod p

  1. Dumb question:
    Where can I start for pre-requisites to understanding this, haha?
    I just finished Group Theory at an undergrad level and I’m starting Real Analysis next semester ._. this post seems like it should be easy to follow from how it’s written, but I’m so outside the field of Algebraic Geometry that I’m not getting anywhere…

    My question applies to this blog in general too ;)

  2. You could try reading Ireland and Rosen. Although I didn’t get very far with it when I was at your stage, I nonetheless enjoyed the parts that I did get through.

  3. You meant the Lefschetz hyperplane theorem, not the hard Lefschetz theorem (see e.g. the reference you added!)…

  4. @Florian Thanks!

    I have since realized that counting points modulo p^2 is less exciting than I thought. Let’s take an example and look at the elliptic curve y^2 -x^3-x-1 modulo 13. The coefficient of x^{12} y^{12} in (y^2-x^3-x-1)^{12} is 9 modulo 13. So the number of points over \mathbb{F}_{13^k} is congruent to 1-9^k modulo 13.

    From the general theory of elliptic curves, the exact point count must be of the form 1-\alpha^k - \beta^k + 13^k, where \alpha and \beta are the roots of a polynomial of the form x^2-ax+13 with a \equiv 9 \mod 13. We also know (Riemann hypothesis for elliptic curves) that |a| < 2 \sqrt{13} \approx 7.2, so a=-4. The polynomial x^2-4x+13 doesn’t factor over the rationals, but it does 13-adically, with roots (\ldots 434)_{13} and (\ldots 8A0)_{13}. (Here I have written 13-adic numbers as infinite base 13 expansions, and A is the digit after 9.)

    Now, here is what I didn’t realize until this afternoon. For k > 1, we have \beta^k \equiv 13^k \equiv 0 \mod 13^2. So the point count reduced mod p^2 with just be 1-(3 \cdot 13 + 4)^k, except with a correction factor for the first term.

    It would still be pretty cool to see a proof similar to the above that the number of points over \mathbb{F}_{p^k} is congruent moduleo p^2 to 1+(-1)^{n-1} \mathrm{Tr}(B^k), with some correction term for \mathbb{F}_p. But it probably wouldn’t give me as much insight into p-adic cohomology as I thought it would.

Comments are closed.