qrem


Nameqrem JSON
Version 0.2.0 PyPI version JSON
download
home_page
SummaryQREM package provides a versatile set of tools for the characterization and mitigation of readout noise in NISQ quantum devices.
upload_time2024-01-20 15:53:52
maintainer
docs_urlNone
author
requires_python>=3.8
license
keywords quantum nisq quantum-devices quantum-physics physics sdk qiskit
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # QREM - Quantum Readout Errors Mitigation

This package provides a versatile set of tools for the characterization and mitigation of readout noise in NISQ devices. Standard characterization approaches become infeasible with the growing size of a device, since the number of circuits required to perform tomographic reconstruction of a measurement process grows exponentially in the number of qubits. In QREM  we use efficient techniques that circumvent those problems by focusing on reconstructing local properties of the readout noise.

You can find article based on initial version of this package [here - http://arxiv.org/abs/2311.10661](http://arxiv.org/abs/2311.10661) and the corresponding code used at the moment of writning the article [here](https://github.com/cft-nisq/qrem/tree/article-eff).

<img src="http://quantin.pl/wp-content/uploads/2023/03/washington_26_04_2022_worst_case_classical_threshold_2.png"
  alt="Plot of correlation coefficients determined in characterization on device layout"
  title="Plot of correlation coefficients determined in characterization on device layout"
  style="display: inline-block
  margin: 0 auto
  max-width: 400px"/>

## Status of development

This package is released now as an alpha version, to gather feedback while it undergoes final adjustments prior to the first release. As it is under heavy development, existing functionalities might change, while new functionalities and notebooks are expected to be added in the future.

## Documentation

Current documentation (work in progress) is available [here](https://cft-nisq.github.io/qrem/index.html)

## Introduction

The two current main functionalities are:

### **Noise characterization**

* experiment design
* hardware experiment implementation and data processing (on devices supported by qiskit/pyquil)
* readout noise characterisation
* learning of noise models

### **Noise mitigation**

* mitigation based on noise model provided by user ( currently available is CN, CTMP is under development)

## Installation

The best way to install this package is to use pip (see [pypi website](https://pypi.org/project/qrem/)):

```console
pip install qrem
```

This method will automatically install all required dependecies (see [below for list of dependecies](#dependencies)).

## Dependencies

For **qrem** package to work properly, the following libraries should be present (and will install if you install via pip):

* "numpy >= 1.18.0, < 1.24",
* "scipy >= 1.7.0",
* "tqdm >= 4.46.0",
* "colorama >= 0.4.3",
* "qiskit >= 0.39.4",
* "networkx >= 0.12.0, < 3.0",
* "pandas >= 1.5.0",
* "picos >= 2.4.0",
* "qiskit-braket-provider >= 0.0.3",
* "qutip >= 4.7.1",
* "matplotlib >= 3.6.0",
* "seaborn >= 0.12.0",
* "sympy >= 1.11.0",
* "pyquil >= 3.0.0",
* "pyquil-for-azure-quantum",
* "ipykernel >= 6.1.0",
* "configargparse >= 1.5.0",
* "python-dotenv >= 1.0.0",

## Optional dependencies

Dependecies for visualizations:

* "manim >= 0.17.2"
  
## References

**The workflow of this package is mainly based on works**:
  
[1] Filip B. Maciejewski, Zoltán Zimborás, Michał Oszmaniec, "Mitigation of readout noise in near-term quantum devices by classical post-processing based on detector tomography", [Quantum 4, 257 (2020)](https://quantum-journal.org/papers/q-2020-04-24-257/)

[2] Filip B. Maciejewski, Flavio Baccari, Zoltán Zimborás, Michał Oszmaniec, "Modeling and mitigation of cross-talk effects in readout noise with applications to the Quantum Approximate Optimization Algorithm", [Quantum 5, 464 (2021)](https://quantum-journal.org/papers/q-2021-06-01-464/)

**Further references:**

[3]. Sergey Bravyi, Sarah Sheldon, Abhinav Kandala, David C. Mckay, Jay M. Gambetta, Mitigating measurement errors in multi-qubit experiments, [Phys. Rev. A 103, 042605 (2021)](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.103.042605)
  
[4]. Flavio Baccari, Christian Gogolin, Peter Wittek, and Antonio Acín, Verifying the output of quantum optimizers with ground-state energy lower bounds, [Phys. Rev. Research 2, 043163 (2020)](https://journals.aps.org/prresearch/abstract/10.1103/PhysRevResearch.2.043163)

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "qrem",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Micha\u0142 Oszmaniec <oszmaniec@cft.edu.pl>",
    "keywords": "quantum,nisq,quantum-devices,quantum-physics,physics,sdk,qiskit",
    "author": "",
    "author_email": "\"Jan Tuziemski, Filip Maciejewski, Joanna Majsak, Oskar S\u0142owik, Marcin Kotowski, Katarzyna Kowalczyk-Murynka, Pawe\u0142 Przew\u0142ocki, Piotr Podziemski, Micha\u0142 Oszmaniec\" <oszmaniec@cft.edu.pl>",
    "download_url": "https://files.pythonhosted.org/packages/3a/64/ecabb3ba26264daae57f8b242d33b8331a6aad800ace283759711ae73945/qrem-0.2.0.tar.gz",
    "platform": null,
    "description": "# QREM - Quantum Readout Errors Mitigation\r\n\r\nThis package provides a versatile set of tools for the characterization and mitigation of readout noise in NISQ devices. Standard characterization approaches become infeasible with the growing size of a device, since the number of circuits required to perform tomographic reconstruction of a measurement process grows exponentially in the number of qubits. In QREM  we use efficient techniques that circumvent those problems by focusing on reconstructing local properties of the readout noise.\r\n\r\nYou can find article based on initial version of this package [here - http://arxiv.org/abs/2311.10661](http://arxiv.org/abs/2311.10661) and the corresponding code used at the moment of writning the article [here](https://github.com/cft-nisq/qrem/tree/article-eff).\r\n\r\n<img src=\"http://quantin.pl/wp-content/uploads/2023/03/washington_26_04_2022_worst_case_classical_threshold_2.png\"\r\n  alt=\"Plot of correlation coefficients determined in characterization on device layout\"\r\n  title=\"Plot of correlation coefficients determined in characterization on device layout\"\r\n  style=\"display: inline-block\r\n  margin: 0 auto\r\n  max-width: 400px\"/>\r\n\r\n## Status of development\r\n\r\nThis package is released now as an alpha version, to gather feedback while it undergoes final adjustments prior to the first release. As it is under heavy development, existing functionalities might change, while new functionalities and notebooks are expected to be added in the future.\r\n\r\n## Documentation\r\n\r\nCurrent documentation (work in progress) is available [here](https://cft-nisq.github.io/qrem/index.html)\r\n\r\n## Introduction\r\n\r\nThe two current main functionalities are:\r\n\r\n### **Noise characterization**\r\n\r\n* experiment design\r\n* hardware experiment implementation and data processing (on devices supported by qiskit/pyquil)\r\n* readout noise characterisation\r\n* learning of noise models\r\n\r\n### **Noise mitigation**\r\n\r\n* mitigation based on noise model provided by user ( currently available is CN, CTMP is under development)\r\n\r\n## Installation\r\n\r\nThe best way to install this package is to use pip (see [pypi website](https://pypi.org/project/qrem/)):\r\n\r\n```console\r\npip install qrem\r\n```\r\n\r\nThis method will automatically install all required dependecies (see [below for list of dependecies](#dependencies)).\r\n\r\n## Dependencies\r\n\r\nFor **qrem** package to work properly, the following libraries should be present (and will install if you install via pip):\r\n\r\n* \"numpy >= 1.18.0, < 1.24\",\r\n* \"scipy >= 1.7.0\",\r\n* \"tqdm >= 4.46.0\",\r\n* \"colorama >= 0.4.3\",\r\n* \"qiskit >= 0.39.4\",\r\n* \"networkx >= 0.12.0, < 3.0\",\r\n* \"pandas >= 1.5.0\",\r\n* \"picos >= 2.4.0\",\r\n* \"qiskit-braket-provider >= 0.0.3\",\r\n* \"qutip >= 4.7.1\",\r\n* \"matplotlib >= 3.6.0\",\r\n* \"seaborn >= 0.12.0\",\r\n* \"sympy >= 1.11.0\",\r\n* \"pyquil >= 3.0.0\",\r\n* \"pyquil-for-azure-quantum\",\r\n* \"ipykernel >= 6.1.0\",\r\n* \"configargparse >= 1.5.0\",\r\n* \"python-dotenv >= 1.0.0\",\r\n\r\n## Optional dependencies\r\n\r\nDependecies for visualizations:\r\n\r\n* \"manim >= 0.17.2\"\r\n  \r\n## References\r\n\r\n**The workflow of this package is mainly based on works**:\r\n  \r\n[1] Filip B. Maciejewski, Zolt\u00e1n Zimbor\u00e1s, Micha\u0142 Oszmaniec, \"Mitigation of readout noise in near-term quantum devices by classical post-processing based on detector tomography\", [Quantum 4, 257 (2020)](https://quantum-journal.org/papers/q-2020-04-24-257/)\r\n\r\n[2] Filip B. Maciejewski, Flavio Baccari, Zolt\u00e1n Zimbor\u00e1s, Micha\u0142 Oszmaniec, \"Modeling and mitigation of cross-talk effects in readout noise with applications to the Quantum Approximate Optimization Algorithm\", [Quantum 5, 464 (2021)](https://quantum-journal.org/papers/q-2021-06-01-464/)\r\n\r\n**Further references:**\r\n\r\n[3]. Sergey Bravyi, Sarah Sheldon, Abhinav Kandala, David C. Mckay, Jay M. Gambetta, Mitigating measurement errors in multi-qubit experiments, [Phys. Rev. A 103, 042605 (2021)](https://journals.aps.org/pra/abstract/10.1103/PhysRevA.103.042605)\r\n  \r\n[4]. Flavio Baccari, Christian Gogolin, Peter Wittek, and Antonio Ac\u00edn, Verifying the output of quantum optimizers with ground-state energy lower bounds, [Phys. Rev. Research 2, 043163 (2020)](https://journals.aps.org/prresearch/abstract/10.1103/PhysRevResearch.2.043163)\r\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "QREM package provides a versatile set of tools for the characterization and mitigation of readout noise in NISQ quantum devices.",
    "version": "0.2.0",
    "project_urls": {
        "Article": "http://arxiv.org/abs/2311.10661",
        "Documentation": "https://cft-nisq.github.io/qrem/index.html",
        "GitHub": "https://github.com/cft-nisq/qrem",
        "Homepage": "https://github.com/cft-nisq/qrem"
    },
    "split_keywords": [
        "quantum",
        "nisq",
        "quantum-devices",
        "quantum-physics",
        "physics",
        "sdk",
        "qiskit"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1dadcaf0c7063277d5e830cd5ae469729fc6c281d5034ed28e5d2aae14d540fd",
                "md5": "e54b79b37e7861d08a94816f14f269d4",
                "sha256": "3efe8238e565ba43cae4115d6781ea3872b7d2ca27cc7767f836c0f93d195734"
            },
            "downloads": -1,
            "filename": "qrem-0.2.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "e54b79b37e7861d08a94816f14f269d4",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 286154,
            "upload_time": "2024-01-20T15:53:50",
            "upload_time_iso_8601": "2024-01-20T15:53:50.009534Z",
            "url": "https://files.pythonhosted.org/packages/1d/ad/caf0c7063277d5e830cd5ae469729fc6c281d5034ed28e5d2aae14d540fd/qrem-0.2.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3a64ecabb3ba26264daae57f8b242d33b8331a6aad800ace283759711ae73945",
                "md5": "2a4fcd66e14d9f19f7fd744e59f1fccf",
                "sha256": "30c4a7749ac4212b55f2b575a7bfe4a5bb408bb048c769949f3d85f4f73dff2f"
            },
            "downloads": -1,
            "filename": "qrem-0.2.0.tar.gz",
            "has_sig": false,
            "md5_digest": "2a4fcd66e14d9f19f7fd744e59f1fccf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 242315,
            "upload_time": "2024-01-20T15:53:52",
            "upload_time_iso_8601": "2024-01-20T15:53:52.137687Z",
            "url": "https://files.pythonhosted.org/packages/3a/64/ecabb3ba26264daae57f8b242d33b8331a6aad800ace283759711ae73945/qrem-0.2.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-01-20 15:53:52",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "cft-nisq",
    "github_project": "qrem",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "qrem"
}
        
Elapsed time: 0.21735s