Skip to content
Snippets Groups Projects
Commit 45f3f783 authored by Bernabeu Lou's avatar Bernabeu Lou
Browse files

removed __init__.py, corrected typos in elements.py

parent 330f2040
No related branches found
No related tags found
No related merge requests found
import numpy as np
import cmath
import numpy as np
import elements
import graphics
print("Hi World!")
## Tests
H = (1/np.sqrt(2))*np.array([[1, 1],[1, -1]], dtype='complex')
H_rev = (1/np.sqrt(2))*np.array([[-1, 1],[1, 1]], dtype='complex')
A = np.kron(H_rev, np.eye(2, dtype='complex')) # first beam splitter matrix
B = np.kron(H, np.eye(2, dtype='complex')) # second beam splitter matrix
X = np.array([[0, 1], [1, 0]], dtype='complex')
Z = np.array([[1, 0], [0, -1]], dtype='complex')
source = elements.Source(initial_vector = np.array([1.+0j, 0.]))
BS1 = elements.BeamSplitter(previous = {"left": (source, "left"), "right": None}, matrix=A)
X_left_1 = elements.Plate(previous = (BS1, "left"), jones_matrix=X)
Z_left_2 = elements.Plate(previous = (X_left_1, "left"), jones_matrix = Z)
Z_right_1 = elements.Plate(previous = (BS1, "right"), jones_matrix = Z)
X_right_2 = elements.Plate(previous = (Z_right_1, "left"), jones_matrix = X)
BS2 = elements.BeamSplitter(previous = {"left": (Z_left_2, "left"), "right": (X_right_2, "left")}, matrix = B)
screen = elements.Screen(previous = (BS2, "left"))
print(screen.out())
......@@ -58,7 +58,7 @@ class BeamSplitter(Element):
left_input_state = left_input_element.out(left_input_element_output_side)
if self.previous["right"] is None:
left_input_state = np.zeros((2,), dtype="complex") # if no input on the right, then |\psi> = 0
right_input_state = np.zeros((2,), dtype="complex") # if no input on the right, then |\psi> = 0
else:
right_input_element = self.previous["right"][0]
right_input_element_output_side = self.previous["right"][1]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment