Skip to content
/ ddsim Public
forked from cda-tum/mqt-ddsim

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

License

Notifications You must be signed in to change notification settings

tyi1025/ddsim

 
 

Repository files navigation

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:

About

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 72.6%
  • Python 23.1%
  • Shell 2.4%
  • CMake 1.9%