1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
import numpy as np
from mpmath import zeta
import matplotlib.pyplot as plt
from matplotlib import colors
import matplotlib
matplotlib.use("pgf")
matplotlib.rcParams.update(
{
"pgf.texsystem": "pdflatex",
"font.family": "serif",
"font.size": 8,
"text.usetex": True,
"pgf.rcfonts": False,
"axes.unicode_minus": False,
}
)
print(zeta(-1))
print(zeta(-1 + 2j))
re_values = np.arange(-10, 5, 0.04)
im_values = np.arange(-20, 20, 0.04)
plot_matrix = np.zeros((len(im_values), len(re_values), 3))
for im_i, im in enumerate(im_values):
print(im_i)
for re_i, re in enumerate(re_values):
z = complex(zeta(re + 1j*im))
h = (np.angle(z) + np.pi) / (2*np.pi)
v = np.abs(z)
s = 1.0
plot_matrix[im_i, re_i] = [h, s, v]
log10_v = np.log10(plot_matrix[:, :, 2])
log10_v += np.abs(np.min(log10_v))
plot_matrix[:, :, 2] = (log10_v) / np.max(log10_v)
plt.imshow(colors.hsv_to_rgb(plot_matrix), extent=[re_values.min(), re_values.max(), im_values.min(), im_values.max()])
plt.xlabel("$\Re$")
plt.ylabel("$\Im$")
plt.savefig(f"zeta_color_plot.pgf")
|