Skip to content

Commit

Permalink
Merge branch 'main' into msoeken/re-update
Browse files Browse the repository at this point in the history
  • Loading branch information
nquetschlich authored Aug 23, 2024
2 parents ae5fb3e + c6dca5a commit 5390a74
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 26 deletions.
6 changes: 3 additions & 3 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"]
Expand All @@ -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)
Expand Down
80 changes: 58 additions & 22 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down Expand Up @@ -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
Expand All @@ -65,7 +76,7 @@ In the following example, there are five to-be-captured locations which their as
<img src="img/satellite_mission_planning_problem.png" height=200px>
</p>

# 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
Expand All @@ -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/):
Expand All @@ -101,53 +131,59 @@ 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:

```bibtex
@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)},
}
```
Expand Down
2 changes: 1 addition & 1 deletion tests/test_satellitesolver.py
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down

0 comments on commit 5390a74

Please sign in to comment.