CoCalc Public Filesbook / worksheets / cover / cover.sagewsOpen with one click!
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