From 3687969519ee58b0b58eb38c5e1342b29bd8a83d Mon Sep 17 00:00:00 2001 From: Lou Bernabeu <lou.bernabeu@student-cs.fr> Date: Thu, 21 Jan 2021 02:28:41 +0100 Subject: [PATCH] update woops --- .gitignore | 2 +- __main__.py | 30 ++++++++++++++++++++++++++---- matrices.py | 8 ++++---- 3 files changed, 31 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index ec0c699..3f31d18 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -*__pycache__ +*__pycache__ .vscode/ \ No newline at end of file diff --git a/__main__.py b/__main__.py index 5f4eb69..f21af91 100644 --- a/__main__.py +++ b/__main__.py @@ -8,10 +8,11 @@ import matrices print("Hi World!") ## Tests +print("###------ Portes anticommutantes ------") +source = elements.Source(initial_vector = np.array([1. + 0j, 0.])) -source = elements.Source(initial_vector = np.array([1.+0j, 0.])) +BS1 = elements.BeamSplitter(previous = {"left": None, "right": (source, "left")}, matrix=matrices.HALF_MIRROR_LEFT_ACTIVE) -BS1 = elements.BeamSplitter(previous = {"left": (source, "left"), "right": None}, matrix=matrices.HALF_MIRROR_LEFT_INACTIVE) X_left_1 = elements.Plate(previous = (BS1, "left"), jones_matrix=matrices.X) Z_left_2 = elements.Plate(previous = (X_left_1, "left"), jones_matrix = matrices.Z) @@ -20,10 +21,31 @@ Z_left_2 = elements.Plate(previous = (X_left_1, "left"), jones_matrix = matrices Z_right_1 = elements.Plate(previous = (BS1, "right"), jones_matrix = matrices.Z) X_right_2 = elements.Plate(previous = (Z_right_1, "left"), jones_matrix = matrices.X) -BS2 = elements.BeamSplitter(previous = {"left": (Z_left_2, "left"), "right": (X_right_2, "left")}, matrix = matrices.HALF_MIRROR_RIGHT_INACTIVE) +BS2 = elements.BeamSplitter(previous = {"left": (Z_left_2, "left"), "right": (X_right_2, "left")}, matrix = matrices.HALF_MIRROR_RIGHT_ACTIVE) screen_right = elements.Screen(previous = (BS2, "right")) screen_left = elements.Screen(previous = (BS2, "left")) -screen_right.show("right") screen_left.show("left") +screen_right.show("right") + +print("### ------ Portes commutantes ------") + +source2 = elements.Source(initial_vector = np.array([1.+0j, 0.])) + +BS12 = elements.BeamSplitter(previous = {"left": (source2, "left"), "right": None}, matrix=matrices.SYM_BS_INACTIVE) + +Phase_left_12 = elements.Plate(previous = (BS12, "left"), jones_matrix=matrices.PHASE(np.pi/5)) +Z_left_22 = elements.Plate(previous = (Phase_left_12, "left"), jones_matrix = matrices.Z) + + +Z_right_12 = elements.Plate(previous = (BS12, "right"), jones_matrix = matrices.Z) +Phase_right_22 = elements.Plate(previous = (Z_right_12, "left"), jones_matrix = matrices.PHASE(np.pi/5)) + +BS22 = elements.BeamSplitter(previous = {"left": (Z_left_22, "left"), "right": (Phase_right_22, "left")}, matrix = matrices.SYM_BS_INACTIVE) + +screen_right2 = elements.Screen(previous = (BS22, "right")) +screen_left2 = elements.Screen(previous = (BS22, "left")) + +screen_left2.show("left") +screen_right2.show("right") diff --git a/matrices.py b/matrices.py index bbd6474..6662709 100644 --- a/matrices.py +++ b/matrices.py @@ -59,10 +59,10 @@ SYM_BS_INACTIVE = np.kron(SYM_BS_AMPLITUDE_MATRIX, np.eye(2)) HALF_MIRROR_LEFT_INACTIVE = np.kron(HALF_MIRROR_LEFT_PLATE_AMPLITUDE_MATRIX, np.eye(2)) HALF_MIRROR_RIGHT_INACTIVE = np.kron(HALF_MIRROR_RIGHT_PLATE_AMPLITUDE_MATRIX, np.eye(2)) -SYM_BS_INACTIVE = (1/np.sqrt(2))*np.array([[1j, 0, 1, 0], - [0, -1j, 0, 1], - [1, 0, 1j, 0], - [0, 1, 0, -1j]], dtype='complex') +SYM_BS_ACTIVE = (1/np.sqrt(2))*np.array([[-1j, 0, 1, 0], + [0, 1j, 0, 1], + [1, 0, -1j, 0], + [0, 1, 0, 1j]], dtype='complex') HALF_MIRROR_LEFT_ACTIVE = (1/np.sqrt(2))*np.array([[-1, 0, 1, 0], [0, 1, 0, 1], -- GitLab