Now let’s dig a tiny bit deeper into the Riemann Hypothesis, and the magnificent developments in algebraic geometry it has inspired. My desire to explain this all rather simply is making the story move more slowly than planned, but I guess that’s okay.

Last time I sketched how the function that counts primes ≤ x \le x is the sum of a nice smooth increasing function and a bunch of ‘correction terms’, one for each nontrivial zero of the Riemann zeta function. These correction terms grow but also oscillate as x x gets bigger. The Riemann Hypothesis puts a precise bound on how fast they grow. If the real part of all the nontrivial zeros is 1 / 2 1/2 , as this hypothesis claims, these correction terms are of order x 1 / 2 ln x x^{1/2} \, \ln x for large x x .

The double appearance of the number 1 / 2 1/2 here is no coincidence! If the Riemann Hypothesis were false, there’d be a zero with real part β > 1 / 2 \beta \, > \, 1/2 , and a correction term of order x β ln x x^\beta \,\ln x .

I find this a nice preliminary explanation of what the Riemann Hypothesis means, but a completely terrible explanation of why it should be true.

In struggling to understand this, some of the best algebraic geometers of the last century studied and finally proved a simplified version of the Riemann Hypothesis called the Weil Conjectures. In this simplified version, which deals with some other zeta functions, they found a geometrical reason why the zeros should lie where they do.

So, let’s talk about Weil Conjectures. I’ll try to explain what they’re about with the bare minimum of machinery.

Suppose we have some polynomial equations with integer coefficients in a bunch of variables. For any power q = p n q = p^n of any prime number p p there’s a unique field 𝔽 q \mathbb{F}_q with q q elements. We can count the solutions to our equations where our variables lie in this field. The answer will depend on n n .

For concreteness let’s try a simple example, suggested by Jyrki Lahtonen. We’ll use one equation in two variables:

y 2 + y = x 3 + x y^2 + y = x^3 + x

Here’s how the number of solutions in 𝔽 q \mathbb{F}_q depends on n n :

n q = p n number of solutions 1 2 4 2 4 4 3 8 4 4 16 24 5 32 24 6 64 64 7 128 144 8 256 224 9 512 544 10 1024 1024 11 2048 1984 12 4096 4224 \begin{array}{rrr} n & q = p^n \! & \;\; number \; of \; solutions \\ 1 & 2 & 4 \\ 2 & 4 & 4 \\ 3 & 8 & 4 \\ 4 & 16 & 24 \\ 5 & 32 & 24 \\ 6 & 64 & 64 \\ 7 & 128 & 144 \\ 8 & 256 & 224 \\ 9 & 512 & 544 \\ 10 & 1024 & 1024 \\ 11 & 2048 & 1984 \\ 12 & 4096 & 4224 \\ \end{array}

I did this by hand using some tricks, but I’m quite error-prone so please check this if you can.

We instantly see some interesting patterns. The last digit of the number of solutions is always 4 — but that’s too weird to be helpful right now. Also, the number of solutions seems to be growing in a roughly exponential way. Let’s think about that.

Since we have one equation in two unknowns:

y 2 + y = x 3 + x y^2 + y = x^3 + x

we might expect a one-parameter family of solutions. Here our ‘parameter’ is an element of 𝔽 q \mathbb{F}_q , so we expect roughly q = p n q = p^n solutions.

This is very naive reasoning — it would make sense for linear equations, but we’re dealing with polynomial equations. Still, we can take the actual number of solutions, and subtract off the naively expected number of solutions, namely p n p^n , and see what’s left. That’ll be our ‘correction term’:

n correction term 1 2 2 0 3 − 4 4 8 5 − 8 6 0 7 16 8 − 32 9 32 10 0 11 − 64 12 128 \begin{array}{rr} n & correction \; term \\ 1 & 2 \\ 2 & 0 \\ 3 & -4 \\ 4 & 8 \\ 5 & -8 \\ 6 & 0 \\ 7 & 16 \\ 8 & -32 \\ 9 & 32 \\ 10 & 0 \\ 11 & -64 \\ 12 & 128 \\ \end{array}

Nice! We’re seeing powers of 2 show up. If you look at those 0’s you’ll see there’s some sort of “period 4” thing going on. If you write the correction terms in bunches of 4 you see this:

2 0 − 4 8 − 8 0 16 − 32 32 0 − 64 128 \begin{array}{rrrr} 2 & 0 & -4 & 8 \\ -8 & 0 & 16 & -32 \\ \; 32 & \; \; 0 & -64 & 128 \\ \end{array}

Each row is -4 times the previous row!

So, the number of solutions of our polynomial equations is roughly what you’d naively guess, but not exactly: there’s also a ‘correction term’ that grows exponentially in a slower way and also oscillates. In general there could be many such correction terms, but I chose an example where there’s just one — or as we’ll soon see, two, which happen to oscillate at the same rate.

The Weil Conjectures tell us how these oscillating correction terms work.

Now, the equation

y 2 + y = x 3 + x y^2 + y = x^3 + x

actually describes an elliptic curve. That is, the complex solutions of this equation form a torus if we add one extra point, a ‘point at infinity’.

The Weil Conjectures are especially simple for elliptic curves: in this case, they were conjectured by Emil Artin and proved by Helmut Hasse in 1933 before Weil came along. Here’s one way to say them, not the most fancy way:

Hasse’s Theorem on Elliptic Curves. Given a cubic equation with integer coefficients in two variables that defines an elliptic curve, the number of solutions in 𝔽 q \mathbb{F}_q where q = p n q = p^n is

p n − α n − β n p^n - \alpha^n - \beta^n

where α , β ∈ ℂ \alpha, \beta \in \mathbb{C} have | α | = | β | = p |\alpha| = |\beta| = \sqrt{p} .

Here p n p^n is the naive number of solutions, while − α n -\alpha^n and − β n -\beta^n are the ‘correction terms’. These correction terms grow exponentially like p n / 2 p^{n/2} but also oscillate.

The fact that | α | = | β | = p |\alpha| = |\beta| = \sqrt{p} is analogous to the Riemann Hypothesis, since it nails down the rate at which the correction terms grow. Indeed it’s very analogous! The Riemann Hypothesis says the number of primes grows like li ( x ) ≈ x / ln ( x ) li(x) \approx x/\ln(x) plus corrections that grow like x 1 / 2 ln ( x ) x^{1/2} \ln(x) . Hasse’s theorem on elliptic surves says the number of solutions grows like p n p^n plus corrections that grow like p n / 2 p^{n/2} . So there’s a kind of ‘square root sized correction’ thing going on, and that’s no coincidence.

Let’s see what the Hasse–Weil Theorem says about our example. First of all, since the number of solutions has to be real, it turns out we always have β = α ¯ \beta = \overline{\alpha} . So I could have said

number of solutions = p n − 2 Re ( α n ) number \; of \; solutions = p^n - 2 Re(\alpha^n)

Second of all, we can always figure out this mysterious number α \alpha just by looking at the case n = 1 n = 1 . In our example we count the solutions of

y 2 + y = x 3 + x y^2 + y = x^3 + x

in the field 𝔽 2 \mathbb{F}_2 . In this field, regardless of whether x = 0 x = 0 or x = 1 x = 1 we have x 3 + x = 0 x^3 + x = 0 , and regardless of whether y = 0 y = 0 or y = 1 y = 1 we have y 2 + y = 0 y^2 + y = 0 . So we get 4 solutions, so in this case

number of solutions = 2 n − 2 Re ( α n ) number \; of \; solutions = 2^n - 2 Re(\alpha^n)

says that

4 = 2 − 2 Re ( α ) 4 = 2 - 2 Re(\alpha)

and thus Re ( α ) = − 1 Re(\alpha) = -1 . On the other hand the Hasse–Weil Theorem assures us that | α | = 2 |\alpha| = \sqrt{2} . So, we get

α = − 1 ± i \alpha = -1 \pm i

and if we call one of these solutions α \alpha the other will be β = α ¯ \beta = \bar{\alpha} . We conclude that

number of solutions = 2 n − ( − 1 + i ) n − ( − 1 − i ) n number \; of \; solutions = 2^n - (-1 + i)^n - (-1 - i)^n

The correction terms here give the funny pattern we saw earlier. You should be imagining a picture of how ( − 1 + i ) n (-1 + i)^n and ( − 1 − i ) n (-1 - i)^n spiral around in the complex plane, rotating 3/8ths of a turn each time — I drew this picture while figuring this stuff out, but I’m too lazy to draw it here.

If you’re good at computing, you can have fun exploring other examples. Jyrki Lahtonen suggests

y 2 + y = x 3 y^2+y=x^3

and

y 2 + x y = x 3 + 1 y^2+x y=x^3+1

as other fun examples where the corrections conspire to make the number of solutions over 𝔽 q \mathbb{F}_q with q = 2 n q = 2^n remain constant for low n n . But you can also look at other cubic equations in two variables, and other prime powers. If you look at more complicated polynomial equations, or equations in more variables, the patterns will become more complicated — but if you subtract off the ‘naively expected’ number of solutions, you may still be able to understand the correction terms.

Now I’m ready to extract the magnificent moral from the story so far — but I’m afraid the calculations I’ve done, which may help some people understand what’s going on, will have made other’s eyes glaze over. So I’ll postpone most of the moral to next time.

But I can’t resist saying this… I’ll explain it better next time, so don’t be worried if it makes no sense now:

It’s really better to include the ‘point at infinity’ among the solutions to our equations: this makes the space of complex solutions into a torus, which is a kind of compact Riemann surface, and it makes the solutions in 𝔽 q \mathbb{F}_q into an elliptic curve, which is a kind of smooth projective algebraic variety. If we count the point at infinity we get

number of points = p n − α n − β n + 1 number \; of \; points = p^n - \alpha^n - \beta^n + 1

So we have a term growing like p n p^n , two terms growing like p n / 2 p^{n/2} (but also oscillating), and a term growing like p 0 p^0 — that is, 1. This should remind you of how a torus can be built from a copy of ℝ 2 \mathbb{R}^2 , two copies of ℝ \mathbb{R} , and a copy of ℝ 0 \mathbb{R}^0 — that is, a point.

So, in this baby version of the Riemann Hypothesis, we are starting to see the geometrical origin of the oscillating correction terms, and why they behave the way they do. All this is part of what Weil hypothesized in a much more general situation — and Grothendieck and Deligne proved!