Repository navigation
2.0.0 — parity with every other QEC tool, and Clifford+T under coherent noise
The Python package and the Rust crate both at 2.0.0.
Parity with the other QEC tools, and one thing none of them has. The features of
twenty-five other QEC tools — Stim, PyMatching, sinter, ldpc, Tsim, tqec, Loom, Deltakit, PECOS,
PanQEC, QUITS, qLDPC, qecsim, MQT QECC, Chromobius, Tesseract, Relay-BP, beliefmatching,
Fusion Blossom, MWPF, CUDA-Q QEC, qsample, qec-util, Qualtran's and Azure's resource estimators
— under the names those tools use, each port checked against its original (the inventory in
docs/superpowers/notes/2026-10-09-parity-inventory.md says what is here and what is not); and
Clifford+T circuits with a coherent error on every gate, sampled at sizes no state vector
reaches.
- Stim's objects and text.
str(circuit)is Stim's text exactly, instructions fuse as Stim
fuses them,Circuit.generated, diagrams character for character, any number of observables,
Crumble URLs,gate_data, the reference sample as Stim's. - PyMatching's graph API on the matcher; sinter whole without Stim; qec-util's and
deltakit's analysis (Λ fits, p_ij, error budgets); subset sampling (qsample). - Decoders. ldpc whole (BP, BP+OSD, BP+LSD, union-find, belief-find, flip), bit for bit;
Relay-BP, Tesseract, Chromobius, qLDPC, CUDA-Q QEC's decoders, MQT QECC, qecsim, bposd,
Fusion Blossom and MWPF ports; the clustering decoders; a CNN pre-decoder; every decoder of a
detector error model withdecode_async. - Codes and code tools. PECOS, PanQEC and QUITS whole; Deltakit whole on Deltakit's Stim;
tqec's block graphs and Loom's lattice surgery, compiled through this package's surgery
engine; QuantumClifford's canonical forms and entropies. - Noise and hardware. Density matrices and process matrices, amplitude and phase damping,
Quantumsim's perturbative expansion, leakage with heralds, Deltakit's leakage model exactly. - Clifford+T. A stabilizer-rank sampler for T gates and rotations at any qubit count
(checked against the state vector and against Tsim), Tsim's circuit surface, and the joint
coherent sampler: the non-Clifford gates exact, the coherent errors around them twirled and
reweighted. Magic-state injection and distillation under over-rotation on every gate, where
the twirl under-reads the encoded state's infidelity two to three times and turns a working
distillation into a broken one. - Resource estimates. Qualtran's surface-code model and Azure's Resource Estimator ported,
bit for bit on 100 recorded QDK cases. - Real time and the GPU. Decoding in the background, a decoder queue with latency
statistics, a decoder server over TCP or pipes, CUDA-Q QEC's host API; frame sampling and
min-sum BP on any GPU wgpu drives (Metal, Vulkan, DX12, in every wheel), each bit for bit its
CPU reference's. - The site edits circuits: section 17, Crumble's job in the page, markers propagated to the
detectors they flip, checked against the package and the engine.
Breaking changes (see the CHANGELOG's Changed): str(circuit) and the decoders' defaults
are now Stim's and ldpc's; the reference sample takes every random measurement as 0; Matching
is PyMatching's Matching. Everything deprecated in 1.x is gone.
Two adversarial reviews before tagging (fifteen independent reviews in all, the
CHANGELOG's review paragraph lists every fix): among them the 1.9 coherent sampler's reference
run, which complemented detection events on nondeterministic measurements; a first-order bias
in the joint sampler's truncation; Clifford-angle tagged gates that the frame engines read as
nothing; a lattice-surgery observable that cancelled across two seams; the GPU pacer, the
dropped-dispatch sentinel and the per-word generator; and the estimate port's formula
evaluator, now fasteval's grammar.
Nine tutorials, the technical report's 2.0 section, the API docs with the 2.0 subpackages, and
benchmarks re-recorded with every reference installed.