In-browser classical baseline
Pair every quantum chart with a TypeScript-side classical simulation of the same distribution. Forces every claim to be browser-falsifiable.
Results · real Selene shots
classical_overlay_shippedDeterministic xorshift32 Monte-Carlo (50k samples per cell, <50ms) renders inside /nadarasa/g1 on every load. Bars sit alongside the Selene shots; worst |Selene − classical| is shown live.
Why this matters
Right now you have to trust the Selene JSON. If the same page also ran the classical-equivalent computation (for kernels where one exists), readers could see immediately whether the quantum result matches what classical statistics would predict. Refutation becomes one render away.
What the repo already has
Nothing — all classical baselines live in Python comments.
What's missing
src/lib/classical/coset.ts implementing the SRP residue-histogram simulator; a `<ClassicalOverlay>` chart prop that renders the classical distribution as a dashed line on top of the quantum histogram.
Smallest experiment
Build it or kill itQubits
n/a
Ancilla pattern
n/a
Shots
Classical Monte-Carlo, 10⁵ samples per render, runs in <50ms.
Predicted outcome
On /nadarasa/g1 the dashed classical curve overlaps the quantum histogram within Monte-Carlo error for every (N, p, s) cell.
Refutation criterion
If overlap fails by > 3σ anywhere, either the classical simulator is wrong or the SRP class isn't doing what the draft claims.
Kernel sketch
Untested — sketch only// TypeScript: sample uniformly from the SRP coset, compute y = (s * coset_element) mod 2^n, histogram y mod p.
Host pipeline
Run classical simulator client-side on render; overlay on existing recharts/echarts component.
Related
Files in this repo
- · src/lib/classical/coset.ts
- · src/components/selene/ClassicalOverlay.tsx
- · src/routes/nadarasa.g1.tsx
- · src/data/demos/nadarasa_g1.json