Skip to main content

erado

Simulation suite for erasure noise and postselection as quantum error mitigation.

build pre-commit PyPI - Version docs GitHub License

ērādō
Latin verb; third conjugation

  1. to scrape away, pare
  2. to abolish, eradicate, remove
  3. to erase, delete

Overview

erado is OQC's Qiskit-based Python library for the simulation of circuit-level erasure noise and postselection, with arbitrary quantum circuits.

For a conceptual introduction, usage instructions and API reference, please see the library documentation.

For theoretical background and numerical details, see our corresponding paper: 'The limits of erasure-based postselection for quantum error mitigation,' 2026, arXiv:2606.31428 [quant-ph], by Sam J. Griffiths, Jamie Friel and Brian Vlastakis.

If using or referencing this work, please cite the paper as follows (BibLaTeX):

@online{griffithsLimitsErasurebasedPostselection2026,
  title = {The Limits of Erasure-Based Postselection for Quantum Error Mitigation},
  author = {Griffiths, Sam J. and Friel, Jamie and Vlastakis, Brian},
  date = {2026-06-30},
  eprint = {2606.31428},
  eprinttype = {arXiv},
  eprintclass = {quant-ph},
  doi = {10.48550/arXiv.2606.31428},
  url = {https://arxiv.org/abs/2606.31428},
  pubstate = {prepublished}
}

Installation

Published package

The erado Python package is published to PyPI (https://pypi.org/project/erado), so you can install it easily via pip (or any similar package manager), e.g.:

pip install erado

or add it as a dependency in your pyproject.toml file (automatically or manually) if using a package manager such as uv or Poetry, e.g.:

uv add erado

⚠️ NOTE:

GPU capabilities are provided by the qiskit-aer-gpu-cu11 package, which is only available on x86_64 Linux. Therefore, qiskit-aer-gpu-cu11 will be installed if sys.platform() == "linux", otherwise qiskit-aer will be installed (i.e. if on Windows etc.).

From source (uv)

This package uses uv for Python project management. For more information on installation from source and development/testing utilities, please see our contribution guidelines.

Example usage

A motivating example for a simulation running a Qiskit circuit with erasure noise, imperfect erasure checks and postselection (including per-shot circuit fidelity) is as follows:

from erado import (
    circuits,
    models,
    fidelity,
    frontend,
)

import qiskit_aer


n_qubits = 5
circuit = circuits.qft_linear(n_qubits)
circuit.save_statevector(label=fidelity.STATE_LABEL, pershot=True)
circuit.measure_all()

erasure_model = models.ErasureCircuitSampler(
    circuit=circuit,
    erasure_rate=0.01,
)

backend = qiskit_aer.AerSimulator(method="statevector")

sim_frontend = frontend.ErasureSimFrontend(
    model=erasure_model,
    false_positive_rate=0.005,
    false_negative_rate=0.010,
)

results = sim_frontend.run(
    backend=backend,
    shots=1000,
    postselect=True,
    get_fidelities=True,
)

For a more detailed introduction as to how and why to use this library, see our 'Getting Started' page.

Acknowledgements

This work was supported by the Innovate UK Quantum Missions pilot competition 10148061 DECIDE: Dimon error correction integrated into a data-centre environment.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

erado-1.1.1.tar.gz (175.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

erado-1.1.1-py3-none-any.whl (24.8 kB view details)

Uploaded Python 3

File details

Details for the file erado-1.1.1.tar.gz.

File metadata

  • Download URL: erado-1.1.1.tar.gz
  • Upload date:
  • Size: 175.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for erado-1.1.1.tar.gz
Algorithm Hash digest
SHA256 f4b82916244b27f335b1d3a223addc0a153fb1d73df667901c72a66e82c12054
MD5 1b152bf59812bd809f18a9f2c589bf11
BLAKE2b-256 5cfecfdd8056a553bd6a2ae80ac614ec61533b0b90a5e24f2c974758d3e5189f

See more details on using hashes here.

File details

Details for the file erado-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: erado-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for erado-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 fcfe9e8aeba642c916a200ca93bf7b1276526dc163d0d39f66da94fcef3e2a52
MD5 40fb0c9e413cf8beae883cd0d60f67a2
BLAKE2b-256 7720e0da88c48727831e7a48927768fe970197c6f414579af9144100ef4282a2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page