Skip to main content

Zero Noise Extrapolaion (ZNE) Runtime Estimator for error mitigation.

Project description

Platform Python Qiskit Terra
Tests Coverage Release License


Logo

Zero Noise Extrapolation (ZNE)


Table of contents

  1. About This Project
  2. About Prototypes
  3. Deprecation Policy
  4. Using Quantum Services
  5. Acknowledgements
  6. References
  7. License

For users

  1. Installation
  2. Tutorials
  3. Reference Guide
  4. How-tos
  5. Explanations
  6. How to Give Feedback

For developers

  1. Contribution Guidelines

About This Project

This module builds on top of the Estimator primitive official specification, providing a highly customizable zero noise extrapolation (ZNE) workflow for error mitigation on expectation value calculations. This is achieved by injecting orchestrated ZNE capabilities into an Estimator class of choice in two phases:

  1. Amplifying the noise introduced by the gates of input circuits.
  2. Extrapolating the returned expectation values to the zero noise limit.

In principle, this prototype is compatible with any Estimator class as long as it implements the qiskit.primitives.BaseEstimator interface (e.g. qiskit.primitives.Estimator, qiskit.primitives.BackendEstimator, qiskit_ibm_runtime.Estimator). Notice, however, that error mitigation techniques only make sense in the context of noisy computations; therefore using ZNE on noisless platforms (e.g. simulators), although technically possible, will not produce better results.

Furthermore, the software architecture has been devised specifically to allow users to create their custom noise amplification and extrapolation techniques, and to plug them into the overall ZNE workflow seamlessly. Libraries of pre-implemented strategies for both of these tasks are provided in the module, and external packages can easily be made to work with this tool by providing implementations of well defined interfaces for these tasks.

Before using the module for new work, users should read through the reference guide, specifically the current limitations of the module. Demo tutorials are also available as jupyter notebooks.


About Prototypes

Prototypes is a collaboration between developers and researchers that will give users early access to solutions from cutting-edge research in areas like error mitigation, quantum simulation, and machine learning. These software packages are built on top of, and may eventually be integrated into the Qiskit SDK. They are a contribution as part of the Qiskit community.

Check out our landing page and blog post for more information!


Deprecation Policy

Prototypes are meant to evolve rapidly and, as such, do not follow Qiskit's deprecation policy. We may occasionally make breaking changes in order to improve the user experience. When possible, we will keep old interfaces and mark them as deprecated, as long as they can co-exist with the new ones. Each substantial improvement, breaking change, or deprecation will be documented in CHANGELOG.md.


Using Quantum Services

If you are interested in using quantum services (i.e. using a real quantum computer, not a simulator) you can look at the Qiskit Partners program for partner organizations that have provider packages available for their offerings.

Importantly, Qiskit IBM Runtime is a quantum computing service and programming model that allows users to optimize workloads and efficiently execute them on quantum systems at scale; extending the existing interface in Qiskit with a set of new primitive programs.


Acknowledgements

  • Mario Motta: for scientific insight and guidance.
  • Julien Gacon: for providing a util function that maps gate names to the corresponding gate classes and for general discussions.

References

[1] Kandala, Abhinav, et al. "Extending the computational reach of a noisy superconducting quantum processor."arXiv preprint arXiv:1805.04492(2018).

[2] Stamatopoulos, Nikitas, et al. "Option pricing using quantum computers."Quantum4 (2020): 291.

[3] LaRose, Ryan, et al. "Mitiq: A software package for error mitigation on noisy quantum computers."arXiv preprintarXiv:2009.04417(2020).

[4] Kim, Youngseok, et al. "Scalable error mitigation for noisy quantum circuits produces competitive expectation values."arXiv preprint arXiv:2108.09197(2021).


License

Apache License 2.0

Project details


Download files

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

Source Distribution

prototype-zne-1.0.0b1.tar.gz (5.5 MB view details)

Uploaded Source

Built Distribution

prototype_zne-1.0.0b1-py3-none-any.whl (47.1 kB view details)

Uploaded Python 3

File details

Details for the file prototype-zne-1.0.0b1.tar.gz.

File metadata

  • Download URL: prototype-zne-1.0.0b1.tar.gz
  • Upload date:
  • Size: 5.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: python-requests/2.28.1

File hashes

Hashes for prototype-zne-1.0.0b1.tar.gz
Algorithm Hash digest
SHA256 98e03c71abbbee6908ade9a9f3dad1671490b936670c406a5b2a2848c222132b
MD5 4972b0dbaf757982d382dd72f23bfd9c
BLAKE2b-256 0f6c84bcbb6c3c281948c033a29fde19601f3e5b7dee0296f3dc37285be536bc

See more details on using hashes here.

File details

Details for the file prototype_zne-1.0.0b1-py3-none-any.whl.

File metadata

File hashes

Hashes for prototype_zne-1.0.0b1-py3-none-any.whl
Algorithm Hash digest
SHA256 4a4f402daf8c3685d6297a6f3af6378544b01bddf7389e7a3d6d285ffe488154
MD5 7233c0391d117f8d62fac385adefae03
BLAKE2b-256 af55322ca976fdfdcd7489c2ec3b908e5da35551d216bbd657e8b80c10242d32

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page