MQT IonShuttler¶
The MQT IonShuttler is a tool for generating shuttling schedules for trapped-ion quantum computers with a grid-type Memory Zone based on the Quantum Charge Coupled Device (QCCD) architecture. It is developed as part of the Munich Quantum Toolkit (MQT).
We recommend you to start with the installation instructions. Then proceed with the sections below. If you are interested in the theory behind the MQT IonShuttler, have a look at the publications in the publication list.
We appreciate any feedback and contributions to the project. If you want to contribute, you can find more information in the contribution guide. If you are having trouble with the installation or the usage of MQT QuSAT, please let us know on our support page.
Overview¶
The MQT IonShuttler supports
exact shuttling schedules for small architectures with a single processing zone (PZ), and
heuristic shuttling schedules for larger devices with one or multiple processing zones.
Figure 1: (a) Potential QCCD device with four processing zones; (b) corresponding graph abstraction.
The exact solution guarantees optimality but is limited to a single PZ, while the heuristic method scales to many qubits and PZs.
In the heuristic workflow, an optional compilation feature (use_dag) allows for dynamic rescheduling of gates based on the current ion positions and dependencies, potentially reducing shuttling overhead compared to executing a fixed sequence.
Usage¶
Exact Solution (single PZ)¶
(.venv) $ mqt-ionshuttler-exact --help
(.venv) $ mqt-ionshuttler-exact inputs/algorithms_exact/qft_06.json
The script supports an additional --plot argument to visualise the result.
Architectures and algorithms are specified in JSON files.
For examples, see inputs/algorithms_exact.
Heuristic Solution (single & multiple PZs)¶
(.venv) $ mqt-ionshuttler-heuristic --help
(.venv) $ mqt-ionshuttler-heuristic inputs/algorithms_heuristic/qft_60_4pzs.json
Architectures and algorithms are specified in JSON files.
For examples, see inputs/algorithms_heuristic.
Contributors and Supporters¶
The Munich Quantum Toolkit (MQT) is developed by the Chair for Design Automation at the Technical University of Munich and supported by the Munich Quantum Software Company (MQSC). Among others, it is part of the Munich Quantum Software Stack (MQSS) ecosystem, which is being developed as part of the Munich Quantum Valley (MQV) initiative.
Thank you to all the contributors who have helped make the MQT IonShuttler a reality!
The MQT will remain free, open-source, and permissively licensed—now and in the future. We are firmly committed to keeping it open and actively maintained for the quantum computing community.
To support this endeavor, please consider:
Starring and sharing our repositories: https://github.com/munich-quantum-toolkit
Contributing code, documentation, tests, or examples via issues and pull requests
Citing the MQT in your publications (see References)
Using the MQT in research and teaching, and sharing feedback and use cases
Sponsoring us on GitHub: https://github.com/sponsors/munich-quantum-toolkit