Skip to content

IBM-Quantum-Technical-Enablement/quantum-enablement

Repository files navigation

Platform Python Qiskit
Tests Coverage Release DOI License


Logo

Quantum Enablement

Table of contents

  1. About the Team
  2. Installation
  3. Documentation
  4. Deprecation Policy
  5. Contributing
  6. Authors and Citation
  7. Acknowledgements
  8. References
  9. License

About the Team

IBM's Quantum Engineering and Enabling Technologies (QEET) team is meant to help enable quantum computing practitioners to get better results from quantum hardware, and to identify critical tooling which will help improve such end-user's workflows.

This team's mission is realized under three main threads:

  1. Tutorials and demonstrations -- To highlight particular Qiskit features and their measured benefits around two key areas:
    • Capabilities to improve hardware results. This will typically focus on steps 2 and 4 of the Qiskit Pattern steps.
    • Applications to drive user engagement with systems. This will typically focus on steps 1 and 4 of the Qiskit Pattern steps.
  2. Prototype research and development -- Consisting on the evaluation and validation of promising research results or methods leading to software tools and content creation. When Qiskit does not provide the needed functionality or performance, we will assemble and maintain Quantum Software Prototypes while integration into the production stack is evaluated or completed. These will provide early access to solutions from cutting-edge research.
  3. Workshops and Residency Program -- The above content will either be shared broadly through IBM's Quantum Learning Platform, workshops, or the Quantum Residency Program for Quantum Computational Centers.

This repository acts as a central installable library for all of the team's assets. See our issues list for a proposed list of prototypes and tutorials yet to be made.

Qiskit Pattern

All content will adhere to the following structure:

  1. Quantum Encoding -- Translating the target problem to a quantum native format is the critical first step in developing a quantum workflow. To this end, the team will focus on application agnostic methods that can be tested against arbitrary workflows.
  2. Circuit and Measurement Optimization -- Once a given problem has been translated to the desired quantum native format, the resulting circuit and required measurements can usually be optimized in a variety of ways to ensure best performance.
  3. Execute on Quantum Hardware -- Once a given problem is quantum encoded and optimized, users execute it on a quantum backend. We will highlight how to do so through the Qiskit Runtime Primitives whenever possible.
  4. Post Process Results -- Once results are executed on quantum hardware a user needs to post-process the results in order to translate into the desired solution. This process can either be related to step 1 (e.g. selecting a given bitstring for many optimization problems) or step 2 (e.g. knitting results together from a cut circuit).

Installation

The latest version of this software library can be easily installed, alongside all required dependencies, via pip:

pip install quantum-enablement@git+https://github.com/IBM-Quantum-Technical-Enablement/quantum-enablement

For more detailed information and alternative installation options see the installation guide.

Documentation

  • This project includes a quick reference guide to get started with.
  • Complete documentation can be found in the code docstrings.
  • Check out the file map for more information on the structure of this repository.

Deprecation Policy

  • This software library is meant to evolve rapidly and, as such, follows its own deprecation policy different from Qiskit's.
  • Each substantial improvement, breaking change, or deprecation occurring for each release will be documented in CHANGELOG.md.
  • To avoid dependency issues, exact version specification is encouraged if no upcoming updates are needed (e.g. version pinning).

Contributing

Authors and Citation

This project is the work of many people who contribute at different levels. Please cite as per the included BibTeX file.

Acknowledgements

  • Pedro Rivero: for the development of pyproject-qiskit, an open-source template repository for Qiskit-based software projects.
  • Paul Nation: for his pioneering work, technical insight, and guidance.

References

[1] Qiskit: An Open-source Framework for Quantum Computing

License

Apache License 2.0