From dbf3ad6cace5cd82e359012fc634642464d52437 Mon Sep 17 00:00:00 2001 From: burgholzer Date: Thu, 7 Nov 2024 17:14:37 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=93=9D=20Paper?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: burgholzer --- paper/codemeta.json | 30 ++++ paper/paper.bib | 344 ++++++++++++++++++++++++++++++++++++++++++++ paper/paper.md | 85 +++++++++++ 3 files changed, 459 insertions(+) create mode 100644 paper/codemeta.json create mode 100644 paper/paper.bib create mode 100644 paper/paper.md diff --git a/paper/codemeta.json b/paper/codemeta.json new file mode 100644 index 000000000..1dd088340 --- /dev/null +++ b/paper/codemeta.json @@ -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": "lukas.burgholzer@tum.de", + "name": "Lukas Burgholzer", + "affiliation": "Chair for Design Automation, Technical University of Munich, Germany" + }, + { + "@id": "https://orcid.org/0000-0002-4993-7860", + "@type": "Person", + "email": "robert.wille@tum.de", + "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" +} diff --git a/paper/paper.bib b/paper/paper.bib new file mode 100644 index 000000000..183a608f9 --- /dev/null +++ b/paper/paper.bib @@ -0,0 +1,344 @@ +@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} +} + +@incollection{willeDecisionDiagramsQuantum2023, + title = {Decision {{Diagrams}} for {{Quantum Computing}}}, + booktitle = {Design {{Automation}} of {{Quantum Computers}}}, + author = {Wille, Robert and Hillmich, Stefan and Burgholzer, Lukas}, + year = {2023}, + doi = {10.1007/978-3-031-15699-1_1} +} + +@inproceedings{hillmichJustRealThing2020, + title = {Just like the real thing: {{Fast}} weak simulation of quantum computation}, + booktitle = {Design Automation Conf.}, + author = {Hillmich, Stefan and Markov, Igor L. and Wille, Robert}, + year = {2020}, + doi = {10.1109/DAC18072.2020.9218555} +} + +@article{hillmichApproximatingDecisionDiagrams2022, + title = {Approximating decision diagrams for quantum circuit simulation}, + author = {Hillmich, Stefan and Zulehner, Alwin and Kueng, Richard and Markov, Igor L. and Wille, Robert}, + year = {2022}, + journal = {ACM Transactions on Quantum Computing}, + volume = {3}, + number = {4}, + pages = {1--21}, + issn = {2643-6809, 2643-6817}, + doi = {10.1145/3530776}, +} + +@inproceedings{grurlStochasticQuantumCircuit2021, + title = {Stochastic quantum circuit simulation using decision diagrams}, + booktitle = {Design, Automation and Test in Europe (DATE)}, + author = {Grurl, Thomas and Kueng, Richard and Fu{\ss}, J{\"u}rgen and Wille, Robert}, + year = {2021}, + doi = {10.23919/DATE51398.2021.9474135} +} + +@inproceedings{grurlConsideringDecoherenceErrors2020, + title = {Considering decoherence errors in the simulation of quantum circuits using decision diagrams}, + booktitle = iccad, + author = {Grurl, Thomas and Fu{\ss}, J{\"u}rgen and Wille, Robert}, + year = {2020}, + doi = {10.1145/3400302.3415622} +} + +@article{grurlNoiseawareQuantumCircuit2023, + title = {Noise-aware quantum circuit simulation with decision diagrams}, + author = {Grurl, Thomas and Fu{\ss}, Jurgen and Wille, Robert}, + year = {2023}, + journal = {{IEEE} Trans. on {CAD} of Integrated Circuits and Systems}, + volume = {42}, + number = {3}, + pages = {860--873}, + issn = {0278-0070, 1937-4151}, + doi = {10.1109/TCAD.2022.3182628}, +} + +@inproceedings{grurlAutomaticImplementationEvaluation2023, + title = {Automatic {{Implementation}} and {{Evaluation}} of {{Error-Correcting Codes}} for {{Quantum Computing}}: {{An Open-Source Framework}} for {{Quantum Error Correction}}}, + shorttitle = {Automatic {{Implementation}} and {{Evaluation}} of {{Error-Correcting Codes}} for {{Quantum Computing}}}, + booktitle = {VLSI Design}, + author = {Grurl, Thomas and Pichler, Christoph and Fu{\ss}, J{\"u}rgen and Wille, Robert}, + year = {2023}, + pages = {301--306}, + doi = {10.1109/VLSID57277.2023.00068}, +} + +@inproceedings{burgholzerHybridSchrodingerFeynmanSimulation2021, + title = {Hybrid {{Schr{\"o}dinger-Feynman}} simulation of quantum circuits with decision diagrams}, + booktitle = {Int'l {{Conf}}. on {{Quantum Computing}} and {{Engineering}}}, + author = {Burgholzer, Lukas and Bauer, Hartwig and Wille, Robert}, + year = {2021}, + doi = {10.1109/QCE52317.2021.00037} +} + +@inproceedings{burgholzerExploitingArbitraryPaths2022, + title = {Exploiting arbitrary paths for the simulation of quantum circuits with decision diagrams}, + booktitle = {Design, Automation and Test in Europe}, + author = {Burgholzer, Lukas and Ploier, Alexander and Wille, Robert}, + year = {2022}, + doi = {10.23919/DATE54114.2022.9774631} +} + +@article{burgholzerSimulationPathsQuantum2022, + title = {Simulation paths for quantum circuit simulation with decision diagrams: {{What}} to learn from tensor networks, and what not}, + shorttitle = {Simulation paths for quantum circuit simulation with decision diagrams}, + author = {Burgholzer, Lukas and Ploier, Alexander and Wille, Robert}, + year = {2022}, + journal = {{IEEE} Trans. on {CAD} of Integrated Circuits and Systems}, + eprint = {2203.00703}, + doi = {10.1109/TCAD.2022.3197969}, + archiveprefix = {arxiv}, +} + +@inproceedings{burgholzerEfficientConstructionFunctional2021, + title = {Efficient construction of functional representations for quantum algorithms}, + booktitle = {Int'l Conf. of Reversible Computation}, + author = {Burgholzer, Lukas and Raymond, Rudy and Sengupta, Indranil and Wille, Robert}, + year = {2021}, + doi = {10.1007/978-3-030-79837-6_14} +} + +@inproceedings{hillmichAccurateNeededEfficient2020, + title = {As accurate as needed, as efficient as possible: {{Approximations}} in {{DD-based}} quantum circuit simulation}, + shorttitle = {As accurate as needed, as efficient as possible}, + booktitle = {Design, Automation and Test in Europe}, + author = {Hillmich, Stefan and Kueng, Richard and Markov, Igor L. and Wille, Robert}, + year = {2020}, + doi = {10.23919/DATE51398.2021.9474034} +} + +@inproceedings{hillmichConcurrencyDDbasedQuantum2020, + title = {Concurrency in {{DD-based}} quantum circuit simulation}, + booktitle = {Asia and South Pacific Design Automation Conf.}, + author = {Hillmich, Stefan and Zulehner, Alwin and Wille, Robert}, + year = {2020}, + doi = {10.1109/ASP-DAC47756.2020.9045711} +} + +@inproceedings{hillmichExploitingQuantumTeleportation2021, + title = {Exploiting {{Quantum Teleportation}} in {{Quantum Circuit Mapping}}}, + booktitle = {Asia and South Pacific Design Automation Conf.}, + author = {Hillmich, Stefan and Zulehner, Alwin and Wille, Robert}, + year = {2021}, + pages = {792--797}, + doi = {10.1145/3394885.3431604} +} + +@inproceedings{burgholzerLimitingSearchSpace2022, + title = {Limiting the search space in optimal quantum circuit mapping}, + booktitle = {Asia and South Pacific Design Automation Conf.}, + author = {Burgholzer, Lukas and Schneider, Sarah and Wille, Robert}, + year = {2022}, + doi = {10.1109/ASP-DAC52403.2022.9712555}, +} + +@inproceedings{pehamDepthoptimalSynthesisClifford2023, + title = {Depth-optimal synthesis of {{Clifford}} circuits with {{SAT}} solvers}, + booktitle = {Int'l {{Conf}}. on {{Quantum Computing}} and {{Engineering}}}, + author = {Peham, Tom and Brandl, Nina and Kueng, Richard and Wille, Robert and Burgholzer, Lukas}, + year = {2023}, + eprint = {2305.01674}, + primaryclass = {quant-ph}, + doi = {10.1109/QCE57702.2023.00095}, + archiveprefix = {arxiv}, +} + +@inproceedings{schneiderSATEncodingOptimal2023, + title = {A {{SAT}} encoding for optimal {{Clifford}} circuit synthesis}, + booktitle = {Asia and South Pacific Design Automation Conf.}, + author = {Schneider, Sarah and Burgholzer, Lukas and Wille, Robert}, + year = {2023}, + doi = {10.1145/3566097.3567929} +} + +@article{pehamOptimalSubarchitecturesQuantum2023, + title = {On {{Optimal Subarchitectures}} for {{Quantum Circuit Mapping}}}, + author = {Peham, Tom and Burgholzer, Lukas and Wille, Robert}, + year = {2023}, + journal = {ACM Transactions on Quantum Computing}, + eprint = {2210.09321}, + primaryclass = {quant-ph}, + archiveprefix = {arxiv}, + doi = {10.1145/3593594} +} + +@article{schmidComputationalCapabilitiesCompiler2024, + title = {Computational {{Capabilities}} and {{Compiler Development}} for {{Neutral Atom Quantum Processors}} - {{Connecting Tool Developers}} and {{Hardware Experts}}}, + author = {Schmid, Ludwig and Locher, David and Rispler, Manuel and Blatt, Sebastian and Zeiher, Johannes and M{\"u}ller, Markus and Wille, Robert}, + year = {2024}, + journal = {Quantum Science and Technology}, + doi = {10.1088/2058-9565/ad33ac} +} + +@inproceedings{schmidHybridCircuitMapping2024, + title = {Hybrid {{Circuit Mapping}}: {{Leveraging}} the {{Full Spectrum}} of {{Computational Capabilities}} of {{Neutral Atom Quantum Computers}}}, + booktitle = {Design Automation Conf.}, + author = {Schmid, Ludwig and Park, Sunghey and Wille, Robert}, + year = {2024}, + doi = {10.48550/arXiv.2311.14164}, +} + +@article{burgholzerAdvancedEquivalenceChecking2021, + title = {Advanced equivalence checking for quantum circuits}, + author = {Burgholzer, Lukas and Wille, Robert}, + year = {2021}, + journal = {{IEEE} Trans. on {CAD} of Integrated Circuits and Systems}, + doi = {10.1109/TCAD.2020.3032630}, +} + +@inproceedings{burgholzerImprovedDDbasedEquivalence2020, + title = {Improved {{DD-based}} equivalence checking of quantum circuits}, + booktitle = {Asia and South Pacific Design Automation Conf.}, + author = {Burgholzer, Lukas and Wille, Robert}, + year = {2020}, + doi = {10.1109/ASP-DAC47756.2020.9045153} +} + +@inproceedings{burgholzerPowerSimulationEquivalence2020, + title = {The power of simulation for equivalence checking in quantum computing}, + booktitle = {Design Automation Conf.}, + author = {Burgholzer, Lukas and Wille, Robert}, + year = {2020}, + doi = {10.1109/DAC18072.2020.9218563} +} + +@inproceedings{burgholzerRandomStimuliGeneration2021, + title = {Random stimuli generation for the verification of quantum circuits}, + booktitle = {Asia and South Pacific Design Automation Conf.}, + author = {Burgholzer, Lukas and Kueng, Richard and Wille, Robert}, + year = {2021}, + doi = {10.1145/3394885.3431590}, +} + +@inproceedings{burgholzerVerifyingResultsIBM2020, + title = {Verifying results of the {{IBM Qiskit}} quantum circuit compilation flow}, + booktitle = {Int'l {{Conf}}. on {{Quantum Computing}} and {{Engineering}}}, + author = {Burgholzer, Lukas and Raymond, Rudy and Wille, Robert}, + year = {2020}, + doi = {10.1109/QCE49297.2020.00051}, +} + +@inproceedings{pehamEquivalenceCheckingParadigms2022, + title = {Equivalence checking paradigms in quantum circuit design: {{A}} case study}, + booktitle = {Design Automation Conf.}, + author = {Peham, Tom and Burgholzer, Lukas and Wille, Robert}, + year = {2022}, + doi = {10.1145/3489517.3530480} +} + +@inproceedings{pehamEquivalenceCheckingParameterized2023, + title = {Equivalence checking of parameterized quantum circuits: {{Verifying}} the compilation of variational quantum algorithms}, + booktitle = {Asia and South Pacific Design Automation Conf.}, + author = {Peham, Tom and Burgholzer, Lukas and Wille, Robert}, + year = {2023}, + doi = {10.1145/3566097.3567932}, +} + +@article{pehamEquivalenceCheckingQuantum2022, + title = {Equivalence checking of quantum circuits with the {{ZX-Calculus}}}, + author = {Peham, Tom and Burgholzer, Lukas and Wille, Robert}, + year = {2022}, + journal = {IEEE Journal on Emerging and Selected Topics in Circuits and Systems}, + doi = {10.1109/JETCAS.2022.3202204}, +} + +@incollection{willeVerificationQuantumCircuits2022, + title = {Verification of {{Quantum Circuits}}}, + booktitle = {Handbook of {{Computer Architecture}}}, + author = {Wille, Robert and Burgholzer, Lukas}, + editor = {Chattopadhyay, Anupam}, + year = {2022}, + pages = {1--28}, + publisher = {{Springer Nature Singapore}}, + address = {{Singapore}}, + doi = {10.1007/978-981-15-6401-7_43-1}, + isbn = {9789811564017}, +} + +@inproceedings{sanderHamiltonianSimulationDecision2023, + title = {Towards hamiltonian simulation with decision diagrams}, + booktitle = {Int'l {{Conf}}. on {{Quantum Computing}} and {{Engineering}}}, + author = {Sander, Aaron and Burgholzer, Lukas and Wille, Robert}, + year = {2023}, + eprint = {2305.02337}, + primaryclass = {cond-mat, physics:quant-ph}, + doi = {10.1109/QCE57702.2023.00039}, +} + +@article{willeToolsQuantumComputing2022, + title = {Tools for quantum computing based on decision diagrams}, + author = {Wille, Robert and Hillmich, Stefan and Lukas, Burgholzer}, + year = {2022}, + journal = {ACM Transactions on Quantum Computing}, + doi = {10.1145/3491246}, +} + +@misc{vandeweteringZXcalculusWorkingQuantum2020, + title = {{{ZX-calculus}} for the working quantum computer scientist}, + author = {{van de Wetering}, John}, + year = {2020}, + eprint = {2012.13966}, + archiveprefix = {arxiv}, + doi= {10.48550/arXiv.2012.13966}, +} + +@article{duncanGraphtheoreticSimplificationQuantum2020, + title = {Graph-theoretic {{Simplification}} of {{Quantum Circuits}} with the {{ZX-calculus}}}, + author = {Duncan, Ross and Kissinger, Aleks and Perdrix, Simon and {van de Wetering}, John}, + year = {2020}, + journal = {Quantum}, + volume = {4}, + pages = {279}, + doi = {10.22331/q-2020-06-04-279}, +} + +@inproceedings{willeVisualizingDecisionDiagrams2021, + title = {Visualizing decision diagrams for quantum computing}, + booktitle = {Design, Automation and Test in Europe}, + author = {Wille, Robert and Burgholzer, Lukas and Artner, Michael}, + year = {2021}, + doi = {10.23919/DATE51398.2021.9474236}, +} + +@inproceedings{willeEfficientCorrectCompilation2020, + title = {Efficient and correct compilation of quantum circuits}, + booktitle = {IEEE International Symposium on Circuits and Systems}, + author = {Wille, Robert and Hillmich, Stefan and Burgholzer, Lukas}, + year = {2020}, + doi = {10.1109/ISCAS45731.2020.9180791}, +} diff --git a/paper/paper.md b/paper/paper.md new file mode 100644 index 000000000..7751291da --- /dev/null +++ b/paper/paper.md @@ -0,0 +1,85 @@ +--- +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 +[@qiskit2024], 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 [@qiskit2024] 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 +[@willeDecisionDiagramsQuantum2023] and the ZX-calculus [@vandeweteringZXcalculusWorkingQuantum2020; +@duncanGraphtheoreticSimplificationQuantum2020], 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. As such, MQT Core has enabled +more than 30 research papers over its first five years of development +[@willeDecisionDiagramsQuantum2023; hillmichJustRealThing2020; hillmichApproximatingDecisionDiagrams2022; grurlStochasticQuantumCircuit2021; grurlConsideringDecoherenceErrors2020; grurlNoiseawareQuantumCircuit2023; grurlAutomaticImplementationEvaluation2023; burgholzerHybridSchrodingerFeynmanSimulation2021; burgholzerExploitingArbitraryPaths2022; burgholzerSimulationPathsQuantum2022; burgholzerEfficientConstructionFunctional2021; hillmichAccurateNeededEfficient2020; hillmichConcurrencyDDbasedQuantum2020; hillmichExploitingQuantumTeleportation2021; burgholzerLimitingSearchSpace2022; pehamDepthoptimalSynthesisClifford2023; schneiderSATEncodingOptimal2023; pehamOptimalSubarchitecturesQuantum2023; schmidComputationalCapabilitiesCompiler2024; schmidHybridCircuitMapping2024; burgholzerAdvancedEquivalenceChecking2021; burgholzerImprovedDDbasedEquivalence2020; burgholzerPowerSimulationEquivalence2020; burgholzerRandomStimuliGeneration2021; burgholzerVerifyingResultsIBM2020; pehamEquivalenceCheckingParadigms2022; pehamEquivalenceCheckingParameterized2023; pehamEquivalenceCheckingQuantum2022; willeVerificationQuantumCircuits2022; sanderHamiltonianSimulationDecision2023; willeToolsQuantumComputing2022; willeVisualizingDecisionDiagrams2021; willeEfficientCorrectCompilation2020]. + +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