Skip to content

Commit

Permalink
📝 initial paper draft
Browse files Browse the repository at this point in the history
Signed-off-by: burgholzer <[email protected]>
  • Loading branch information
burgholzer committed Nov 7, 2024
1 parent f0ead09 commit 7d047e3
Show file tree
Hide file tree
Showing 3 changed files with 146 additions and 0 deletions.
30 changes: 30 additions & 0 deletions paper/codemeta.json
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"
}
33 changes: 33 additions & 0 deletions paper/paper.bib
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}
}
83 changes: 83 additions & 0 deletions paper/paper.md
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

0 comments on commit 7d047e3

Please sign in to comment.