Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Showcases

Five measured applications.

what it showsindependent checkcost
B1 Operator scramblingsupport growth, light cones, OTOCs and butterfly velocity — 1D chain, then a 2D quench, then a measured 3D cost projectiondense 2ⁿ×2ⁿ Kronecker construction; worst gap 5.8·10⁻¹⁵ (1D) / 2.1·10⁻¹⁴ (2D)minutes (1D), ~15 min (2D), tens of GB
B2 Noisy circuit verificationon a 127-qubit kicked-Ising circuit, noise makes the simulation cheaper: 651× fewer peak terms and 1078× less wall time at p = 3e-2hand-rolled Kraus density-matrix evolution, all five channels, both directions, 1e-1025.7 min single-threaded
B5 Operator backpropagationhybrid depth reduction: back-propagate the tail classically, hand a QPU the shorter front circuit and an evolved observableqiskit-Aer statevector, gap 1.7·10⁻¹⁶; task file round-trip gap exactly 0.0~3 s
B6 Resource probesdifficulty of the evolved operator: Pauli-spectrum entropy (the cost model for this engine) against operator entanglement (the cost model for MPO methods)brute force over all 4ⁿ traces and a dense SVD; every gap ≤ 8.9·10⁻¹⁶under a minute
B7 Stabilizer-prepstim prepares a 36-qubit 2D cluster state, a non-Clifford tail is propagated, and the expectation is contracted against the stabilizer state in O(m·n²/64), avoiding a 1.0 TiB state vectordense statevector and a projector from the generators alone at n ≤ 12, plus qiskit Aer; worst gap 2.2·10⁻¹⁵116 s, 10.2 GiB peak RSS (--quick: 40 s, 1.5 GiB)
B8 Operator Loschmidt echothe 56-qubit ibm_boston echo of arXiv:2607.25998 by collapse-to-one PP-MC, single-node and over MPI ranksthe tracker QASM reproduced gate for gate, and a dense 9-qubit patch, agreeing to 1e-10one L = 6 trajectory at cache 5e7: 131 s on 8 threads, 3.9 GB

B3 (variational pre-training) and B4 (QML/QCNN) are not part of this suite.

Contents common to every showcase page

A convergence panel on every truncated result: a single number from a single cutoff is not a result here. The retained Hilbert–Schmidt norm N = Σ|c_P|² alongside it, conserved under exact unitary evolution and equal to 1 for a single Pauli seed, so 1 − N is exactly the deleted fraction of the operator under truncation. Named dependencies rather than silent approximations: where a reference was not reachable, the page says so and what it would cost. Validating a result is that panel as a recipe, for your own runs.

Reproducing a showcase

./scripts/setup.sh                # .venv with the examples extra
source .venv/bin/activate
uv sync --extra examples          # after any Rust change: rebuilds the extension

RAYON_NUM_THREADS=1 python examples/b1_operator_scrambling/run_b1_1d.py
RAYON_NUM_THREADS=1 python examples/b2_noisy_verification/run_b2.py
RAYON_NUM_THREADS=1 python examples/b5_operator_backpropagation/run_b5.py
RAYON_NUM_THREADS=1 python examples/b6_resource_probes/run_b6.py
RAYON_NUM_THREADS=1 python examples/b7_stabilizer_prep/run_b7.py
RAYON_NUM_THREADS=8 python examples/b8_ole/run_b8.py --alpha 0.15 --L 6 --cache 5e6 --seeds 0:4 --out results/b8

Each script rewrites every figure and JSON file next to itself. Each showcase also has a CI-visible correctness gate under examples/tests/ that runs in about a second on numpy alone — the physics is checked on every commit even though the full runs are manual.

Source: examples/README.md.