Introduction¶
Quantum computing has the potential to revolutionize many fields in the 21st century, such as cryptography [1], finance [2], chemistry [3], machine learning [4], and optimization [5]. Over the past decade, numerous quantum computers from multiple providers based on different qubit technologies have been made publicly available. However, the best hardware is only as good as the software available to realize corresponding applications on it—a lesson learned from the past decades of research on designing and developing classical circuits and systems. Thanks to the software tools and methods for Electronic Design Automation (EDA), we can create classical systems with a staggering amount of transistors and complex functionalities that we often take for granted. These methods allow designers to efficiently and automatically handle the intricacies of such systems and optimize their performance. Compared to that, most existing software solutions for quantum computing leave the decades of research on design automation methods underutilized.
The Munich Quantum Toolkit (MQT), which is developed by the Chair for Design Automation at the Technical University of Munich, aims to leverage this latent potential by providing a collection of state-of-the-art design automation methods and software tools for quantum computing. Our overarching objective is to provide solutions for design tasks across the entire quantum software stack. This entails high-level support for end users in realizing their applications [6, 7, 8, 9, 10, 11], efficient methods for the classical simulation [12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], compilation [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], and verification [48, 49, 50, 51, 52, 53, 54, 55, 56] of quantum circuits, tools for quantum error correction [57, 58, 59, 60], support for physical design [61], and more. In all these tools, we try to utilize data structures (such as decision diagrams [62, 63, 64] or the ZX-calculus [65, 66]) and core methods (such as reasoning engines [67]) to facilitate the efficient handling of quantum computations. The proposed solutions demonstrate how utilizing design automation expertise can lead to improved efficiency, scalability, and reliability. In particular, they illustrate the immense benefits of leveraging expertise in classical circuit and system design rather than starting from scratch. All tools developed as part of the MQT are made available as open-source packages on github.com/cda-tum.
In the following, we briefly summarize some of the core methods and tools (covering classical simulation, compilation, and verification of quantum circuits as well as benchmarking). We particularly focus on how to use the tools, but additionally provide references and links that offer detailed descriptions of the underlying methods as well as summaries of corresponding case studies and evaluations demonstrating the benefits.