Product
Plaquette
Design automation software for fault tolerant quantum computing.
What is Plaquette
Plaquette is a powerful and flexible fault-tolerant quantum computing (FTQC) simulation software suite, available as a Python package. Plaquette enables addressing the impact of arbitrary hardware imperfections on fault-tolerance architectures involving hundreds or thousands of qubits.
Plaquette covers the full workflow from code definition to noise modeling, circuit generation, simulation, decoding, and analysis, end to end, as one integrated package rather than a collection of separate tools you’d need to assemble yourself.
To date, it supports circuit-based (CBQC), measurement-based (MBQC), and fusion-based (FBQC) quantum computing, and includes hardware-specific noise models for major qubit platforms. New codes, circuits, hardware models, and decoders are added regularly.
Who uses Plaquette and why
Plaquette is built to work across all hardware platforms and code families. A few illustrations:
- A hardware team simulates qubits leaking out of the computational subspace during gate pulses, tests whether adding leakage reduction units restores fault-tolerance performance, and gets a number before committing to hardware changes.
- A research team building a new qLDPC code uses the custom code API to define their construction, then uses the near-Clifford sampler to characterize performance under coherent errors that Pauli-only simulators can’t capture.
- A company preparing a fault-tolerance roadmap runs qubit overhead calculations across surface and qLDPC code families to put defensible numbers behind architectural decisions.
If you’re building or simulating fault tolerant quantum computers, Plaquette almost certainly fits your use case. But if you’re not sure, get in touch and we can confirm.
What you can do with Plaquette
Define your problem
Plaquette includes built-in implementations of the most common QEC codes: planar and rotated surface codes (including XZZX variants), repetition code, color code, Steane code, Shor code, Bacon-Shor code, subsystem surface code, and qLDPC codes (hypergraph product, bivariate bicycle, generalized bicycle). New codes that are published in the literature are added regularly. For anything not yet implemented, you can define a custom stabilizer code with full control over its structure: logical operators, stabilizers, gate schedules, and measurement circuits.
Circuits are auto-generated from code definitions for standard use cases. Plaquette comes with methods to generate good circuits from these code definitions. You can also bring your own circuits, which matters when you’re modeling a specific pulse sequence or a non-standard syndrome extraction protocol.
Noise modeling covers arbitrary hardware imperfections including single-qubit Pauli errors, gate-level noise, leakage to higher energy levels, and environment-dependent errors. Defining a custom error model is straightforward: bring whatever noise characterization you already have (e.g. measured gate fidelities, Kraus operators, process matrices, or Pauli error rates) and Plaquette handles the rest, without having to express your noise as depolarizing noise first, or write separate model definitions for each sampler.
Simulate and decode
The sampler and decoder are choices you make together depending on what you’re trying to learn and how much compute you want to spend.
Four samplers are available:
- Stim — exact simulation for Clifford/Pauli error models, very fast, built on Google’s Stim. The right default for threshold plots under Pauli noise.
- XPauli — extends Clifford-style simulation to systems with leakage and multi-level (qudit) dynamics. Also addresses ancillary motional modes or valley degrees of freedom impacting qubits. Moderate speed.
- Near-Clifford — handles coherent errors such as over-rotations as well as other non-Clifford operations like T gates exactly, at higher computational cost. Relevant when your noise isn’t well-approximated by Pauli channels or when you’re looking to study magic state protocols.
- Full-state — full state vector or density matrix simulation, with CPU and NVIDIA GPU backends. Slow for larger systems; useful for exact small-scale analysis or validating other samplers.
Eight decoders are available: PyMatching, FusionBlossom, Chromobius, ConcatMWPM, BPOSD, BPLSD, Relay, and Tesseract, with more added regularly. You can run the same simulation with different decoders without restructuring anything. You can also run with mismatched noise models (one model for simulation, a different one for decoding) which is useful for studying the impact of imperfect characterization.
Get to results
Once your code and error model are defined, running a threshold sweep is a single function call. Plaquette handles error insertion, sampling, decoding, and logical error rate calculation automatically. Simulations are parallelized across available CPU cores by default, requiring no configuration for parameter sweeps over code sizes and error rates.
Results save to file and can be reloaded and replotted without rerunning simulations. Threshold plots are produced via matplotlib and drop directly into existing notebooks and reports. Code visualization uses an interactive backend with options for gate schedule display and plaquette highlighting.
Get started
If you’re building or scaling quantum hardware, get in touch to discuss licensing or book a demo.
Not ready yet? Join our practitioners mailing list to be notified when we release new features or publish technical content.
To see how Plaquette fits into a hardware design workflow, check out How Plaquette Works In Practice.