Skip to content

Single-Qubit Coherence Nudge for ZNE: the Gain Is Not the Signal (the Multi-Qubit One Holds)

Variant 2 of issue #243. Script: scripts/noise_mitigation_validation/single_qubit_coherence_zne.py. Negative result.

The library's coherence_predictive_zne_density_matrix lowers the weight of the 3-point Richardson extrapolation when the l1 coherence (Baumgratz, Cramer, Plenio, PRL 113, 140401 (2014)) changes non-linearly across the noise scales, then projects onto a physical state. Here the same core runs on one qubit, on the 2×2 matrix rebuilt from single-qubit tomography (X, Y, Z, K shots each), so the signal is 2|ρ₀₁|.

First test: looks like a clear win

Haar-random pure states, 200 seeds, base_p = 0.05, factors 1, 2, 3. Baseline: the same core with nudge_scale = 0 (Richardson plus projection), as in the original validation of the multi-qubit version. Counted on seeds where the nudge activates, as there.

Channel K Active Mean gain (active) Better / worse t-test p
phase flip 100 96/200 0.0308 94 / 2 1.0e-23
phase flip 400 100/200 0.0185 100 / 0 3.0e-20
phase flip 1600 95/200 0.0064 94 / 1 3.1e-12
amplitude damping 100 105/200 0.0260 103 / 2 7.4e-18
amplitude damping 400 106/200 0.0144 101 / 5 1.5e-15
amplitude damping 1600 97/200 0.0084 95 / 2 2.0e-20
depolarizing 100 104/200 0.0286 101 / 3 2.8e-20
depolarizing 400 105/200 0.0176 102 / 3 9.8e-21
depolarizing 1600 102/200 0.0087 101 / 1 5.7e-22

Control: the same nudges at random, and one fixed nudge

400 seeds, mean gain over all seeds against nudge_scale = 0.

Channel K Signal Same nudges shuffled across seeds One constant nudge on every seed
phase flip 100 0.0149 0.0117 0.0216
phase flip 400 0.0090 0.0070 0.0141
phase flip 1600 0.0028 0.0023 0.0044
amplitude damping 100 0.0133 0.0126 0.0225
amplitude damping 400 0.0079 0.0070 0.0147
amplitude damping 1600 0.0042 0.0037 0.0074
depolarizing 100 0.0148 0.0118 0.0232
depolarizing 400 0.0084 0.0069 0.0139
depolarizing 1600 0.0038 0.0032 0.0062

Reading it

  • Shuffled nudges keep most of the gain, and a constant nudge on every seed does better than the signal. The improvement comes from extrapolating less aggressively, which amplifies shot noise less, not from the coherence signal choosing when to act.
  • The signal adds only a little over random placement (0.0005 to 0.003).
  • A constant nudge trades variance for bias: it moves the estimate toward the noisy data, so at higher noise or with many more shots it can lose. It is not a free improvement and is not promoted.
  • The multi-qubit version passes the same controls (next section): there the signal does carry the gain.

Re-check of the multi-qubit validation with the same controls

Script: scripts/noise_mitigation_validation/coherence_zne_shuffled_control.py. Exactly the setup of #208 (GHZ(4), phase flip, base_p = 0.05, 150 trajectories per scale, seeds 900000 + i, Uhlmann fidelity); it reproduces the original 63/200 active, 63/63 positive, p = 1.07e-8.

Nudge Mean gain Better / worse t-test p
coherence signal (library) 0.00469 63 / 0 1.1e-08
same nudges shuffled across seeds 0.00072 17 / 14 0.16
constant nudge on every seed 0.00243 65 / 43 4.5e-06

The signal beats shuffled placement by 0.0040 (paired p = 5.3e-06) and the constant nudge by 0.0023 (p = 3.9e-06). On the full GHZ(4) state, where the coherence sits in the |0000><1111| element, the l1 signal really chooses when to act; on a single qubit, with one off-diagonal element, it does not.

Details

  • In a GHZ state each single-qubit reduced state is I/2, so the local signal is zero at every scale and never fires; that is why this test uses single-qubit pure states.
  • Requires ensure_x64() (called by the script) until Dense-Evolution#343 is merged.