Source
>>> import perceval as pcvl
>>> source = pcvl.Source(emission_probability=0.3, multiphoton_component=0.05)
>>> pcvl.pdisplay(source.probability_distribution())
state |
probability |
|0> |
7/10 |
|{_:0}> |
0.297716 |
|{_:0}{_:2}> |
0.002284 |
- class perceval.components.source.Source(emission_probability=1, multiphoton_component=0, indistinguishability=1, losses=0, multiphoton_model='distinguishable', context=None)
Definition of a source We build on a phenomenological model first introduced in ref. [1] where an imperfect quantum-dot based single-photon source is modeled by a statistical mixture of Fock states. The model developed here, first introduced in ref. [2], constructs the input multi-photon state using features specific to Perceval. [1] Pont, Mathias, et al. Physical Review X 12, 031033 (2022). https://doi.org/10.1103/PhysRevX.12.031033 [2] Pont, Mathias, et al. arXiv preprint arXiv:2211.15626 (2022). https://doi.org/10.48550/arXiv.2211.15626
- Parameters:
emission_probability (
float
) – probability that the source emits at least one photonmultiphoton_component (
float
) – second order intensity autocorrelation at zero time delay \(g^{(2)}(0)\)indistinguishability (
float
) – 2-photon mean wavepacket overlaplosses (
float
) – optical lossesmultiphoton_model (
str
) – distinguishable if additional photons are distinguishable, indistinguishable otherwisecontext (
Optional
[Dict
]) – gives a local context for source specific features, like discernability_tag
- generate_distribution(expected_input, prob_threshold=0)
Simulates plugging the photonic source on certain modes and turning it on. Computes the input probability distribution
- Parameters:
expected_input (
FockState
) – Expected input BasicState The properties of the source will alter the input state. A perfect source always delivers the expected state as an input. Imperfect ones won’t.prob_threshold (
float
) – Probability threshold under which the resulting state is filtered out. By default, global_params[‘min_p’] value is used.
- probability_distribution(nphotons=1)
returns SVDistribution on 1 mode associated to the source
- Parameters:
nphotons (
int
) – Require nphotons in the mode (default 1).- Return type: