Section 25.7 The Riemann Explicit Formula
Now we are finally ready to see Riemann's result, by plugging in the formula (25.6.1) forFact 25.7.1. Riemann explicit formula.

xxxxxxxxxx
import mpmath
var('y')
L = lcalc.zeros_in_interval(10,50,0.1)
def _(n=(100,(60,10^3))):
P = plot(prime_pi,n-50,n, color='black', legend_label=r'$\pi(x)$')
P += plot(Li,n-50,n, color='green', legend_label='$Li(x)$')
G = lambda x: sum([mpmath.li(x^(1/j)) * moebius(j)/j for j in [1..3]])
P += plot(G,n-50,n, color='red', legend_label = r'$\sum_{j=1}^{%s} \frac{\mu(j)}{j} Li(x^{1/j})$'%3)
F = lambda x: sum([(mpmath.li(x^(1/j))-log(2) + numerical_integral( 1/(y*(y^2-1)*log(y)), x^(1/j),oo)[0] )*moebius(j)/j for j in [1..3]]) - sum([(mpmath.ei(log(x)*((0.5+l[0]*i)/j)) + mpmath.ei(log(x)*((0.5-l[0]*i)/j))).real for l in L for j in [1..3]])
P += plot(F,n-50,n,color='blue', legend_label='Really good estimate',plot_points=50)
show(P)
xxxxxxxxxx
import mpmath
var('y')
L = lcalc.zeros_in_interval(10,300,0.1)
F = lambda x: sum([(mpmath.li(x^(1/j))-log(2) + numerical_integral(1/(y*(y^2-1)*log(y)),x^(1/j),oo)[0] )*moebius(j)/j for j in [1..3]]) - sum([(mpmath.ei(log(x)*((0.5+l[0]*i)/j)) + mpmath.ei(log(x)*((0.5-l[0]*i)/j))).real for l in L for j in [1..3]])
var('y')
L = lcalc.zeros_in_interval(10,300,0.1)
F = lambda x: sum([(mpmath.li(x^(1/j))-log(2) + numerical_integral(1/(y*(y^2-1)*log(y)),x^(1/j),oo)[0] )*moebius(j)/j for j in [1..3]]) - sum([(mpmath.ei(log(x)*((0.5+l[0]*i)/j)) + mpmath.ei(log(x)*((0.5-l[0]*i)/j))).real for l in L for j in [1..3]])
def _(n=300):
print(F(n))
print(prime_pi(n))
print(Li(n.n()))
print(Li(n.n()) - 1/2*Li(sqrt(n.n())) - 1/3*Li((n.n())^(1/3)))
Fact 25.7.3. Consequences of the (generalized) Riemann Hypothesis.
The following follow from the Riemann Hypothesis or a generalization for things like general Dirichlet series.
The Dirichlet series of the MΓΆbius function would be the multiplicative inverse of the zeta function for lots more complex values than just the real ones we proved it for in .
-
The value (not just average) of
would have the following bound once is big enough: The biggest gap between consecutive prime numbers could not be too big (to be precise,
).We would know exactly what it means for a congruence class of prime to win the βprime racesβ (see Section 22.1).
Artin's conjecture (Conjecture 17.5.3) on primitive roots follows from a generalization as well.