polarization_splitter_rotator¶
- photonforge.abstract.polarization_splitter_rotator(*, t_0=1.0 + 0.0j, t_1=1.0 + 0.0j, x_0_to_p2=0.0 + 0.0j, x_1_to_p1=0.0 + 0.0j, leak_p1_p2=0.0 + 0.0j, r_00=0.0 + 0.0j, r_01=0.0 + 0.0j, r_10=0.0 + 0.0j, r_11=0.0 + 0.0j, r_20=0.0 + 0.0j, r_21=0.0 + 0.0j, all_multimode=False, pol_out=0)[source]¶
Abstract polarization splitter-rotator.
Based on
photonforge.PolarizationSplitterRotatorModel. All S-parameters are frequency-independent constants.- Parameters:
t_0 (complex) – Functional transmission from P0 mode 0 to P1.
t_1 (complex) – Functional transmission from P0 mode 1 to P2.
x_0_to_p2 (complex) – Crosstalk from P0 mode 0 to P2.
x_1_to_p1 (complex) – Crosstalk from P0 mode 1 to P1.
leak_p1_p2 (complex) – Leakage between the output ports at the functional mode.
r_00 (complex) – Reflection at P0, mode 0.
r_01 (complex) – Reflection at P0, mode 1.
r_10 (complex) – Reflection at P1, mode 0.
r_11 (complex) – Reflection at P1, mode 1. Unused when
all_multimodeisFalse.r_20 (complex) – Reflection at P2, mode 0.
r_21 (complex) – Reflection at P2, mode 1. Unused when
all_multimodeisFalse.all_multimode (bool) – If
False, P0 is 2-mode and P1/P2 are single-mode (4×4 reduced matrix). IfTrue, all ports are 2-mode (6×6 full matrix).pol_out (Literal[0, 1]) – Output mode index at P1/P2 for the functional and crosstalk paths. Only used when
all_multimode=True.
- Return type: