aboutsummaryrefslogtreecommitdiffstats
path: root/buch/papers/zeta/python
diff options
context:
space:
mode:
authorrunterer <r.unterer@gmx.ch>2022-06-02 00:28:08 +0200
committerrunterer <r.unterer@gmx.ch>2022-06-02 00:28:08 +0200
commit45e8902e2409339cfc363033e622980600cbcf41 (patch)
treec86e9a3c94a5384180365f0efd9ef2fc62dd7f4e /buch/papers/zeta/python
parentwip working on presentation (diff)
downloadSeminarSpezielleFunktionen-45e8902e2409339cfc363033e622980600cbcf41.tar.gz
SeminarSpezielleFunktionen-45e8902e2409339cfc363033e622980600cbcf41.zip
presentation finished?
Diffstat (limited to 'buch/papers/zeta/python')
-rw-r--r--buch/papers/zeta/python/plot_zeta.py39
-rw-r--r--buch/papers/zeta/python/plot_zeta2.py31
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")