Plugin distribution

Since DQCsim is only a framework, installing just DQCsim doesn't let you do much besides development. To get started with it quickly, you'll also need to install some plugins. At the time of writing, the following plugins are available or planned.

QuantumSim backend

  • Install: sudo pip3 install dqcsim-quantumsim
  • Source/docs: GitHub

A very lightweight connection to the QuantumSim simulator. Very suitable as a more in-depth example for Python plugin development, as it's Python-only.

OpenQL mapper operator

  • Install: sudo pip3 install dqcsim-openql-mapper
  • Source/docs: GitHub

This plugin converts an incoming gatestream using virtual qubits to physical qubits in the outgoing gatestream, inserting swaps and moves along the way to satisfy configurable connectivity constraints, using the OpenQL mapper.

QX backend

  • Install: sudo pip3 install dqcsim-qx
  • Source/docs: GitHub

A connection to the QX simulator.

OpenQASM frontend

  • Install: cargo install dqcsim-openqasm
  • Source: Github

Allows execution of OpenQASM algorithm descriptions.

cQASM frontend

  • Install: sudo pip3 install dqcsim-cqasm
  • Source: Github

Allows execution of cQASM algorithm descriptions, giving DQCsim access to the full capability of the OpenQL compiler, as cQASM is its primary output format.

cQASM output operator (planned)

Interprets the gatestream passing through it to write a cQASM file.

Metrics operator (planned)

Interprets the gatestream passing through it to calculate statistics, like circuit depths, number of swap gates, and so on.

[Your plugin here]

Developing plugins for DQCsim is very easy once you get the hang of it! Most of the plugins listed above were written in about a day, initial debugging of DQCsim aside. Keep reading!