diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index ecd02fa..db4afef 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,7 +32,7 @@ repos: # Handling unwanted unicode characters - repo: https://github.com/sirosen/texthooks - rev: "0.6.6" + rev: "0.6.7" hooks: - id: fix-ligatures - id: fix-smartquotes @@ -56,7 +56,7 @@ repos: types_or: [yaml, markdown, html, css, javascript, json] - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.5.4 + rev: v0.6.1 hooks: - id: ruff args: ["--fix", "--show-fixes"] @@ -78,7 +78,7 @@ repos: - id: nb-clean - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.11.0 + rev: v1.11.1 hooks: - id: mypy files: ^(src|tests|setup.py) diff --git a/README.md b/README.md index bdf3b0a..79fa987 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,18 @@ # MQT ProblemSolver -MQT ProblemSolver is a framework to utilize quantum computing as a technology for users with little to no +This repository covers the implementations of multiple research papers in the domain of quantum computing: + +1. [Towards an Automated Framework for Realizing Quantum Computing Solutions](#towards-an-automated-framework-for-realizing-quantum-computing-solutions) +2. [A Hybrid Classical Quantum Computing Approach to the Satellite Mission Planning Problem](#a-hybrid-classical-quantum-computing-approach-to-the-satellite-mission-planning-problem) +3. [Reducing the Compilation Time of Quantum Circuits Using Pre-Compilation on the Gate Level](#reducing-the-compilation-time-of-quantum-circuits-using-pre-compilation-on-the-gate-level) +4. [Utilizing Resource Estimation for the Development of Quantum Computing Applications](#utilizing-resource-estimation-for-the-development-of-quantum-computing-applications) + +In the following, each implementation is briefly introduced. + +# Towards an Automated Framework for Realizing Quantum Computing Solutions + +MQT ProblemSolver provides a framework to utilize quantum computing as a technology for users with little to no quantum computing knowledge that is part of the Munich Quantum Toolkit (MQT) developed by the [Chair for Design Automation](https://www.cda.cit.tum.de/) at the [Technical University of Munich](https://www.tum.de/). All necessary quantum parts are embedded by domain experts while the interfaces provided are similar to the ones classical solver provide: @@ -53,7 +64,7 @@ Here, the solution to a Travelling Salesman Problem with 4 cities can be solved MQT ProblemSolver will return the shortest path visiting all cities as a list. -## Satellite Mission Planning Problem +# A Hybrid Classical Quantum Computing Approach to the Satellite Mission Planning Problem Additional to the two case studies, we provide a more complex example for the satellite mission planning problem. The goal is to maximize the accumulated values of all images taken by the satellite while it is often not possible @@ -65,7 +76,7 @@ In the following example, there are five to-be-captured locations which their as

-# Pre-Compilation +# Reducing the Compilation Time of Quantum Circuits Using Pre-Compilation on the Gate Level Every quantum computing application must be encoded into a quantum circuit and then compiled for a specific device. This lengthy compilation process is a key bottleneck and intensifies for recurring problems---each of which requires @@ -87,6 +98,25 @@ Once the real problem instance is known, the previously constructed circuit only Following this approach, we provide a pre-compilation module that can be used to precompile QAOA circuits for the MaxCut problem. +# Utilizing Resource Estimation for the Development of Quantum Computing Applications + +Resource estimation is a promising alternative to actually execute quantum circuits on real quantum hardware which is +currently restricted by the number of qubits and the error rates. By estimating the resources needed for a quantum circuit, +the development of quantum computing applications can be accelerated without the need to wait for the availability of +large-enough quantum hardware. + +In `resource_estimation/RE_experiments.py`, we evaluate the resources to calculate the ground state energy of a +Hamiltonian to chemical accuracy of 1 mHartree using the qubitization quantum simulation algorithm. The Hamiltonian +describes the 64 electron and 56 orbital active space of one of the stable intermediates in the ruthenium-catalyzed +carbon fixation cycle + +In this evaluation, we investigate + +- different qubit technologies, +- the impact of the maximal number of T factories, +- different design trade-offs, and +- hypothesis on how quantum hardware might improve and how it affects the required resources. + # Usage MQT ProblemSolver is available via [PyPI](https://pypi.org/project/mqt.problemsolver/): @@ -101,43 +131,49 @@ In case you are using MQT ProblemSolver in your work, we would be thankful if yo ```bibtex @INPROCEEDINGS{quetschlich2023mqtproblemsolver, - title = {{Towards an Automated Framework for Realizing Quantum Computing Solutions}}, - author = {N. Quetschlich and L. Burgholzer and R. Wille}, - booktitle = {International Symposium on Multiple-Valued Logic (ISMVL)}, - year = {2023}, + title = {{Towards an Automated Framework for Realizing Quantum Computing Solutions}}, + author = {N. Quetschlich and L. Burgholzer and R. Wille}, + eprint = {2210.14928}, + archivePrefix = {arXiv}, + year = {2023}, + booktitle = {International Symposium on Multiple-Valued Logic (ISMVL)}, } ``` which is also available on arXiv: [![a](https://img.shields.io/static/v1?label=arXiv&message=2210.14928&color=inactive&style=flat-square)](https://arxiv.org/abs/2210.14928) -In case you are using our Pre-Compilation approach, we would be thankful if you referred to it by citing the following publication: +In case you are using our Satellite Mission Planning Problem approach, we would be thankful if you referred to it by citing the following publication: ```bibtex -@INPROCEEDINGS{quetschlich2023precompilation, - title = {{Reducing the Compilation Time of Quantum Circuits Using Pre-Compilation on the Gate Level}}, - author = {N. Quetschlich and L. Burgholzer and R. Wille}, - booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)}, - year = {2023}, +@INPROCEEDINGS{quetschlich2023satellite, + title = {{A Hybrid Classical Quantum Computing Approach to the Satellite Mission Planning Problem}}, + author = {N. Quetschlich and V. Koch and L. Burgholzer and R. Wille}, + eprint = {2308.00029}, + archivePrefix = {arXiv}, + year = {2023}, + booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)}, } ``` which is also available on arXiv: -[![a](https://img.shields.io/static/v1?label=arXiv&message=2305.04941&color=inactive&style=flat-square)](https://arxiv.org/abs/2305.04941) +[![a](https://img.shields.io/static/v1?label=arXiv&message=2308.00029&color=inactive&style=flat-square)](https://arxiv.org/abs/2308.00029) -In case you are using our Satellite Mission Planning Problem approach, we would be thankful if you referred to it by citing the following publication: +In case you are using our Pre-Compilation approach, we would be thankful if you referred to it by citing the following publication: ```bibtex -@INPROCEEDINGS{quetschlich2023satellite, - title = {{A Hybrid Classical Quantum Computing Approach to the Satellite Mission Planning Problem}}, - author = {N. Quetschlich and V. Koch and L. Burgholzer and R. Wille}, - booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)}, - year = {2023}, +@INPROCEEDINGS{quetschlich2023precompilation, + title = {{Reducing the Compilation Time of Quantum Circuits Using Pre-Compilation on the Gate Level}}, + author = {N. Quetschlich and L. Burgholzer and R. Wille}, + eprint = {2305.04941}, + archivePrefix = {arXiv}, + year = {2023}, + booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)}, } ``` which is also available on arXiv: -[![a](https://img.shields.io/static/v1?label=arXiv&message=2308.00029&color=inactive&style=flat-square)](https://arxiv.org/abs/2308.00029) +[![a](https://img.shields.io/static/v1?label=arXiv&message=2305.04941&color=inactive&style=flat-square)](https://arxiv.org/abs/2305.04941) In case you are using our Resources Estimation approach, we would be thankful if you referred to it by citing the following publication: @@ -145,9 +181,9 @@ In case you are using our Resources Estimation approach, we would be thankful if @misc{quetschlich2024resource_estimation, title = {{Utilizing Resource Estimation for the Development of Quantum Computing Applications}}, author = {N. Quetschlich and M. Soeken and P. Murali and R. Wille}, - year = {2024}, eprint = {2402.12434}, archivePrefix = {arXiv}, + year = {2024}, booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)}, } ``` diff --git a/tests/test_satellitesolver.py b/tests/test_satellitesolver.py index 192d935..ca8c7c9 100644 --- a/tests/test_satellitesolver.py +++ b/tests/test_satellitesolver.py @@ -13,7 +13,7 @@ from qiskit_optimization import QuadraticProgram -@pytest.fixture() +@pytest.fixture def qubo() -> QuadraticProgram: ac_reqs = utils.init_random_location_requests(3) mdl = utils.create_satellite_doxplex(ac_reqs)