summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plotting.py38
-rw-r--r--single_dequantify.py2
2 files changed, 40 insertions, 0 deletions
diff --git a/plotting.py b/plotting.py
new file mode 100644
index 0000000..397e4de
--- /dev/null
+++ b/plotting.py
@@ -0,0 +1,38 @@
+import math as mth
+import cmath as cmt
+import numpy as npy
+from mpl_toolkits.mplot3d import Axes3D
+import matplotlib.pyplot as plt
+import numpy as np
+from itertools import product, combinations
+from matplotlib.patches import FancyArrowPatch
+from mpl_toolkits.mplot3d import proj3d
+
+class Arrow3D(FancyArrowPatch):
+
+ def __init__(self, xs, ys, zs, *args, **kwargs):
+ FancyArrowPatch.__init__(self, (0, 0), (0, 0), *args, **kwargs)
+ self._verts3d = xs, ys, zs
+
+ def draw(self, renderer):
+ xs3d, ys3d, zs3d = self._verts3d
+ xs, ys, zs = proj3d.proj_transform(xs3d, ys3d, zs3d, renderer.M)
+ self.set_positions((xs[0], ys[0]), (xs[1], ys[1]))
+ FancyArrowPatch.draw(self, renderer)
+
+def plot_kugel(historie):
+ fig = plt.figure()
+ ax = fig.gca(projection='3d')
+
+ # draw sphere
+ u, v = np.mgrid[0:2*np.pi:20j, 0:np.pi:10j]
+ x = np.cos(u)*np.sin(v)
+ y = np.sin(u)*np.sin(v)
+ z = np.cos(v)
+ ax.plot_wireframe(x, y, z, color="r")
+
+ # draw a vector
+ a = Arrow3D([0, 1], [0, 1], [0, 1], mutation_scale=20,
+ lw=1, arrowstyle="-|>", color="k")
+ ax.add_artist(a)
+ plt.show() \ No newline at end of file
diff --git a/single_dequantify.py b/single_dequantify.py
index b2cb400..c5054f5 100644
--- a/single_dequantify.py
+++ b/single_dequantify.py
@@ -31,9 +31,11 @@ def sphere2cart(phi, theta):
mth.cos(theta)
]
+historie = npy.array([bloch_map(state)])
for i in range(iterations):
state = time_evolution(state)
h = npy.dot(state, state)
+ historie = npy.vstack([historie,bloch_map(state)])
coords = bloch_map(state)
coords = sphere2cart(coords[0], coords[1])
print(f"{coords[0]}; {coords[1]}; {coords[2]}")