diff options
author | runterer <r.unterer@gmx.ch> | 2022-06-02 00:28:08 +0200 |
---|---|---|
committer | runterer <r.unterer@gmx.ch> | 2022-06-02 00:28:08 +0200 |
commit | 45e8902e2409339cfc363033e622980600cbcf41 (patch) | |
tree | c86e9a3c94a5384180365f0efd9ef2fc62dd7f4e /buch/papers/zeta/python | |
parent | wip working on presentation (diff) | |
download | SeminarSpezielleFunktionen-45e8902e2409339cfc363033e622980600cbcf41.tar.gz SeminarSpezielleFunktionen-45e8902e2409339cfc363033e622980600cbcf41.zip |
presentation finished?
Diffstat (limited to 'buch/papers/zeta/python')
-rw-r--r-- | buch/papers/zeta/python/plot_zeta.py | 39 | ||||
-rw-r--r-- | buch/papers/zeta/python/plot_zeta2.py | 31 |
2 files changed, 70 insertions, 0 deletions
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") diff --git a/buch/papers/zeta/python/plot_zeta2.py b/buch/papers/zeta/python/plot_zeta2.py new file mode 100644 index 0000000..b730703 --- /dev/null +++ b/buch/papers/zeta/python/plot_zeta2.py @@ -0,0 +1,31 @@ +import numpy as np +from mpmath import zeta +import matplotlib.pyplot as plt +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, + } +) +# const re plot +re_values = [-1, 0, 0.5] +im_values = np.arange(0, 40, 0.04) +buf = np.zeros((len(re_values), len(im_values), 2)) +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)) + buf[re_i, im_i] = [np.real(z), np.imag(z)] + +for i in range(len(re_values)): + plt.figure() + plt.plot(buf[i,:,0], buf[i,:,1], label=f"$\Re={re_values[i]}$") + plt.xlabel("$\Re$") + plt.ylabel("$\Im$") + plt.savefig(f"zeta_re_{re_values[i]}_plot.pgf") |