mqt.problemsolver 0.2.0__tar.gz → 0.3.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.github/codecov.yml +3 -0
  2. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.github/workflows/coverage.yml +1 -1
  3. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.pre-commit-config.yaml +19 -23
  4. {mqt.problemsolver-0.2.0/src/mqt.problemsolver.egg-info → mqt.problemsolver-0.3.0}/PKG-INFO +92 -14
  5. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/README.md +77 -13
  6. mqt.problemsolver-0.3.0/img/erc_dark.svg +1120 -0
  7. mqt.problemsolver-0.3.0/img/erc_light.svg +1125 -0
  8. mqt.problemsolver-0.3.0/img/logo-bavaria.svg +60 -0
  9. mqt.problemsolver-0.3.0/img/logo-mqv.svg +2 -0
  10. mqt.problemsolver-0.3.0/img/tum_dark.svg +130 -0
  11. mqt.problemsolver-0.3.0/img/tum_light.svg +130 -0
  12. mqt.problemsolver-0.3.0/img/workflow_new.png +0 -0
  13. mqt.problemsolver-0.3.0/img/workflow_old.png +0 -0
  14. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/csp_example.ipynb +5 -4
  15. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/precompilation/evaluation.ipynb +67 -51
  16. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/precompilation/precompilation_example.ipynb +7 -8
  17. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/precompilation/precompilation_paper_figures.ipynb +15 -14
  18. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/problemsolver_paper_figures.ipynb +2 -4
  19. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/satellitesolver/evaluation.ipynb +25 -25
  20. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/satellitesolver/satellitesolver_example.ipynb +6 -20
  21. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/tsp_example.ipynb +18 -7
  22. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/pyproject.toml +60 -50
  23. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/csp.py +2 -1
  24. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/partialcompiler/evaluator.py +5 -2
  25. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/satellitesolver/algorithms.py +5 -4
  26. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/satellitesolver/evaluator.py +9 -8
  27. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/satellitesolver/utils.py +12 -15
  28. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/tsp.py +5 -5
  29. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0/src/mqt.problemsolver.egg-info}/PKG-INFO +92 -14
  30. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt.problemsolver.egg-info/SOURCES.txt +8 -1
  31. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/tests/test_csp.py +2 -0
  32. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/tests/test_qaoa.py +4 -1
  33. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/tests/test_satellitesolver.py +11 -5
  34. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/tests/test_tsp.py +2 -0
  35. mqt.problemsolver-0.2.0/setup.py +0 -3
  36. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.git_archival.txt +0 -0
  37. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.gitattributes +0 -0
  38. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.github/release-drafter.yml +0 -0
  39. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.github/workflows/deploy.yml +0 -0
  40. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.github/workflows/mypy.yml +0 -0
  41. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.github/workflows/release-drafter.yml +0 -0
  42. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/.gitignore +0 -0
  43. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/img/framework.png +0 -0
  44. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/img/kakuro.png +0 -0
  45. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/img/mqt_dark.png +0 -0
  46. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/img/mqt_light.png +0 -0
  47. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/img/satellite_mission_planning_problem.png +0 -0
  48. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/img/tsp.png +0 -0
  49. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/precompilation/res_qaoa.csv +0 -0
  50. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/precompilation/res_satellite.csv +0 -0
  51. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/satellitesolver/res_satellite_solver.csv +0 -0
  52. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/notebooks/satellitesolver/res_satellite_solver_noisy.csv +0 -0
  53. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/setup.cfg +0 -0
  54. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/__init__.py +0 -0
  55. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/partialcompiler/qaoa.py +0 -0
  56. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/satellitesolver/ImagingLocation.py +0 -0
  57. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt/problemsolver/satellitesolver/__init__.py +0 -0
  58. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt.problemsolver.egg-info/dependency_links.txt +0 -0
  59. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt.problemsolver.egg-info/requires.txt +0 -0
  60. {mqt.problemsolver-0.2.0 → mqt.problemsolver-0.3.0}/src/mqt.problemsolver.egg-info/top_level.txt +0 -0
@@ -1,3 +1,6 @@
1
+ ignore:
2
+ - "tests/**/*"
3
+
1
4
  coverage:
2
5
  range: 60..90
3
6
  precision: 1
@@ -19,7 +19,7 @@ jobs:
19
19
  - name: Install MQT ProblemSolver
20
20
  run: pip install .[coverage]
21
21
  - name: Generate Report
22
- run: pytest -v --cov=./ --cov-report=xml
22
+ run: pytest -v --cov --cov-config=pyproject.toml --cov-report=xml
23
23
  - name: Upload coverage to Codecov
24
24
  uses: codecov/codecov-action@v3
25
25
  with:
@@ -15,7 +15,7 @@ ci:
15
15
  repos:
16
16
  # Standard hooks
17
17
  - repo: https://github.com/pre-commit/pre-commit-hooks
18
- rev: "v4.4.0"
18
+ rev: "v4.5.0"
19
19
  hooks:
20
20
  - id: check-added-large-files
21
21
  - id: check-case-conflict
@@ -32,28 +32,14 @@ repos:
32
32
 
33
33
  # Handling unwanted unicode characters
34
34
  - repo: https://github.com/sirosen/texthooks
35
- rev: "0.5.0"
35
+ rev: "0.6.3"
36
36
  hooks:
37
37
  - id: fix-ligatures
38
38
  - id: fix-smartquotes
39
39
 
40
- # Run code formatting with Black
41
- - repo: https://github.com/psf/black
42
- rev: "23.3.0" # Keep in sync with blacken-docs
43
- hooks:
44
- - id: black
45
-
46
- # Also run Black on examples in the documentation
47
- - repo: https://github.com/asottile/blacken-docs
48
- rev: "1.13.0"
49
- hooks:
50
- - id: blacken-docs
51
- additional_dependencies:
52
- - black==23.3.0 # keep in sync with black hook
53
-
54
40
  # Check for spelling
55
41
  - repo: https://github.com/codespell-project/codespell
56
- rev: "v2.2.4"
42
+ rev: "v2.2.6"
57
43
  hooks:
58
44
  - id: codespell
59
45
  args: ["-L", "wille,linz"]
@@ -64,25 +50,35 @@ repos:
64
50
 
65
51
  # Format configuration files with prettier
66
52
  - repo: https://github.com/pre-commit/mirrors-prettier
67
- rev: "v3.0.0-alpha.9-for-vscode"
53
+ rev: "v4.0.0-alpha.8"
68
54
  hooks:
69
55
  - id: prettier
70
56
  types_or: [yaml, markdown, html, css, javascript, json]
71
57
 
72
- - repo: https://github.com/charliermarsh/ruff-pre-commit
73
- rev: v0.0.263
58
+ - repo: https://github.com/astral-sh/ruff-pre-commit
59
+ rev: v0.1.13
74
60
  hooks:
75
61
  - id: ruff
76
- args: ["--fix"]
62
+ args: ["--fix", "--show-fixes"]
63
+ types_or: [python, pyi, jupyter]
64
+ - id: ruff-format
65
+ types_or: [python, pyi, jupyter]
66
+
67
+ # Also run Black on examples in the documentation
68
+ - repo: https://github.com/adamchainz/blacken-docs
69
+ rev: 1.16.0
70
+ hooks:
71
+ - id: blacken-docs
72
+ additional_dependencies: [black==23.*]
77
73
 
78
74
  # Clean jupyter notebooks
79
75
  - repo: https://github.com/srstevenson/nb-clean
80
- rev: "2.4.0"
76
+ rev: "3.2.0"
81
77
  hooks:
82
78
  - id: nb-clean
83
79
 
84
80
  - repo: https://github.com/pre-commit/mirrors-mypy
85
- rev: v1.2.0
81
+ rev: v1.8.0
86
82
  hooks:
87
83
  - id: mypy
88
84
  files: ^(src|tests|setup.py)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: mqt.problemsolver
3
- Version: 0.2.0
3
+ Version: 0.3.0
4
4
  Summary: MQT ProblemSolver - A MQT tool for Solving Problems Using Quantum Computing
5
5
  Author-email: Nils Quetschlich <nils.quetschlich@tum.de>, Lukas Burgholzer <lukas.burgholzer@jku.at>
6
6
  Project-URL: Homepage, https://github.com/cda-tum/mqtproblemsolver
@@ -24,9 +24,23 @@ Classifier: Natural Language :: English
24
24
  Classifier: Topic :: Scientific/Engineering :: Electronic Design Automation (EDA)
25
25
  Requires-Python: >=3.8
26
26
  Description-Content-Type: text/markdown
27
+ Requires-Dist: qiskit<0.42.0,>=0.36.0
28
+ Requires-Dist: joblib
29
+ Requires-Dist: numpy
30
+ Requires-Dist: matplotlib
31
+ Requires-Dist: mqt.ddsim
32
+ Requires-Dist: networkx
33
+ Requires-Dist: python_tsp
34
+ Requires-Dist: docplex
35
+ Requires-Dist: qiskit_optimization
27
36
  Provides-Extra: test
37
+ Requires-Dist: pytest>=7; extra == "test"
28
38
  Provides-Extra: coverage
39
+ Requires-Dist: mqt.problemsolver[test]; extra == "coverage"
40
+ Requires-Dist: coverage[toml]~=6.5.0; extra == "coverage"
41
+ Requires-Dist: pytest-cov~=4.0.0; extra == "coverage"
29
42
  Provides-Extra: dev
43
+ Requires-Dist: mqt.problemsolver[coverage]; extra == "dev"
30
44
 
31
45
  [![CodeCov](https://github.com/cda-tum/MQTProblemSolver/actions/workflows/coverage.yml/badge.svg)](https://github.com/cda-tum/MQTProblemSolver/actions/workflows/coverage.yml)
32
46
  [![Deploy to PyPI](https://github.com/cda-tum/MQTProblemSolver/actions/workflows/deploy.yml/badge.svg)](https://github.com/cda-tum/MQTProblemSolver/actions/workflows/deploy.yml)
@@ -99,12 +113,19 @@ Every quantum computing application must be encoded into a quantum circuit and t
99
113
  This lengthy compilation process is a key bottleneck and intensifies for recurring problems---each of which requires
100
114
  a new compilation run thus far.
101
115
 
116
+ <p align="center">
117
+ <img src="img/workflow_old.png">
118
+ </p>
119
+
102
120
  Pre-compilation is a promising approach to overcome this bottleneck.
103
121
  Beginning with a problem class and suitable quantum algorithm, a **predictive encoding** scheme is applied to encode a
104
122
  representative problem instance into a general-purpose quantum circuit for that problem class.
105
123
  Once the real problem instance is known, the previously constructed circuit only needs to be
106
- **adjusted**—with (nearly) no compilation necessary.
124
+ **adjusted**—with (nearly) no compilation necessary:
107
125
 
126
+ <p align="center">
127
+ <img src="img/workflow_new.png">
128
+ </p>
108
129
  Following this approach, we provide a pre-compilation module that can be used to precompile QAOA circuits
109
130
  for the MaxCut problem.
110
131
 
@@ -123,18 +144,20 @@ MQT ProblemSolver is available via [PyPI](https://pypi.org/project/mqt.problemso
123
144
  ├── src
124
145
  │ └── mqt
125
146
  │ └── problemsolver
126
- └── csp.py
127
- └── tsp.py
128
- └── satelitesolver
129
- └── ...
130
- └── precompilation
131
- │ └── ...
147
+ └── satelitesolver
148
+ └── ...
149
+ └── precompilation
150
+ └── ...
151
+ └── csp.py
152
+ │ └── tsp.py
132
153
  └── notebooks
133
- └── problemsolver
134
- └── csp_example.ipynb
135
- └── tsp_example.ipynb
136
- └── satellitesolver
137
- └── satellitesolver_example.ipynb
154
+ └── satelitesolver
155
+ └── ...
156
+ └── precompilation
157
+ └── ...
158
+ └── problemsolver_paper_figures.ipynb
159
+ └── csp_example.ipynb
160
+ └── tsp_example.ipynb
138
161
  ```
139
162
 
140
163
  # References
@@ -143,9 +166,64 @@ In case you are using MQT ProblemSolver in your work, we would be thankful if yo
143
166
 
144
167
  ```bibtex
145
168
  @INPROCEEDINGS{quetschlich2023mqtproblemsolver,
146
- author = {N. Quetschlich and L. Burgholzer and R. Wille},
147
169
  title = {{Towards an Automated Framework for Realizing Quantum Computing Solutions}},
170
+ author = {N. Quetschlich and L. Burgholzer and R. Wille},
148
171
  booktitle = {International Symposium on Multiple-Valued Logic (ISMVL)},
149
172
  year = {2023},
150
173
  }
151
174
  ```
175
+
176
+ which is also available on arXiv:
177
+ [![a](https://img.shields.io/static/v1?label=arXiv&message=2210.14928&color=inactive&style=flat-square)](https://arxiv.org/abs/2210.14928)
178
+
179
+ In case you are using our Pre-Compilation approach, we would be thankful if you referred to it by citing the following publication:
180
+
181
+ ```bibtex
182
+ @INPROCEEDINGS{quetschlich2023precompilation,
183
+ title = {{Reducing the Compilation Time of Quantum Circuits Using Pre-Compilation on the Gate Level}},
184
+ author = {N. Quetschlich and L. Burgholzer and R. Wille},
185
+ booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)},
186
+ year = {2023},
187
+ }
188
+ ```
189
+
190
+ which is also available on arXiv:
191
+ [![a](https://img.shields.io/static/v1?label=arXiv&message=2305.04941&color=inactive&style=flat-square)](https://arxiv.org/abs/2305.04941)
192
+
193
+ 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:
194
+
195
+ ```bibtex
196
+ @INPROCEEDINGS{quetschlich2023satellite,
197
+ title = {{A Hybrid Classical Quantum Computing Approach to the Satellite Mission Planning Problem}},
198
+ author = {N. Quetschlich and V. Koch and L. Burgholzer and R. Wille},
199
+ booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)},
200
+ year = {2023},
201
+ }
202
+ ```
203
+
204
+ which is also available on arXiv:
205
+ [![a](https://img.shields.io/static/v1?label=arXiv&message=2308.00029&color=inactive&style=flat-square)](https://arxiv.org/abs/2308.00029)
206
+
207
+ ## Acknowledgements
208
+
209
+ The Munich Quantum Toolkit has been supported by the European
210
+ Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (grant agreement
211
+ No. 101001318), the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program, as well as the
212
+ Munich Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.
213
+
214
+ <p align="center">
215
+ <picture>
216
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/tum_dark.svg" width="28%">
217
+ <img src="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/tum_light.svg" width="28%">
218
+ </picture>
219
+ <picture>
220
+ <img src="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/logo-bavaria.svg" width="16%">
221
+ </picture>
222
+ <picture>
223
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/erc_dark.svg" width="24%">
224
+ <img src="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/erc_light.svg" width="24%">
225
+ </picture>
226
+ <picture>
227
+ <img src="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/logo-mqv.svg" width="28%">
228
+ </picture>
229
+ </p>
@@ -69,12 +69,19 @@ Every quantum computing application must be encoded into a quantum circuit and t
69
69
  This lengthy compilation process is a key bottleneck and intensifies for recurring problems---each of which requires
70
70
  a new compilation run thus far.
71
71
 
72
+ <p align="center">
73
+ <img src="img/workflow_old.png">
74
+ </p>
75
+
72
76
  Pre-compilation is a promising approach to overcome this bottleneck.
73
77
  Beginning with a problem class and suitable quantum algorithm, a **predictive encoding** scheme is applied to encode a
74
78
  representative problem instance into a general-purpose quantum circuit for that problem class.
75
79
  Once the real problem instance is known, the previously constructed circuit only needs to be
76
- **adjusted**—with (nearly) no compilation necessary.
80
+ **adjusted**—with (nearly) no compilation necessary:
77
81
 
82
+ <p align="center">
83
+ <img src="img/workflow_new.png">
84
+ </p>
78
85
  Following this approach, we provide a pre-compilation module that can be used to precompile QAOA circuits
79
86
  for the MaxCut problem.
80
87
 
@@ -93,18 +100,20 @@ MQT ProblemSolver is available via [PyPI](https://pypi.org/project/mqt.problemso
93
100
  ├── src
94
101
  │ └── mqt
95
102
  │ └── problemsolver
96
- └── csp.py
97
- └── tsp.py
98
- └── satelitesolver
99
- └── ...
100
- └── precompilation
101
- │ └── ...
103
+ └── satelitesolver
104
+ └── ...
105
+ └── precompilation
106
+ └── ...
107
+ └── csp.py
108
+ │ └── tsp.py
102
109
  └── notebooks
103
- └── problemsolver
104
- └── csp_example.ipynb
105
- └── tsp_example.ipynb
106
- └── satellitesolver
107
- └── satellitesolver_example.ipynb
110
+ └── satelitesolver
111
+ └── ...
112
+ └── precompilation
113
+ └── ...
114
+ └── problemsolver_paper_figures.ipynb
115
+ └── csp_example.ipynb
116
+ └── tsp_example.ipynb
108
117
  ```
109
118
 
110
119
  # References
@@ -113,9 +122,64 @@ In case you are using MQT ProblemSolver in your work, we would be thankful if yo
113
122
 
114
123
  ```bibtex
115
124
  @INPROCEEDINGS{quetschlich2023mqtproblemsolver,
116
- author = {N. Quetschlich and L. Burgholzer and R. Wille},
117
125
  title = {{Towards an Automated Framework for Realizing Quantum Computing Solutions}},
126
+ author = {N. Quetschlich and L. Burgholzer and R. Wille},
118
127
  booktitle = {International Symposium on Multiple-Valued Logic (ISMVL)},
119
128
  year = {2023},
120
129
  }
121
130
  ```
131
+
132
+ which is also available on arXiv:
133
+ [![a](https://img.shields.io/static/v1?label=arXiv&message=2210.14928&color=inactive&style=flat-square)](https://arxiv.org/abs/2210.14928)
134
+
135
+ In case you are using our Pre-Compilation approach, we would be thankful if you referred to it by citing the following publication:
136
+
137
+ ```bibtex
138
+ @INPROCEEDINGS{quetschlich2023precompilation,
139
+ title = {{Reducing the Compilation Time of Quantum Circuits Using Pre-Compilation on the Gate Level}},
140
+ author = {N. Quetschlich and L. Burgholzer and R. Wille},
141
+ booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)},
142
+ year = {2023},
143
+ }
144
+ ```
145
+
146
+ which is also available on arXiv:
147
+ [![a](https://img.shields.io/static/v1?label=arXiv&message=2305.04941&color=inactive&style=flat-square)](https://arxiv.org/abs/2305.04941)
148
+
149
+ 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:
150
+
151
+ ```bibtex
152
+ @INPROCEEDINGS{quetschlich2023satellite,
153
+ title = {{A Hybrid Classical Quantum Computing Approach to the Satellite Mission Planning Problem}},
154
+ author = {N. Quetschlich and V. Koch and L. Burgholzer and R. Wille},
155
+ booktitle = {IEEE International Conference on Quantum Computing and Engineering (QCE)},
156
+ year = {2023},
157
+ }
158
+ ```
159
+
160
+ which is also available on arXiv:
161
+ [![a](https://img.shields.io/static/v1?label=arXiv&message=2308.00029&color=inactive&style=flat-square)](https://arxiv.org/abs/2308.00029)
162
+
163
+ ## Acknowledgements
164
+
165
+ The Munich Quantum Toolkit has been supported by the European
166
+ Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (grant agreement
167
+ No. 101001318), the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program, as well as the
168
+ Munich Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.
169
+
170
+ <p align="center">
171
+ <picture>
172
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/tum_dark.svg" width="28%">
173
+ <img src="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/tum_light.svg" width="28%">
174
+ </picture>
175
+ <picture>
176
+ <img src="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/logo-bavaria.svg" width="16%">
177
+ </picture>
178
+ <picture>
179
+ <source media="(prefers-color-scheme: dark)" srcset="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/erc_dark.svg" width="24%">
180
+ <img src="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/erc_light.svg" width="24%">
181
+ </picture>
182
+ <picture>
183
+ <img src="https://raw.githubusercontent.com/cda-tum/mqt-problemsolver/main/img/logo-mqv.svg" width="28%">
184
+ </picture>
185
+ </p>