/ddsim

MQT DDSIM - A quantum circuit simulator based on decision diagrams written in C++

Primary LanguageC++MIT LicenseMIT

PyPI OS License: MIT CI Bindings Documentation codecov

MQT DDSIM - A quantum circuit simulator based on decision diagrams written in C++

A tool for classical quantum circuit simulation by the Chair for Design Automation at the Technical University of Munich. QCEC is part of the Munich Quantum Toolkit (MQT; formerly known as JKQ and developed by the Institute for Integrated Circuits at the Johannes Kepler University Linz). It builds upon our quantum functionality representation (QFR) and our decision diagram (DD) package.

Detailed documentation on all available formats, options, and algorithms is available at ReadTheDocs.

If you have any questions, feel free to contact us via quantum.cda@xcit.tum.de or by creating an issue on GitHub.

Getting Started

DDSIM bundled with the provider and backends for Qiskit is available via PyPI for Linux, macOS, and Windows.

(venv) $ pip install mqt.ddsim

The following code gives an example on the usage:

from qiskit import *
from mqt import ddsim

circ = QuantumCircuit(3)
circ.h(0)
circ.cx(0, 1)
circ.cx(0, 2)

print(circ.draw(fold=-1))

backend = ddsim.DDSIMProvider().get_backend('qasm_simulator')

job = execute(circ, backend, shots=10000)
counts = job.result().get_counts(circ)
print(counts)

System Requirements and Building

The implementation is compatible with any C++17 compiler and a minimum CMake version of 3.14. Please refer to the documentation on how to build the project.

Building (and running) is continuously tested under Linux, macOS, and Windows using the latest available system versions for GitHub Actions.

References

DDSIM has been developed based on methods proposed in the following papers: