diff --git a/python_scripts/colormap.py b/python_scripts/colormap.py new file mode 100644 index 0000000..37ef2da --- /dev/null +++ b/python_scripts/colormap.py @@ -0,0 +1,26 @@ +import numpy as np +import matplotlib.pyplot as plt +import ast +import seaborn as sns + +sns.set_theme() + +def plot(): + with open("data/color_map.txt") as f: + lines = f.readlines(); + size = int(lines[0]) + for i, line in enumerate(lines[1:]): + fig, ax = plt.subplots() + arr = line.strip().split("\t") + arr = np.asarray(list(map(lambda x: ((a := complex(*ast.literal_eval(x)))*a.conjugate()).real, arr))) + + arr = arr.reshape(size,size) + + ax.imshow(arr.T, interpolation="nearest") + plt.savefig(f"latex/images/color_map_{i}.pdf") + plt.close(fig) + + +if __name__ == "__main__": + plot() + diff --git a/python_scripts/detector.py b/python_scripts/detector.py new file mode 100644 index 0000000..6795735 --- /dev/null +++ b/python_scripts/detector.py @@ -0,0 +1,41 @@ +import numpy as np +import matplotlib.pyplot as plt +import ast +import seaborn as sns + +sns.set_theme() + +def plot(): + files = [ + "data/screen/single_slit.txt", + "data/screen/double_slit.txt", + "data/screen/triple_slit.txt", + ] + outputs = [ + "latex/images/single_slit_detector.pdf", + "latex/images/double_slit_detector.pdf", + "latex/images/triple_slit_detector.pdf", + ] + for file, output in zip(files, outputs): + with open(file) as f: + lines = f.readlines(); + size = int(lines[0]) + column = int(.8 * size) + fig, ax = plt.subplots() + arr = lines[1].strip().split("\t") + arr = np.asarray(list(map(lambda x: complex(*ast.literal_eval(x)), arr))) + + arr = arr.reshape(size,size) + x = np.linspace(0,1, size) + slice = arr[column, :] + norm = 1. / np.sqrt(sum([(i*i.conjugate()).real for i in slice])) + slice *= norm + slice = np.asarray([i * i.conjugate() for i in slice]) + + ax.plot(x, slice) + plt.savefig(output) + plt.close(fig) + + +if __name__ == "__main__": + plot() diff --git a/python_scripts/normalization.py b/python_scripts/normalization.py new file mode 100644 index 0000000..8a63f28 --- /dev/null +++ b/python_scripts/normalization.py @@ -0,0 +1,25 @@ +import numpy as np +import matplotlib.pyplot as plt +import matplotlib +from matplotlib.animation import FuncAnimation +import ast + +def plot(): + with open("data/probability_deviation.txt") as f: + lines = f.readlines(); + x = [] + arr_narrow = [] + arr_wide = [] + for line in lines: + tmp = line.strip().split(",") + x.append(float(tmp[0])) + arr_narrow.append(float(tmp[1])) + arr_wide.append(float(tmp[2])) + + plt.plot(x,arr_narrow) + plt.plot(x,arr_wide) + plt.savefig("latex/images/probability_deviation.pdf") + +if __name__ == "__main__": + plot() +