This project reads quantum circuits (.qasm files, Qiskit Library circuits) and maps them to the layout of a quantum multi-core system. The mapping is based on a quadratic binary unconstrained optimization (QUBO) formulation.
When using this code, please cite:
@article{bandic2023mapping,
title={Mapping quantum circuits to modular architectures with QUBO},
author={Bandic, Medina and Prielinger, Luise and N{\"u}{\ss}lein, Jonas and Vardoyan, Gayane and Almudever, Carmen G and Feld, Sebastian others},
journal={arXiv preprint arXiv:2305.06687},
year={2023}
}
Make sure you have installed Python 3.8
or higher. Activate your virtual environment and run the following command:
pip install -r requirements.txt
We recommend to get started with the jupyter notebook playground.ipynb
which contains simple examples to build your first mappings.
Also, have a look into experiment.py
, which you can use to reproduce our results.
python src/experiment.py test-circuit ../test
Executing this command will map a small quantum program (test-circuit) to a 3x2 core system (similar to the toy model in the paper) and store the mapping results in the output directory test
.