Nadarasa · v0.4.2 · Selene experiment
G17 — Ethylene QPDE under H2-class noise
G16 showed the ethylene QPDE interference law holds cell-by-cell on a noiseless emulator. The question a chemistry user actually asks is different: how much gate error can the gap fit absorb before the answer stops being chemistry? This run re-executes the maximum-slope β = π/2 column at a ladder of depolarizing error rates anchored on Quantinuum's published H2 numbers, and re-fits the eigenvalue gap at each rung.
The noise ladder
Selene's DepolarizingErrorModel is driven from the H2 numbers reported in the SoftBank / Quantinuum white paper: p_2q = 0.00129, p_1q = 0.00003, p_meas = 0.00135 (the midpoint of the asymmetric readout rates). Each rung multiplies all three together, so the ladder is a single-parameter stress test rather than a per-channel ablation.
Only k ∈ 1, 2, 4 enters the fit. k = 8 is the mod-1 aliasing control from G16 and carries no gradient, so it would only add noise to the average.
Measured p(q1 = 1) and recovered gap
| Noise | p_2q | k = 1 | k = 2 | k = 4 | Gap (Ha) | Rel. error |
|---|---|---|---|---|---|---|
| Ideal (control) | — | 0.2898 / 0.3087 | 0.1416 / 0.1464 | 0.0000 / 0.0000 | 0.8327 | 4.08% |
| H2 baseline · 1× | 1.29e-3 | 0.3159 / 0.3087 | 0.1531 / 0.1464 | 0.0056 / 0.0000 | 0.7576 | 5.30% |
| H2 baseline · 5× | 6.45e-3 | 0.3127 / 0.3087 | 0.1619 / 0.1464 | 0.0259 / 0.0000 | 0.7246 | 9.42% |
| H2 baseline · 20× | 2.58e-2 | 0.3352 / 0.3087 | 0.2195 / 0.1464 | 0.0989 / 0.0000 | 0.5884 | 26.45% |
Each cell shows measured / noiseless-ideal p(q1 = 1) at 4096 shots.
Reading the result
- Degradation is monotone and one-sided: depolarizing noise pushes every probability toward 0.5, which compresses the recovered phase and therefore underestimates the gap. The bias is systematic, not statistical — more shots will not remove it.
- The k = 4 cell is the canary. Its ideal value is exactly 0, so its measured value is a direct readout of accumulated error: 0.0056 at 1×, 0.0259 at 5×, 0.0989 at 20×.
- At 1× H2 the fit lands within about 5% of the reference gap — the same order as the shot-noise-limited ideal control, so at this depth the published error rates are not the binding constraint.
- At 20× the fit collapses to 26% error. Between 5× and 20× is where zero-noise extrapolation or an error-corrected encoding stops being optional for this protocol.
Zero-noise extrapolation
The ladder above is also a mitigation dataset. Densifying it with 2× and 10× rungs gives five noisy points; fitting the recovered gap against the noise multiplier λ and evaluating at λ = 0 asks how much of the collapse a Richardson-style extrapolation buys back — without ever running an error-corrected circuit.
| Rung (λ) | Gap (Ha) | Rel. error |
|---|---|---|
| 0 (control) | 0.8327 | 4.08% |
| 1× | 0.7576 | 5.30% |
| 2× | 0.7356 | 8.05% |
| 5× | 0.7246 | 9.42% |
| 10× | 0.6476 | 19.05% |
| 20× | 0.5884 | 26.45% |
| ZNE · linear → λ = 0 | 0.7586 | 5.17% |
| ZNE · quadratic → λ = 0 | 0.7708 | 3.66% |
- Both extrapolators recover most of the damage: the quadratic fit returns 74.66% of the 0.244 Ha collapse, landing at 0.7708 Ha — 3.7% from the 0.800 Ha reference.
- Neither reaches the measured ideal control (0.8327 Ha). The λ = 0 intercepts sit below it, which is what a slightly non-polynomial error profile looks like: the linear fit's residual RMS (0.012187) is a third larger than the quadratic's (0.009294).
- Practical reading: extrapolation converts a 26% error at 20× into roughly a 4% error, i.e. it buys about one order of magnitude of gate quality on this protocol — useful, but not a substitute for encoding once the active space grows.
Caveats
- Depolarizing noise is a coarse stand-in. Selene ships no coherent / T1–T2 memory model, so the slow-dephasing channel that dominates long idle windows on real traps is absent here.
- The ideal control itself carries ~4% error at these shot counts, so the 1× rung is not resolved against shot noise. Separating them needs more shots, not more noise levels.
- This is a two-qubit active space. Nothing here extrapolates to the depth of a production chemistry instance without redoing the ladder at that depth.
- Results are committed static JSON. Nothing quantum runs at request time.
Reproduce
pip install --target .pydeps -r quantum/requirements.txt PYTHONPATH=.pydeps python -m quantum.qpde.noise PYTHONPATH=.pydeps python -m quantum.qpde.zne
Backend: selene-sim Quest. Each (noise, k) cell caches under quantum/qpde/_cache_qpde_noise/, so the sweep is resumable across sandbox sessions. Total runtime 25s.