From 45e8902e2409339cfc363033e622980600cbcf41 Mon Sep 17 00:00:00 2001 From: runterer Date: Thu, 2 Jun 2022 00:28:08 +0200 Subject: presentation finished? --- buch/papers/zeta/python/plot_zeta.py | 39 ++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 buch/papers/zeta/python/plot_zeta.py (limited to 'buch/papers/zeta/python/plot_zeta.py') diff --git a/buch/papers/zeta/python/plot_zeta.py b/buch/papers/zeta/python/plot_zeta.py new file mode 100644 index 0000000..53097c5 --- /dev/null +++ b/buch/papers/zeta/python/plot_zeta.py @@ -0,0 +1,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") -- cgit v1.2.1