-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: burgholzer <[email protected]>
- Loading branch information
1 parent
f0ead09
commit 7d047e3
Showing
3 changed files
with
146 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,30 @@ | ||
{ | ||
"@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld", | ||
"@type": "Code", | ||
"author": [ | ||
{ | ||
"@id": "https://orcid.org/0000-0003-4699-1316", | ||
"@type": "Person", | ||
"email": "[email protected]", | ||
"name": "Lukas Burgholzer", | ||
"affiliation": "Chair for Design Automation, Technical University of Munich, Germany" | ||
}, | ||
{ | ||
"@id": "https://orcid.org/0000-0002-4993-7860", | ||
"@type": "Person", | ||
"email": "[email protected]", | ||
"name": "Robert Wille", | ||
"affiliation": "Chair for Design Automation, Technical University of Munich, Germany" | ||
} | ||
], | ||
"identifier": "", | ||
"codeRepository": "https://github.com/cda-tum/mqt-core", | ||
"datePublished": "2024-11-07", | ||
"dateModified": "2024-11-07", | ||
"dateCreated": "2024-11-07", | ||
"description": "MQT Core forms the backbone of the software tools developed as part of the Munich Quantum Toolkit (MQT).", | ||
"keywords": "Python, C++, MQT, Quantum Computing, Design Automation, Intermediate Representation, Data Structures, Decision Diagrams, ZX-Calculus", | ||
"license": "MIT", | ||
"title": "MQT Core", | ||
"version": "v2.7.0" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
@inproceedings{willeMQTHandbookSummary2024, | ||
title = {The {{MQT Handbook}}: {{A Summary}} of {{Design Automation Tools}} and {{Software}} for {{Quantum Computing}}}, | ||
shorttitle = {The {{MQT Handbook}}}, | ||
booktitle={IEEE International Conference on Quantum Software (QSW)}, | ||
author = {Wille, Robert and Berent, Lucas and Forster, Tobias and Kunasaikaran, Jagatheesan and Mato, Kevin and Peham, Tom and Quetschlich, Nils and Rovara, Damian and Sander, Aaron and Schmid, Ludwig and Schoenberger, Daniel and Stade, Yannick and Burgholzer, Lukas}, | ||
date = {2024}, | ||
doi={10.1109/QSW62656.2024.00013} | ||
eprint = {2405.17543}, | ||
eprinttype = {arxiv}, | ||
addendum={A live version of this document is available at \url{https://mqt.readthedocs.io}}, | ||
} | ||
|
||
@misc{qiskit2024, | ||
title={Quantum computing with {Q}iskit}, | ||
author={Javadi-Abhari, Ali and Treinish, Matthew and Krsulich, Kevin and Wood, Christopher J. and Lishman, Jake and Gacon, Julien and Martiel, Simon and Nation, Paul D. and Bishop, Lev S. and Cross, Andrew W. and Johnson, Blake R. and Gambetta, Jay M.}, | ||
year={2024}, | ||
doi={10.48550/arXiv.2405.08810}, | ||
eprint={2405.08810}, | ||
archivePrefix={arXiv}, | ||
primaryClass={quant-ph} | ||
} | ||
|
||
@article{cross2022openqasm, | ||
title={OpenQASM 3: A broader and deeper quantum assembly language}, | ||
author={Cross, Andrew and Javadi-Abhari, Ali and Alexander, Thomas and De Beaudrap, Niel and Bishop, Lev S and Heidel, Steven and Ryan, Colm A and Sivarajah, Prasahnt and Smolin, John and Gambetta, Jay M and others}, | ||
journal={ACM Transactions on Quantum Computing}, | ||
volume={3}, | ||
number={3}, | ||
pages={1--50}, | ||
year={2022}, | ||
publisher={ACM New York, NY}, | ||
doi={10.1145/3505636} | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,83 @@ | ||
--- | ||
title: "MQT Core: The Backbone of the Munich Quantum Toolkit (MQT)" | ||
tags: | ||
- Python | ||
- C++ | ||
- MQT | ||
- Quantum Computing | ||
- Design Automation | ||
- Intermediate Representation | ||
- Data Structures | ||
- Decision Diagrams | ||
- ZX-Calculus | ||
authors: | ||
- name: Lukas Burgholzer | ||
corresponding: true | ||
orcid: 0000-0003-4699-1316 | ||
affiliation: 1 | ||
- name: Robert Wille | ||
orcid: 0000-0002-4993-7860 | ||
affiliation: "1, 2" | ||
affiliations: | ||
- name: Chair for Design Automation, Technical University of Munich, Germany | ||
index: 1 | ||
- name: Software Competence Center Hagenberg GmbH, Hagenberg, Austria | ||
index: 2 | ||
date: 7 November 2024 | ||
bibliography: paper.bib | ||
--- | ||
|
||
# Summary | ||
|
||
MQT Core is an open-source C++ and Python library for quantum computing that forms the backbone of | ||
the quantum software tools developed as part of the _Munich Quantum Toolkit (MQT, | ||
[@willeMQTHandbookSummary2024])_ by the [Chair for Design Automation](https://www.cda.cit.tum.de/) | ||
at the [Technical University of Munich](https://www.tum.de/). To this end, it consists of multiple | ||
components that are used throughout the MQT, including a fully fledged intermediate representation | ||
(IR) for quantum computations, a state-of-the-art decision diagram (DD) package for quantum | ||
computing, and a state-of-the-art ZX-diagram package for working with the ZX-calculus. Pre-built | ||
binaries are available via [PyPI](https://pypi.org/project/mqt.core/) for all major operating | ||
systems and all modern Python versions. MQT Core is fully compatible with IBM's Qiskit 1.0 and above | ||
[@qiskit204], as well as the OpenQASM format [@cross2022openqasm], enabling seamless integration | ||
with the broader quantum computing community. | ||
|
||
# Statement of Need | ||
|
||
Quantum computing is rapidly transitioning from theoretical research to practice, with potential | ||
applications in fields such as finance, chemistry, machine learning, optimization, cryptography, and | ||
unstructured search. However, the development of scalable quantum applications requires automated, | ||
efficient, and accessible software tools that cater to the diverse needs of end users, engineers, | ||
and physicists across the entire quantum software stack. | ||
|
||
The Munich Quantum Toolkit (MQT, [@willeMQTHandbookSummary2024]) addresses this need by leveraging | ||
decades of design automation expertise from the classical computing domain. Developed by the Chair | ||
for Design Automation at the Technical University of Munich, the MQT provides a comprehensive suite | ||
of tools designed to support various design tasks in quantum computing. These tasks include | ||
high-level application development, classical simulation, compilation, verification of quantum | ||
circuits, quantum error correction, and physical design. | ||
|
||
MQT Core offers a flexible intermediate representation for quantum computations that forms the basis | ||
for working with quantum circuits throughout the MQT. The library provides interfaces to IBM's | ||
Qiskit [@qiskit204] and the OpenQASM format [@cross2022openqasm] to make the developed tools | ||
accessible to the broader quantum computing community. Furthermore, MQT Core integrates | ||
state-of-the-art data structures for quantum computing, such as decision diagrams and the | ||
ZX-calculus, that power the MQT's software packages for classical quantum circuit simulation | ||
([MQT DDSIM](https://github.com/cda-tum/mqt-ddsim)), compilation | ||
([MQT QMAP](https://github.com/cda-tum/mqt-qmap)), verification | ||
([MQT QCEC](https://github.com/cda-tum/mqt-qcec)), and more. | ||
|
||
To ensure performance, MQT Core is primarily implemented in C++. Since the quantum computing | ||
community predominantly uses Python, MQT Core provides Python bindings that allow seamless | ||
integration with existing Python-based quantum computing tools. In addition, pre-built Python wheels | ||
are available for all major platforms and Python versions, making it easy to install and use MQT | ||
Core in various environments without the need for manual compilation. | ||
|
||
# Acknowledgements | ||
|
||
The Munich Quantum Toolkit has been supported by the European Research Council (ERC) under the | ||
European Union's Horizon 2020 research and innovation program (grant agreement No. 101001318), the | ||
Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program, as | ||
well as the Munich Quantum Valley, which is supported by the Bavarian state government with funds | ||
from the Hightech Agenda Bayern Plus. | ||
|
||
# References |