NoisyCircuits
Create and simulate noisy quantum circuits using IBM (Heron R.X / Eagle R.X) calibration data. NoisyCircuits implements the Monte-Carlo Wave Function (MCWF) method for efficient statevector simulation under realistic noise. The package implements the quantum circuit mapping according to the “Big-Endian” convention, where the first qubit in the list of qubits corresponds to the least significant bit (LSB) in the statevector representation. For example, in a 3-qubit system, the state \(|q_0 q_1 q_2\rangle\) corresponds to the statevector index where \(q_2\) is the LSB and \(q_0\) is the most significant bit (MSB).
Overview
NoisyCircuits helps you quickly:
Simulate realistic noise: Build error models from IBM QPU calibration data.
Run fast statevector sims: Use MCWF to simulate noisy dynamics efficiently.
Compare algorithms: Evaluate ideal vs. noisy performance side by side.
Validate designs: Test robustness under hardware-like conditions.
Installation
Prerequisites
A conda-style environment manager: Miniconda, Anaconda, or Micromamba.
An IBM Quantum (IBMQ) account + API token (optional but recommended, only needed to pull live hardware data or submit jobs to real devices). Sample Noise models are provided for testing without an IBMQ account.
Steps
Clone the repository:
git clone https://github.com/Sats2/NoisyCircuits.git
Change into the project directory:
cd NoisyCircuits
Create the Python environment from
environment.yml(replacecondawith your manager if needed):conda env create -f environment.yml
Activate the environment:
conda activate NoisyCircuits
Install the package:
pip install .
Note
A PyPI release is planned; installation instructions will be updated when available.
Citing NoisyCircuits
If you use NoisyCircuits in your research, please cite the software as follows:
@software{NoisyCircuits2025,
author = {Hegde, Sathyamurthy},
title = {NoisyCircuits},
year = {2025},
url = {https://github.com/Sats2/NoisyCircuits},
version = {1.3.0},
}
Project Status
NoisyCircuits is in active development. New features and improvements are regularly added. Please check the GitHub repository for the latest updates.
Getting Help
Issues: Report bugs and request features at GitHub Issues. Include clear steps to reproduce for bugs and label feature requests appropriately. Typical triage and response occurs within 1–2 weeks.
Discussions: Ask questions and share ideas in GitHub Discussions.