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