Simulation suite for erasure noise and postselection as quantum error mitigation.
Project description
erado
Simulation suite for erasure noise and postselection as quantum error mitigation.
ērādō
Latin verb; third conjugation
- to scrape away, pare
- to abolish, eradicate, remove
- 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: coming very soon!
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-cu11package, which is only available on x86_64 Linux. Therefore,qiskit-aer-gpu-cu11will be installed ifsys.platform() == "linux", otherwiseqiskit-aerwill 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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file erado-1.0.0.tar.gz.
File metadata
- Download URL: erado-1.0.0.tar.gz
- Upload date:
- Size: 127.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3644e80309dc0dace4b2d0148fbd3b1a749b3c3fb7bc0296748fab382732cd12
|
|
| MD5 |
13bfd2ca4dc64efb0ea667b99cd1f0ee
|
|
| BLAKE2b-256 |
285114ff5c72c3e4989f1bfed8fb1f473cd83eb361673c4c7675c1a8077578da
|
File details
Details for the file erado-1.0.0-py3-none-any.whl.
File metadata
- Download URL: erado-1.0.0-py3-none-any.whl
- Upload date:
- Size: 23.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: uv/0.10.9 {"installer":{"name":"uv","version":"0.10.9","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
290e702eeee80162040b0ddf40a73fda5f797c0a3e08c2f4b414792e73f345fe
|
|
| MD5 |
1d51a31f7776f54af02be1d5a7e110e6
|
|
| BLAKE2b-256 |
795435ce2d9d89fe4deae5ef2771150836b1b2b1099b06dae78f3bf2f80230d5
|