Reproducibility

Re-run every Selene shot on this site

Every chart and table on this site is rendered from a JSON file under src/data/demos/. Each JSON was produced by running a real @guppy-compiled kernel on the Selene emulator. The commands below regenerate them locally so a reviewer can confirm the numbers were not hand-edited.

v0.3 · The G1 kernel ships a real little-endian QFT (emit_qft_lines + cphase_true_on in quantum/nadarasa_g1_lib.py). The v0.2 Walsh–Hadamard readout is gone. See /notes/v0-3-changelog for what changed and why.

1. Environment

Python ≥ 3.11 on Linux or macOS.

python3 -m venv .venv && source .venv/bin/activate
pip install guppylang selene-sim numpy

Both packages are published by Quantinuum. guppylang compiles the kernel; selene-sim runs the shots.

2. Run any single experiment (one command per Gn)

Every Gn driver is module-callable and writes its own JSON under src/data/demos/. Wall-clocks below are laptop estimates.

GAPCommandOutput JSONWall
G1python -m quantum.nadarasa_g1nadarasa_g1.json~3 min
G1·sweeppython -m quantum.nadarasa_g1_via_sweepnadarasa_g1_via_sweep.json~3 min
G2python -m quantum.nadarasa_g2nadarasa_g2.json~5 min
G2·realpython -m quantum.nadarasa_g2_realnadarasa_g2_real.json~4 min
G3python -m quantum.nadarasa_g3nadarasa_g3.json~4 min
G4python -m quantum.nadarasa_g4nadarasa_g4.json~30 s
G5python -m quantum.nadarasa_g5nadarasa_g5.json~2 min
G6bpython -m quantum.nadarasa_g6bnadarasa_g6b.json~3 min
G7python -m quantum.nadarasa_g7nadarasa_g7.json~1 min
G8python -m quantum.nadarasa_g8nadarasa_g8.json~2 min
G9python -m quantum.nadarasa_g9nadarasa_g9.json~1 min
G10python -m quantum.nadarasa_g10nadarasa_g10.json~2 min
G10·φpython -m quantum.nadarasa_g10_phasefindernadarasa_g10_phasefinder.json~5 min
G11python -m quantum.nadarasa_g11nadarasa_g11.json~1 min
G11·realpython -m quantum.nadarasa_g11_realnadarasa_g11_real.json~1 min
G12python -m quantum.nadarasa_g12nadarasa_g12.json~4 min

Headline-experiment shortcut: the G2 two-window driver is the original refutation pressure on Conjecture C1. Expect ~5 minutes on a laptop.

python -m quantum.nadarasa_g2

Then open /nadarasa/g2 — the chart and verdict update from your freshly produced JSON.

3. Diff against the published JSON

Selene's RNG is seeded; numbers should match to within shot noise (≲ 1/√shots). A larger drift means one of the kernels changed.

git diff -- src/data/demos/

4. Read the Guppy source

Index of every kernel and its visualization page: /selene-notes.

Found a bug?

Misreading a Guppy primitive, a wrong baseline, an off-by-one in the slope sweep — please flag it. The whole point of this site is that the refutation is on the page and the source is open.

← Back to G2Cite this →