TBS#
- class discopy.quantum.optics.TBS(theta, _dagger=False)[source]#
Bases:
BoxTunable Beam Splitter.
Corresponds to
Matrix\(\begin{pmatrix} \tt{sin}(\theta \, \pi) & \tt{cos}(\theta \, \pi) \\ \tt{cos}(\theta \, \pi) & - \tt{sin}(\theta \, \pi) \end{pmatrix}\).- Parameters:
theta (float) – TBS parameter ranging from 0 to 1.
Example
>>> BS = BBS(0) >>> tbs = lambda x: BS >> Phase(x) @ Id(1) >> BS >>> assert np.allclose(TBS(0.15).array * TBS(0.15).global_phase, ... tbs(0.15).array) >>> assert np.allclose((TBS(0.25) >> TBS(0.25).dagger()).array, ... Id(2).array) >>> assert (TBS(0.25).dagger().global_phase == ... np.conjugate(TBS(0.25).global_phase))