channel#
Photonic quantum channels
Classes
|
Photon loss channel on single mode. |
- class PhotonLoss(inputs: Any = None, nmode: int = 1, wires: int | list[int] | None = None, cutoff: int | None = None, requires_grad: bool = False)[source]#
Bases:
ChannelPhoton loss channel on single mode.
This channel couples the target mode $hat{a}$ to the vacuum mode $hat{b}$ using following transformation:
\[\hat{a}_{\text{out}} = \sqrt{T}\hat{a}_{\text{in}} + \sqrt{1-T}\hat{b}_{\text{vac}}\]- Parameters:
inputs (Any) – The parameter of the channel. Default:
Nonenmode (int) – The number of modes that the quantum operation acts on. Default: 1
wires (int | list[int] | None) – The indices of the modes that the quantum operation acts on. Default:
Nonecutoff (int | None) – The Fock space truncation. Default:
Nonerequires_grad (bool) – Whether the parameter is
nn.Parameterorbuffer. Default:False(which meansbuffer)
- get_matrix_state(theta: Any) Tensor[source]#
Get the local Kraus matrices acting on Fock state density matrices.
See https://arxiv.org/pdf/1012.4266 Eq.(2.4)
- property t#
Transmittance.
- property theta#
- update_matrix_state() Tensor[source]#
Update the local Kraus matrices acting on Fock state density matrices.
- update_transform_xy() tuple[Tensor, Tensor][source]#
Update the local transformation matrices X and Y acting on Gaussian states.
See https://arxiv.org/pdf/quant-ph/0503237 Eq.(4.19), Eq.(4.20)