What is Stim?
mainStim is a high-performance simulator and analysis tool for quantum stabilizer circuits, specifically designed for quantum error correction (QEC).
Key Features
- Fast Simulation: Uses
stim.Circuit.compile_sampler()to produce objects capable of sampling shots at kilohertz rates after an initial analysis. - Decoder Configuration:
stim.Circuit.detector_error_model()converts noisy circuits into a detector error model (Tanner graph) for configuring decoders. Usingdecompose_operations=Truehelps decompose hyper errors into graphlike errors for matching-based decoders. - Stabilizer Building Blocks: Provides utilities like
stim.PauliString,stim.Tableau, andstim.TableauSimulator.
Limitations
- No non-Clifford gates: Only stabilizer operations are supported (no T gates or Toffoli gates).
- Pauli noise only in
stim.Circuit:stim.Circuitdoes not support non-Pauli noise (like amplitude decay). For complex noise, you must usestim.TableauSimulatormanually. - Feedback constraints:
stim.Circuitonly supports single-control Pauli feedback. Multi-control or non-Pauli feedback requires manual driving of astim.TableauSimulator.