wai/quantum-cross-simulator/ runs the engine beside pinned third-party simulators on a published set of circuits and holds every answer to an exact reference within a tolerance derived from the arithmetic that produced it. The corpus (tools/corpus.py, corpus/manifest.json with each circuit's SHA-256): bit order, GHZ, QFT, Grover, phase estimation, random Clifford+T, dyadic and arbitrary-angle circuits, mirror circuits, angles at and below the fixed-point table's resolution, every gate of OpenQASM 3's standard library, measurement in the middle with reset and feedback, stabilizer circuits to 5000 qubits, noise in closed form, wide circuits by matrix product states and contraction, and error-correction memory experiments to distance 15. The references (tools/exact.py, standard library only): a state vector in integers at scale 2^-256, exact distributions by walking every branch of a dynamic program, and an integer stabilizer tableau with the reduced form of a group. The bit-exact method's op-log is rerun by the existing referee and must give the same integers and hash. The tolerances (tools/tolerance.py): the bit-exact method's from the extension's published bound summed over the op-log it ran; floating point from a stated per-gate rounding model at each engine's fusion width; sampled counts by Bernstein's inequality at a family-wise rate of 1e-6. None is fitted to a result. reproduce.sh fetches a pinned uv, CPython and every wheel by hash, builds the engine with --locked, runs every check and prints PASS or FAIL. --self-test injects six faults and passes only when each fails the run on its own check. --perf measures run time and peak memory per engine. provider/seeded_statevector_provider.py wraps a third-party simulator as a process provider of wai.quantum.provider/1; provider/test.sh holds it to the protocol's conformance vectors through `providers test`, runs it with `run --provider` and verifies the receipt. wai-quantum-cli/examples/cross_simulator.rs is the engine's side: one job in, one answer out, through the calls the command line and the job service make. CI: the Linux leg of wai-quantum-cli.yml runs the CI tier, the self-test, the provider template and the check that the page's results section is what the committed results say. Co-Authored-By: Claude Fable 5.1 <[email protected]>
11 lines
378 B
Text
11 lines
378 B
Text
# The pinned engines the corpus compares against, and what they need. Every one publishes
|
|
# wheels for macOS on arm64 and Linux on x86_64; not all do for other platforms (stim for
|
|
# Linux on arm64, llvmlite, which quimb needs, for macOS on x86_64).
|
|
stim==1.16.0
|
|
qiskit==2.6.2
|
|
qiskit-aer==0.18.2
|
|
quimb==1.15.0
|
|
mqt.ddsim==2.7.0
|
|
qsimcirq==0.22.1
|
|
cirq-core==1.7.0
|
|
opt-einsum==3.4.0
|