BosonSampling.BosonSamplingThresholdDistributionType

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.MultipleCountsType
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.RealisticDetectorsFockSampleType
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_numberMethod

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