Nadarasa
Draft · v0.2 · Unreviewed
← Index/Project · Nadarasa ReductionDraft · v0.2 · Selene Emulator

Gate G23 · Quantum search

Simon's problem on Selene, decoded two ways

Simon's algorithm is the cleanest exponential separation in the textbook, and structurally it is the coset-state machinery already built in G1 and G2: prepare a uniform superposition, entangle through a two-to-one oracle, interfere, and read vectors orthogonal to the hidden mask. The interesting part is not the circuit. It is what happens to the post-processing once the shots are noisy.

ideal recovery verified27 cellsML decoder 27/27exact GF(2) decoder 9/27

The problem and the circuit

f(x) = f(x XOR s), s != 0

The oracle is built to be all-Clifford: copy the input register onto the output with CNOTs, then conditionally XOR the secret in, controlled on the lowest set bit of s. Every instance is checked against the two-to-one promise and brute-force collision search before a single shot is spent, so the emulator is never the only witness.

Register widths
6, 8, 10 qubits
Shots per cell
256
Backend
Quest via Selene
Seed
11

1 — Every cell

nsecretnoisep(y·s = 0)roundsexact GF(2)max-likelihood
3001ideal1.0005passpass 1.00
3001h2_1x0.9962failpass 1.00
3001h2_10x0.9803failpass 0.98
3101ideal1.0006passpass 1.00
3101h2_1x0.9922failpass 0.99
3101h2_10x0.9342failpass 0.93
3111ideal1.0006passpass 1.00
3111h2_1x0.9966failpass 1.00
3111h2_10x0.8983failpass 0.90
40001ideal1.0006passpass 1.00
40001h2_1x0.9963failpass 1.00
40001h2_10x0.9694failpass 0.97
41001ideal1.0005passpass 1.00
41001h2_1x0.9928failpass 0.99
41001h2_10x0.9458failpass 0.95
41111ideal1.0003passpass 1.00
41111h2_1x0.9806failpass 0.98
41111h2_10x0.9143failpass 0.91
500001ideal1.0007passpass 1.00
500001h2_1x0.9964failpass 1.00
500001h2_10x0.941—failpass 0.94
510001ideal1.0005passpass 1.00
510001h2_1x0.9886failpass 0.99
510001h2_10x0.930—failpass 0.93
511111ideal1.0006passpass 1.00
511111h2_1x0.9889failpass 0.99
511111h2_10x0.906—failpass 0.91

Noise levels: ideal, h2_1x, h2_10x. The H2 baseline is p₁q = 3.0e-5, p₂q = 1.29e-3, p_meas = 1.35e-3, the published Quantinuum figures also used in G17 and G20.

2 — The decoder is the fragile part, not the circuit

Exact GF(2) solve

Unique non-zero s orthogonal to every measured vector. Correct with zero noise; a single corrupted shot makes it fail.

9/27 cells — all of them ideal.

Maximum likelihood

Score every candidate s by the fraction of shots it is orthogonal to and take the best. Survives H2-class noise.

27/27 cells, worst orthogonality fraction 0.898.

At ten times the H2 baseline roughly one shot in ten lands off the orthogonal subspace. That is enough to break the textbook linear-algebra solve outright, because it admits no contradictory vector — and not nearly enough to break a scoring decoder that treats the shots as evidence rather than as constraints. The quantum part degrades gracefully; the classical part did not, until it was rewritten to.

3 — Against the classical baseline

nclassical queries (birthday bound)Simon, ~n − 1 outcomes
32.52
43.53
55.04
20907.519
409.29e+539

A classical algorithm must find a collision, so it needs ~sqrt(pi/4 * 2^n) queries (birthday bound). Simon needs about n-1 independent measurement outcomes.

Honest limits: at n = 5 the classical search costs five queries, so nothing here is a speedup. The separation is asymptotic and the instances are small enough to brute force, which is precisely why they make a good test — the ground truth is known for every cell. What this gate contributes is the harness: a verified oracle, a noise ladder, and a decoder that survives it.

Reproduce with PYTHONPATH=.pydeps python3 -m quantum.simon.sweep. Results committed to src/data/demos/simon_search.json. See also the challenge mapping.
Arun Nadarasa · Refutation-first research notebook · Selene emulator runs, source open
Credit is aspirational until independently verified · © 2026