Quantum Link Research

Explorers

Every curve here is the same formula as the Python module named beside it; the Python version is the one the pytest suite validates, and the spot values shown in each panel can be checked against it in one line (see README, section "Apps"). Sliders are live.

0 · A qubit on the Bloch sphere: apply gates and watch it move — qll/viz/bloch_sphere.py

\( |\psi\rangle=\cos\tfrac{\theta}{2}|0\rangle+e^{i\varphi}\sin\tfrac{\theta}{2}|1\rangle,\qquad \vec r=(\sin\theta\cos\varphi,\ \sin\theta\sin\varphi,\ \cos\theta) \)

Every gate is a rotation of the sphere; measurement in Z gives |0⟩ with probability cos²(θ/2). Nielsen & Chuang (2010) ch. 1, 4.

1 · The temperature hurdle — qll/circuits/noise/thermal.py

\( \bar n(\omega,T)=\dfrac{1}{e^{\hbar\omega/k_BT}-1},\qquad T_1(T)=\dfrac{T_1(0)}{2\bar n+1},\qquad p_{\rm exc}=\dfrac{\bar n}{2\bar n+1} \)

Clerk et al. (2010) 10.1103/RevModPhys.82.1155; Krantz et al. (2019) 10.1063/1.5089550.

2 · Channel loss versus distance — qll/channels/fiber_loss.py, free_space_diffraction.py, qll/qkd/plob_bound.py

\( \eta_{\rm fiber}=10^{-\alpha L/10},\qquad \theta=\dfrac{\lambda}{\pi w_0},\quad \eta_{\rm free}=\min\!\Big(1,\big(\tfrac{D_{\rm rx}}{2\theta L}\big)^2\Big),\qquad K_{\rm PLOB}=-\log_2(1-\eta) \)

Pirandola et al. (2017) 10.1038/ncomms15043; Yin et al. (2017) 1200 km satellite link; Li et al. (2025) 10.1038/s41586-025-08739-z.

3 · Light time versus memory lifetime — qll/channels/light_time_delay.py

\( \tau_{\rm one\,way}=\dfrac{d}{c},\qquad \tau_{\rm RT}=\dfrac{2d}{c},\qquad \text{teleportation completes only if } T_{\rm mem}\gtrsim \tau_{\rm RT} \)

Memory lifetimes: Zhong et al. (2015) 10.1038/nature14025; Wang et al. (2025) 10.1103/PRXQuantum.6.010302; Knaut et al. (2024) 10.1038/s41586-024-07252-z.

4 · BB84 secret fraction — qll/qkd/key_rate.py

\( r(Q)=\max\big(0,\,1-2h_2(Q)\big),\qquad h_2(x)=-x\log_2 x-(1-x)\log_2(1-x),\qquad r=0 \text{ at } Q=11.0\% \)

Shor & Preskill (2000), Phys. Rev. Lett. 85, 441.