CoCalc Public Filesbook / worksheets / cover / cover.sagews
Authors: Barry Mazur, William A. Stein
Compute Environment: Ubuntu 18.04 (Deprecated)

Hi William,

Here's a thought. We might ask a designer to put together the following three visual items, maybe as collage, maybe as partial superposition....

1. A picture of Riemann (could be small)
2. A very clear picture of figure 35.2 in our book, but cropped, so the 27 and the 32 doesn't appear: only the 29 and 31. The numerals 29 and the 3i could appear larger than in that figure, so they are unmistakable.
3. and as background one of the color pictures of the zeta-function taken from, say, Wikipedia.
RealNumber = float; Integer = int
def f(y):
return zeta(complex(.5,y)).real
def g(y):
return zeta(complex(.5,y)).imag
B = 30
h = plot(f, (0,B)) + plot(g, (0,B), color='red')
z = [(y,0) for y in zeta_zeros()[:100] if y <= B]
h += points(z, pointsize=50, color='black', zorder=10)
h += text(r"$\zeta\left(\frac{1}{2} + ix\right)$", (4,2), color='black', fontsize=20)
a = -0.6
h += text(r"$\theta_1$", (14.4,a), color='black', fontsize=16)\
h += text(r"$\theta_2$", (21.2,a), color='black', fontsize=16)
h += text(r"$\theta_3$", (25.2,a), color='black', fontsize=16)
show(h, figsize=[8,3], frame=True)
save(h, 'zeta.pdf', figsize=[8,3], frame=True)

C = 1000
from math import cos, log
Z = [float(x) for x in zeta_zeros()[:C]]
def m(s):
ls = log(s)
return -sum(cos(ls*t) for t in Z)
p = plot(m, (26,33))

g = p + text("$- \\sum_{i=1}^{%s} \,\\cos(\\log(x)\\theta_i)$"%C, (27.9,80), color='black', fontsize=16)
show(g, figsize=[8,3], frame=True)
save(g, 'theta.pdf', figsize=[8,3], frame=True)


complex_plot??
︠bc51dd6d-ccc6-4ffc-b1e8-61569e0cb595︠

cp = complex_plot(zeta, (-50,50),(-50,50), frame=False, axes=False, aspect_ratio=1, plot_points=300)

cp

cp.save('red.pdf')


︠1c7ce461-e50d-44b1-b929-6659e5522975︠
%var x
show(plot(x^2,(x,300,500)), ticks=[[300,500],[]])

C = 2000
from math import cos, log
Z = [float(x) for x in zeta_zeros()[:C]]
def m(s):
ls = log(s)
return -sum(cos(ls*t) for t in Z)
p = plot(m, (28.5,31.5), thickness=4, plot_points=500)

g = p
#g = p + text("29",(29,-80), fontsize=36, color='black')
#g += text("31",(31,-80), fontsize=36, color='black')
show(g,  figsize=[12,5], ticks=[[],[]])


save(g, 'theta2.pdf', figsize=[12,5], axes=False)

save(g, 'theta2.png', figsize=[12,4], axes=False)
os.system('convert theta2.png -transparent "#ffffff" theta3.png')

0
complex_plot(zeta, (-50,50),(-50,50), frame=False, axes=False, aspect_ratio=1)

def zeta2(z):
if real(z) > 1:
return zeta(z)+10
return zeta(z)

complex_plot(zeta2, (-50,50),(-50,50), frame=False, axes=False, aspect_ratio=1)

%time
cp = complex_plot(zeta2, (-50,50),(-50,50), frame=False, axes=False, aspect_ratio=1, plot_points=300)
cp

CPU time: 10.48 s, Wall time: 11.02 s
cp.save('red.png')


def zeta2(z):
if real(z) > 1:
return zeta(z)+10
return zeta(z)

%time
cp = complex_plot(zeta2, (-50,50),(-50,50), frame=False, axes=False, aspect_ratio=1, plot_points=600)
cp

CPU time: 99.07 s, Wall time: 100.16 s
cp.save('2015-02-05-submit/red.png')
cp.save('2015-02-05-submit/red.pdf')

%time
cp = complex_plot(zeta, (-50,50),(-50,50), frame=False, axes=False, aspect_ratio=1, plot_points=600)
cp.save('2015-02-05-submit/red-orig.png')
cp.save('2015-02-05-submit/red-orig.pdf')

CPU time: 52.33 s, Wall time: 52.50 s