Skip to content

PnrDecoy ​

Detector decoy: PNR statistics from a threshold detector and an attenuator

9/9 passed in 31ms

TestWhat it doesResult
test_decoy_arrayA multiplexed array reaches the inversion through the whole receiver's per-gate silent probability and not through one element's.✅ pass
test_decoy_bracketProposition 2.1's bounds bracket the true single- and two-photon weights of a thermal state, the vacuum weight read off f(0) exactly.✅ pass
test_decoy_convergeBoth brackets close as the probing settings approach the transparent one, the proposition's c1 = delta, c2 = sqrt(delta) limit.✅ pass
test_decoy_countingA number-resolving detector reaches the inversion through its mean spurious count per gate, as the Poisson chance of at least one, and an equivalent threshold detector gives the same three no-click probabilities.✅ pass
test_decoy_noclickThe forward model is the paper's Eq. (17), the photon-number distribution read against the kernel (1 - c*eta)^n behind a dark-count floor.✅ pass
test_decoy_poissonFor a signal already Poissonian at the receiver, attenuating by t is the same as sending intensity t*mu, so decoy_gain reproduces the attenuator sweep.✅ pass
test_decoy_readoutA finite readout width, a single absorbing outcome and a component carrying neither field are each refused by the forward model and by the inversion.✅ pass
test_decoy_refusesA detector of less than unit efficiency is refused: no attenuator reaches the c = 0 the vacuum weight is read off.✅ pass
test_decoy_reuseOn that Poissonian signal decoy_bounds runs verbatim on receiver-side intensities, and its single-photon yield stays under decoy_ideal's infinite-decoy ceiling.✅ pass