Qiskit noise learning
A Python toolkit for randomization-based quantum noise characterization.
Alpha software. This library is in the 0.x stage of development and under active development. No part of the public interface is yet stable: while the major version is 0, expect breaking changes between releases and pin your dependency accordingly (for example, qiskit-noise-learning==0.1.*). We do not currently issue deprecation warnings, but all changes are recorded in the release notes. See the deprecation policy for details. All feedback is appreciated.
Interfaces and Documentation
This library has two levels of interface. The first is the low-level interface where the user directly interacts with objects representing core concepts in noise learning, enabling custom design of every aspect of a noise learning protocol. The second is a higher-level interface, the qiskit_noise_learning.protocols subpackage, which holds one pair of functions per protocol – prepare_vanilla_program and process_vanilla_result for the standard “vanilla” protocol – each pair wrapping a stock workflow into a single call on either side of execution.
See the following guides for examples on how to use this package:
- Learn the noise model of a gate — end-to-end use of the protocol functions
- Build a learning experiment — step-by-step walkthrough of the internal pipeline
Contributing
See the contribution guidelines for details on developer setup, testing, building the documentation, and the release notes workflow.
Citing this package
If you use this package in your research, use the CITATION.bib file in this project’s repository to cite the appropriate reference(s).