Section 25.3 Toward the Riemann Hypothesis
ββn=11ns=βp11βpβs
Somehow ΞΆ does encode everything we want to know about prime numbers. And Riemann's paper, βOn the Number of Primes Less Than a Given Magnitudeβ, is the place where this magic really does happen. (The paper is also available in translation in the appendix of [E.4.4].) Seeing just how it happens is our goal to close the book.
We'll begin by plotting ΞΆ, to see what's going on. As you can see, ΞΆ(s) doesn't seem to hit zero very often. Maybe for negative s β¦
![The zeta function on [-10,10]](../images//sageplot-sage-zeta-plot-2.png)
plot(zeta,-10,10,ymax=10,ymin=-1)
)Subsection 25.3.1 Zeta beyond the series
Wait a minute! What was that plot? Shouldn't ΞΆ diverge if you put negative numbers in for s? (Recall our definition in Definition 24.2.1.) After all, then for s=β1 we'd get things like
ββi=1n
and somehow I don't think that converges.
But it turns out that we can evaluate ΞΆ(s) for nearly any complex number s we desire.

graphics_array([complex_plot(zeta, (-20,20), (-20,20)),complex_plot(lambda z: z, (-3,3),(-3,3))])
)
s=Ο+it
Then we can rewrite this term as
1ns=nβs=eβslog(n)=eβ(Ο+it)log(n)=eβΟlog(n)eβitlog(n)
Now we use a fact you may remember from calculus, which is very easy to prove with Taylor series. (See Exercise 25.9.1):
eix=cos(x)+isin(x)
Applying this, we get
1ns=eβΟlog(n)eβitlog(n)=nβΟ(cos(tlog(n))βisin(tlog(n)))
Using this analysis, if Ο>1, since cos and sin always have absolute value less than or equal to one, we still have the same convergence properties as with regular series. So if we take the imaginary and real parts separately, we can rewrite
ΞΆ(s)=ββn=11ns=ββn=1cos(tlog(n))ns+iββn=1sin(tlog(n))ns
That doesn't explain the part of the complex plane to the left of Ο=1 of the picture above. All I will say is that it is possible to extend ΞΆ there, and Riemann did it. (In fact, Riemann is largely responsible for advanced complex analysis.) As an example, ΞΆ(β1)=β112, which is very close to saying that
ΞΆ(β1)=1+2+3+4+5+6+7+8+9+10+β―=β112.
xxxxxxxxxx
zeta(-1)
You may wish to view some dueling videos on this topic at Numberphile, a rebuttal, or another excellent attempt.
Subsection 25.3.2 Zeta on some lines
Let's get a sense for what the ΞΆ function looks like. First, observe a three-dimensional plot of its absolute value for Ο between 0 and 1 (which will turn out to be all that is important for our purposes). The code for this isplot3d(lambda x,y: abs(zeta(x+i*y)),(0,1),(-20,20), plot_points=100) + plot3d(0,(0,1),(-20,20), color='green',alpha=.5)
.


xxxxxxxxxx
var('t')
def _(sig=slider(.01, .99, .01, 0.5, label=r'\(\sigma\)'), end=slider(2,100,1,40, label=r'end of \(t\)')):
p = plot(lambda t: abs(zeta(sig+t*i)), -end,end, rgbcolor=hue(0.7))
q = complex_plot(zeta,(0,.99),(-end,end), aspect_ratio=1/end) + line([(sig,-end),(sig,end)], linestyle='--')
show(graphics_array([p,q]),figsize=[5,3])
Remark 25.3.5.
It is not really possible to fully visualize a complex function of complex input. So we often pick some line in the complex plane, such as where the real part equals 1 (sort of like x=1) or where the imaginary part equals 1 (sort of like y=1); then we either treat this as input to a parametric curve, or similarly look at the output and in one way or another reduce it to one real number, and plot it in the plane.

xxxxxxxxxx
def _(sig=slider(.01, .99, .01, 0.5, label=r'\(\sigma\)')):
end=30
p = parametric_plot((lambda t: zeta(sig+t*i).real(), lambda t: zeta(sig+t*i).imag()), (0,end), rgbcolor=hue(0.7),plot_points=300)
q = complex_plot(zeta,(0,.99),(0,end), aspect_ratio=1/end) + line([(sig,0),(sig,end)], linestyle='--')
show(graphics_array([p,q]), figsize=[5,3])
Conjecture 25.3.7. Riemann Hypothesis.
All the zeros of ΞΆ(s)=ΞΆ(Ο+it) where tβ 0 are on Ο=1/2.