So far, many works aiming to solve specific problems by utilizing quantum computing follow a similar workflow consisting of four steps:
While this has led to several promising quantum computing applications (triggering a substantial momentum for quantum computing in general), realizing the respective solutions comes with three major challenges:
In our group, we develop methods and envision a design flow which support end-users in realizing their quantum computing applications. They aim to shield the end-user as much as possible from the intricacies of quantum computing through automation and guidance. In the following, those methods and software tools are described and illustrated.
We envision and propose a framework called MQT ProblemSolver which aims at simplifying the realization of quantum computing solutions—particularly for end-users from the various application domains:
To this end, we exploit the fact that the current workflow summarized above actually offers tangible opportunities to shield the user as much as possible from the intricacies of quantum computing. This is accomplished by keeping the interfaces for both, the problem input and the solution output formats, as similar as possible to classical solvers and by providing guidance for the quantum algorithm selection procedure. Using this as a basis, the remaining steps (encoding, compiling, executing, and decoding) are then covered in a fully automated fashion.
To demonstrate the feasibility and usability of such a framework, a proof-of-concept implementation—which is publicly available on GitHub—has been realized for two different problem classes: Satisfiability Problems (SAT problems) and Graph-based Optimization Problems. For both, corresponding case studies confirmed the benefits from a end-user’s perspective. By this, the proposed framework provides the foundation for a low-threshold approach of realizing quantum computing solutions with no or only moderate background in this technology.
For more details, please refer to the following paper:
Unfortunately, quantum simulators suffer from their exponential complexity and, at the same time, the currently available quantum computing hardware is still rather limited (even if roadmaps make intriguing promises). Hence, in order to evaluate quantum computing applications, end-users are still frequently restricted to toy-size problem instances (which additionally often do not take error correction into account). This substantially hinders the development and assessment of real-world quantum computing applications. To this end, we demonstrate how to utilize Resource Estimation to improve this situation. We show how the current workflow (relying on simulation and/or execution) can be complemented with an estimation step, allowing that end-users
For more details, please refer to the following paper:
Any potential application of quantum computing, once encoded as a quantum circuit, needs to be compiled in order to be executed on a quantum computer. Deciding which qubit technology, which device, which compiler, and which corresponding settings are best for the considered problem—according to a figure of merit—requires expert knowledge and is overwhelming for end-users from different domains trying to use quantum computing to their advantage. This is especially challenging, since even a few options for every decision to make leads to an explosion of the search space for all combinations of compilation options:
We treat the problem as an optimization task and explore the utilization of both supervised machine learning techniques and reinforcement learning to optimize the compilation of quantum circuits. Based on that, we propose a framework called MQT Predictor that, given a quantum circuit, predicts the best possible compilation scheme and, therefore, automatically makes these decisions for end-users:
The corresponding framework and the pre-trained classifiers are publicly available on GitHub.
For more details, please refer to the following papers:
Tools like the ones proposed above but also, e.g., for the simulation, compilation, verification, etc. of quantum circuits are key in order to support end-users in the realization of their quantum computing application. And, thankfully, a huge variety of tools has been proposed in the past—with many more to come. However, whenever such a quantum software tool is proposed, it is important to empirically evaluate its performance and to compare it to the state of the art. For that purpose, proper benchmarks are needed. To provide those, MQT Bench is proposed, which offers over 70,000 benchmarks on various abstraction levels (depending on what level the to-be-evaluated software tool operates on) and ranging from 2 to 130 qubits. Having all those benchmarks in a single repository enables an increased comparability, reproducibility, and transparency.
MQT Bench comes as an easy-to-use website with its user interface being shown below and a Python Package while all its implementations are open-source available on GitHub.
For more details, please refer to the following paper: