BosonSampling.CoherentStateType
CoherentState(displacement_parameter::Complex)

Type used to notify that the input is made of a coherent state.

Fields:
    - displacement_parameter::Complex
    - displacement::Vector{Complex}
    - covariance_matrix::Matrix{Complex}
source
BosonSampling.GaussianInputType
GaussianInput{T<:Gaussian}
GaussianInput{T}(r::ModeOccupation, squeezing_parameters::Vector, source_transmission::Union{Vector, Nothing})

Input state made off Gaussian states at the entrance of the interferometer. Models of partial distinguishability for Gausian states being of different nature than those for Fock states, we distinct input of Bosonic Fock states with indistinguishable Gaussian states.

Note

The notion of ModeOccupation here is also different. Even though the object is the same, the mode occuputation here as to be understood as a "boolean" where the value 0 tells us that the mode is fed with the vacuum while 1 states that the mode contains a Gaussian state of type T.

source
BosonSampling.GramMatrixType
GramMatrix{T}(n::Int) where {T<:InputType}
GramMatrix{T}(n::Int, distinguishability_param::Real) where {T<:InputType}
GramMatrix{T}(n::Int, S::Matrix) where {T<:InputType}

Matrix of partial distinguishability. Will automatically generate the proper matrix related to the provided InputType.

Fields:
    - n::Int: photons number
    - S::Matrix: Gram matrix
    - rank::Union{Int, Nothing}
    - distinguishability_param::Union{Real, Nothing}
    - generating_vectors::OrthonormalBasis
source
BosonSampling.InputType
Input{T<:InputType}
Input{T}(r::ModeOccupation) where {T<:InputType}
Input{T}(r::ModeOccupation, G::GramMatrix) where {T<:InputType}

Input state at the entrance of the interferometer.

Fields:
    - r::ModeOccupation
    - n::Int
    - m::Int: modes numbers
    - G::GramMatrix
    - distinguishability_param::Union{Real, Nothing}
source
BosonSampling.OrthonormalBasisType
OrthonormalBasis(vector_matrix::Union{Matrix, Nothing})

Basis of vectors $v_1,...,v_n$ stored as columns in a $n$-by-$r$ matrix possibly empty.

Fields:
    vectors_matrix::Union{Matrix,Nothing}
source
BosonSampling.SingleModeSqueezedVacuumType
SingleModeSqueezedVacuum(squeezing_parameter::Real)

Type used to notify that the input is made of single mode squeezed state.

Fields:
    - squeezing_parameter::Real
    - displacement::Vector{Complex}
    - covariance_matrix::Matrix{Complex}
source
BosonSampling.ThermalStateType
ThermalState(mean_photon_number::Real)

Type used to notify that the input is made of a thermal state.

Fields:
    mean_photon_number::Real
    displacement::Vector{Complex}
    covariance_matrix::Matrix{Complex}
source
BosonSampling.VacuumStateType
VacuumState()

Type used to notify that the input is made of the vacuum state.

Fields:
    displacement::Vector{Complex}
    covariance_matrix::Matrix{Complex}
source