abstract.polarization_splitter_rotator
polarization_splitter_rotator( *, t_0: complex = (1 + 0j), t_1: complex = (1 + 0j), x_0_to_p2: complex = 0j, x_1_to_p1: complex = 0j, leak_p1_p2: complex = 0j, r_00: complex = 0j, r_01: complex = 0j, r_10: complex = 0j, r_11: complex = 0j, r_20: complex = 0j, r_21: complex = 0j, all_multimode: bool = False, pol_out: Literal[0, 1] = 0,) -> photonforge.ComponentAbstract polarization splitter-rotator.
Based on PolarizationSplitterRotatorModel. All S-parameters are
frequency-independent constants.
Args
- t_0: Functional transmission from P0 mode 0 to P1.
- t_1: Functional transmission from P0 mode 1 to P2.
- x_0_to_p2: Crosstalk from P0 mode 0 to P2.
- x_1_to_p1: Crosstalk from P0 mode 1 to P1.
- leak_p1_p2: Leakage between the output ports at the functional mode.
- r_00: Reflection at P0, mode 0.
- r_01: Reflection at P0, mode 1.
- r_10: Reflection at P1, mode 0.
- r_11: Reflection at P1, mode 1. Unused when
all_multimodeisFalse. - r_20: Reflection at P2, mode 0.
- r_21: Reflection at P2, mode 1. Unused when
all_multimodeisFalse. - all_multimode: 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: Output mode index at P1/P2 for the functional and crosstalk paths. Only used when
all_multimode=True.