BosonSampling.BosonSamplingThresholdDistribution — Type

mutable struct BosonSamplingThresholdDistribution <: OutputMeasurementType <: OutputMeasurementType

Container holding the entire boson sampling distribution for a given type of parameters, input, etc with threshold detectors.

source
BosonSampling.MultipleCounts — Type
MultipleCounts()
MultipleCounts(counts, proba)

Holds something like the photon counting probabilities with their respective probability (in order to use them as a single observation). Can be declared empty as a placeholder.

Fields:
- counts::Union{Nothing, Vector{ModeOccupation}, Vector{PartitionOccupancy}, Vector{ThresholdModeOccupation}},
- proba::Union{Nothing,Vector{Real},Vector{Int}}

!!! Warning:

The naming of `proba` and `counts` was done at a much earlier stage of the project. Understand `counts` as detector readings. `proba` can hold either probabilites or also number of times an event was observed.
source
BosonSampling.RealisticDetectorsFockSample — Type
RealisticDetectorsFockSample(p_dark::Real, p_no_count::Real)

Same as DarkCountFockSample with the added possibility that no reading is observed although there is a photon. This same probability also removes dark counts (first a dark count sample is generated then readings are discarded with probability p_no_count).

source
BosonSampling.convert_state_to_n_ary_number — Method

convertstatetonary_number(state::Vector{Int64}, n)

Convert a vector of integers into a binary number. The first element of the vector is the least significant bit. This gives a hash function for a vector of integers.

Need to give n = the number of input photons.

source
BosonSampling.to_proba! — Method
to_proba!(mc::MultipleCounts)

Converts a MultipleCounts which has count values (Int) of detector observations into a relative proba of each observation (renormalize).

source