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.

Diagram of the Plaquette workflow: a QEC code and noiseless circuit combine with an error model to produce a noisy circuit, which feeds into logical performance analysis showing threshold plots across error types.

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.

Diagram showing Plaquette automatically generating a QEC noiseless circuit from a QEC code definition, illustrated with a surface code and a color code as inputs and a gate-level circuit as output.

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.

Two examples of noisy QEC circuits: idling errors shown as error operators appearing between gates at a specific tick, and two-qubit gate errors shown as error operators on both qubits immediately following a two-qubit gate.

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.
Chart titled 'Selecting a Simulator' mapping Plaquette's four samplers against the errors they support and their speed-accuracy tradeoff. Stim handles bit flips, erasures, and readout errors at the highest speed. XPauli adds leakage, heating, state-dependent, and correlated errors. Near-Clifford adds overrotation and T-state simulations. Full-state CPU and GPU handle all error types at the highest accuracy.

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.

Two Plaquette output charts: a threshold plot showing logical error rate vs hardware imperfection across code sizes 3, 5, and 7 with the threshold marked at approximately 0.06, and a bar chart showing fault tolerance thresholds for bit flip, dephasing, leakage, and erasure error types.

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.