Detector

Module containing the class of detectors.

class qosst_sim.detector.Detector

Abstract class for detectors.

eta: float

Efficiency of the detector.

vel: float

Electronic noise of the detector.

abstract sympl(V: float, W: float, Z: float) Tuple

Compute and return the symplectic eigenvalues.

Parameters:
  • V (float) – coefficient of the first diagonal block of the covariance matrix.

  • W (float) – coefficient of the second diagonal block of the covariance matrix.

  • Z (float) – coefficient of the antidiagonal blocks of the covariance matrix.

Returns:

a tuple containing the eigenvalues. The number of elements depends on the detector.

Return type:

Tuple

abstract holevo_bound(V: float, W: float, Z: float) float

Compute the Holevo’s bound using the symplectic eigenvalues.

Parameters:
  • V (float) – coefficient of the first diagonal block of the covariance matrix

  • W (float) – coefficient of the second diagonal block of the covariance matrix

  • Z (float) – coefficient of the antidiagonal blocks of the covariance matrix

Returns:

Holevo’s bound.

Return type:

float

class qosst_sim.detector.IdealHeterodyneDetector

Class containing the caractising datas of an Ideal Heterodyne Detector, which has a quantum efficiency eta = 1, and an electric noise Vel = 0. The functions that compute the sympleptic eigenvalues and the Holevo bound of the covariance matrix describded by V, W and Z. These three quantities depends of the simulation.

Assign eta to be 1 and vel to be 0 in the case of the ideal detector.

sympl(V: float, W: float, Z: float) Tuple[float, float, float]

Compute the two symplectic eigenvalues v1 and v2 of the two-modes covariance matrix, and the symplectic eigenvalue v3 of Alice’s state given that Bob performed a heterodyne detection on his part of the state.

Parameters:
  • V (float) – coefficient of the first diagonal block of the covariance matrix

  • W (float) – coefficient of the second diagonal block of the covariance matrix

  • Z (float) – coefficient of the antidiagonal blocks of the covariance matrix

Returns:

tuple containing v1, v2, v3. v1, v2: symplectic eigenvalues of the two-modes covariance matrix. v3: symplectic eigenvalue of Alice’s state, condinitioned by Bob’s measurement.

Return type:

Tuple[float, float, float]

holevo_bound(V: float, W: float, Z: float) float

Computes the Holevo bound from the symplectic eigenvalues and the two mode covariance matrix.

Parameters:
  • V (float) – coefficient of the first diagonal block of the covariance matrix

  • W (float) – coefficient of the second diagonal block of the covariance matrix

  • Z (float) – coefficient of the antidiagonal blocks of the covariance matrix

Returns:

Holevo bound of the mutual information between Eve and Bob.

Return type:

float

class qosst_sim.detector.NoisyHeterodyneDetector(eta: float, Vel: float)

Class containing the caractising datas of an Noisy Heterodyne Detector, which has a quantum efficiency eta, and an electric noise Vel. The functions that compute the sympleptic eigenvalues and the Holevo bound of the covariance matrix describded by V, W and Z. These three quantities depends of the simulation.

Parameters:
  • eta (float) – efficiency of the detector.

  • Vel (float) – electronic noise of the detector.

sympl(V: float, W: float, Z: float) Tuple[float, float, float, float]

Compute the two symplectic eigenvalues v1 and v2 of the two-modes covariance matrix, and the symplectic eigenvalues v3 and v4 of the covariance matrix of the state AFG|b exiting the beam splitter, after mixing the state AB with an EPR state FG of variance nu = 1 + 2*Vel/(1 - eta) ????

Parameters:
  • V (float) – coefficient of the first diagonal block of the covariance matrix AB

  • W (float) – coefficient of the second diagonal block of the covariance matrix AB

  • Z (float) – coefficient of the antidiagonal blocks of the covariance matrix AB

Returns:

v1, v2, v3, v4. v1, v2: symplectic eigenvalues of the two-modes covariance matrix AB. v3, v4: two first symplectic eigenvalues of the two-modes covariance matrix AFG|b

Return type:

Tuple[float, float, float, float]

holevo_bound(V: float, W: float, Z: float) float

Computes the Holevo bound from the symplectic eigenvalues and the covariance matrices of the bipartite system, before interfering with the EPR source, and after, under the condition of Bob’s measurement.

Args: V (float): coefficient of the first diagonal block of the covariance matrix W (float): coefficient of the second diagonal block of the covariance matrix Z (float): coefficient of the antidiagonal blocks of the covariance matrix

Returns:

Holevo bound of the mutual information between Eve and Bob.

Return type:

float