• Stars
    star
    131
  • Rank 275,867 (Top 6 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 5 years ago
  • Updated 4 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

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

PyPI OS License: MIT CI CD Documentation codecov

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

A tool for classical quantum circuit simulation developed as part of the Munich Quantum Toolkit (MQT) by the Chair for Design Automation at the Technical University of Munich. It builds upon MQT Core, which forms the backbone of the MQT.

Documentation

If you have any questions, feel free to contact us via [email protected] 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 and supports Python 3.8 to 3.12.

(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)

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

System Requirements and Building

The implementation is compatible with any C++17 compiler and a minimum CMake version of 3.19. 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:


Acknowledgements

The Munich Quantum Toolkit has been supported by the European Research Council (ERC) under the European Union's Horizon 2020 research and innovation program (grant agreement No. 101001318), the Bavarian State Ministry for Science and Arts through the Distinguished Professorship Program, as well as the Munich Quantum Valley, which is supported by the Bavarian state government with funds from the Hightech Agenda Bayern Plus.

More Repositories

1

mqt-qmap

MQT QMAP - A tool for Quantum Circuit Mapping written in C++
C++
93
star
2

mqt-qcec

MQT QCEC - A tool for Quantum Circuit Equivalence Checking
C++
88
star
3

mqt-bench

MQT Bench - A MQT Tool for Benchmarking Quantum Software Tools
Python
71
star
4

mqt-qecc

MQT QECC - Tools for Quantum Error Correcting Codes
C++
59
star
5

fiction

An open-source design automation framework for Field-coupled Nanotechnologies
C++
55
star
6

mqt-core

MQT Core - The Backbone of the Munich Quantum Toolkit
C++
53
star
7

mqt-predictor

MQT Predictor - A MQT tool for Automatic Device Selection with Device-Specific Circuit Compilation for Quantum Computing
Python
42
star
8

dd_package

MQT decision diagram package tailored to quantum computing
C++
27
star
9

mqt-problemsolver

MQT ProblemSolver - A MQT tool for Solving Problems Using Quantum Computing
Python
21
star
10

mqt-ddvis

MQT DDVis - An installation-free web-tool which visualizes quantum decision diagrams and allows to explore their behavior when used in design tasks such as simulation, synthesis, or verification.
JavaScript
19
star
11

zx

MQT ZX - A library for working with ZX-diagrams
C++
16
star
12

mnt-nanoplacer

NanoPlaceR: An open-source framework for placement and routing of Field-coupled Nanotechnologies based on reinforcement learning.
Python
15
star
13

syrec

SyReC Synthesizer - An MQT Tool for the Synthesis of Reversible Circuits
C++
15
star
14

mmft-simulator

A simulator for closed channel-based microfluidic devices.
C++
15
star
15

mnt-bestagon-library

Design, layout, and simulation files of the paper "Hexagons are the Bestagons: Design Automation for Silicon Dangling Bond Logic" by M. Walter, S. S. H. Ng, K. Walus, and R. Wille in DAC 2022.
C++
15
star
16

mqt-dasqa

MQT DASQA - Designer for Superconducting Quantum Architectures
Python
14
star
17

mqt-qudit-compilation

Python
13
star
18

mtct

Design Automation for Railway Systems
C++
12
star
19

mqt-qudit-entanglement-compilation

Python
12
star
20

mmft-droplet-simulator

C++
11
star
21

da_etcs

Design Automation Toolkit for the European Train Control System
C++
11
star
22

mqt-qusat

MQT QuSAT - Using Satisfiability Testing (SAT) Techniques for Encoding Quantum Computing
C++
11
star
23

mnt-siqad-plugins

Physical Simulation of Atomic Silicon Quantum Dot Assemblies.
C++
11
star
24

mqt-misim

MQT library to handle quantum circuits with mixed dimensions
C++
9
star
25

LogicBlocks

A Interface Library for SAT/SMT Abstractions written in C++
C++
9
star
26

mmft-fuel-cell

The source code for simulating microfluidic fuel cell (MFFC) performance.
C++
9
star
27

mqt-qudit-compression

A tool for mapping qubits on a qudit architecture of preferred size
OpenQASM
9
star
28

setup-z3

Set up a specific version of the Z3 theorem prover
TypeScript
7
star
29

ion-shuttler

MQT IonShuttler generate shuttling schedules for QCCD architectures
Python
3
star
30

sidb-layouts-quicksim-validation

Layout and simulation files of the paper "QuickSim: Efficient and Accurate Physical Simulation of Silicon Dangling Bond Logic" by J. Drewniok, M. Walter, S. S. H. Ng, K. Walus, and R. Wille.
C++
3
star
31

mqt-planqk

Service provider for the MQT on the PlanQK platform
Python
2
star
32

mnt-operational-domains

1
star