Skip to content

ProtocolDiscrete ​

Phase 5c API: phase-shift keying and the correlation a finite alphabet cedes

13/13 passed in 20442ms

TestWhat it doesResult
test_bits_is_requireddm_holevo requires the alphabet entropy, holevo() passes log2(m), and the capped value is at most the unbounded one.✅ pass
test_both_informationsBoth informations are reported and beta*gauss - chi_BE rebuilds the published rate, the gap under 1% at the operating point and over 10% at a bright eight-state ring.✅ pass
test_certified_reachThe numerical proof certifies key where the closed form is negative, and the report carries both numbers side by side.✅ pass
test_constellationconstellation() is states amplitudes of modulus alpha equally spaced from the real axis, as _core.dm_states returns them.✅ pass
test_discrete_costsz_star sits below the Gaussian value, the rate below the Gaussian-modulation rate at the same variance, and the gap closes as states are added.✅ pass
test_effective_planez_star, i_ab and chi_be rebuild bit for bit from the reported T_eff and xi_eff alone.✅ pass
test_engine_agreementThe rate is exactly _core.dm_rate and the reported mutual information dm_info's at the effective channel, pinning the untrusted substitution T -> etaT, xi -> xi + 2v_el/(eta*T).✅ pass
test_guardsThe closed form refuses a trusted receiver, a homodyne and a finite block, and a two-state constellation is refused at construction.✅ pass
test_information_wrapperinformation(T, xi) returns (exact, Gaussian) = (0.1107575, 0.1107648), bit for bit _core.dm_info(4, 0.4, 0.5, 0.01), transposed slots give 0.0023007, and domain errors reach the caller; tree values, not a published anchor.✅ pass
test_steps_apartbound is step 2 and is the proof, upper step 1's Frank-Wolfe value labelled a diagnostic, and the certificate refuses a key_rate; before a run those rows and the solver read unrun.✅ pass
test_trusted_planeA trusted receiver reaches _core.dm_trusted at the channel plane with efficiency and electronic noise held apart, never folded into the transmittance.✅ pass
test_trusted_reachThe untrusted branch refers v_el back as xi + 2v_el/(etaT) and certifies nothing at T = 0.5, 0.2 or 0.05, where the trusted one certifies key at all three.✅ pass
test_trusted_rowsThe trusted report drops T_eff, xi_eff, key_analytic and key_gauss and returns i_ab and chi_be as None, keeping the claimed plane, the trusted flag and the certificate's rows.✅ pass