symop.polynomial.channels.models.mzi¶
Mach-Zehnder interferometer models for CCR polynomial representations.
This module provides helpers for applying a two-mode Mach-Zehnder interferometer (MZI) unitary to ket, density, and operator polynomial objects.
Functions
|
Apply a two-mode Mach-Zehnder interferometer to a density polynomial. |
|
Apply a two-mode Mach-Zehnder interferometer to a ket polynomial. |
|
Apply a two-mode Mach-Zehnder interferometer to an operator polynomial. |
- mzi_densitypoly(rho: DensityPoly, *, mode0: ModeOp, mode1: ModeOp, theta1: float, theta2: float, phi_internal: float, phi_in0: float = 0.0, phi_in1: float = 0.0, phi_out0: float = 0.0, phi_out1: float = 0.0, check_unitary: bool = False, atol: float = 1e-10) DensityPoly¶
Apply a two-mode Mach-Zehnder interferometer to a density polynomial.
- mzi_ketpoly(poly: KetPoly, *, mode0: ModeOp, mode1: ModeOp, theta1: float, theta2: float, phi_internal: float, phi_in0: float = 0.0, phi_in1: float = 0.0, phi_out0: float = 0.0, phi_out1: float = 0.0, check_unitary: bool = False, atol: float = 1e-10) KetPoly¶
Apply a two-mode Mach-Zehnder interferometer to a ket polynomial.
- mzi_oppoly(op: OpPoly, *, mode0: ModeOp, mode1: ModeOp, theta1: float, theta2: float, phi_internal: float, phi_in0: float = 0.0, phi_in1: float = 0.0, phi_out0: float = 0.0, phi_out1: float = 0.0, check_unitary: bool = False, atol: float = 1e-10) OpPoly¶
Apply a two-mode Mach-Zehnder interferometer to an operator polynomial.