List of QC simulators

C/C++

  • Qrack
    • Description: Qrack is a highly optimized OpenCL-supporting quantum simulator implemented in C++ with extensive documentation, testing, and performance metrics. Usable either as a library inside a larger application or directly via a 6502 emulator. Suitable for production use in high performance environments. Supports a wide range of standard and custom gates, as well as extensive optimizations for parallel gate operations and ALU operations.
    • Webpage: https://vm6502q.readthedocs.io
    • Status: Active
  • QX Simulator
    • Description: QX is a high-performance universal quantum computer simulator which simulates the execution of quantum circuits on perfect or error-prone quantum computers. The input of the QX simulator are quantum circuits which are described using a simple quantum assembly language (QASM).
    • Webpage: http://quantum-studio.net/
    • Status: Active
  • Quantum++
    • Description: Quantum++ is a C++11 general purpose quantum computing library, composed solely of template header files. Quantum++ is written in standard C++11 and has very low external dependencies, using only the Eigen 3 linear algebra header-only template library and, if available, the OpenMP multi-processing library.
    • author: Vlad Gheorghiu, vgheorgh AT gmail DOT com
    • Webpage: https://github.com/vsoftco/qpp
    • Status: Active, version 1.0, released on 3 July 2018 under the MIT License
    • Copyright (c) 2013 - 2018 Vlad Gheorghiu
  • qsims
    • Description: A general-purpose quantum simulation software package, capable of simulating the dynamics of systems with a wide range of Hamiltonians
    • Webpage: http://qsims.sourceforge.net/
    • Status: Active, under development
  • Quantum Computer Language
  • Quantum Network Computing
  • QuIDDPro
    • Description: Uses the Quantum Information Decision Diagram (QuIDD) datastructure to simulate a number of important circuits using asymptotically less runtime and memory resources than simulation techniques based on explicit matrices and vectors.
    • Webpage: http://vlsicad.eecs.umich.edu/Quantum/qp/
    • Status: Finished

CaML

OCaml

Coq

F#

GUI based

  • Linear Al
    • Description: Quantum development environment; research, design and teaching tool for quantum computing and quantum information
    • Webpage: http://linearal.sourceforge.net/
    • Status: Active
  • QCAD
    • Description: Windows-based environment for quantum computing simulation (Open Source)
    • Webpage: http://qcad.sourceforge.jp/
    • Status: Active
  • Quantum Fog
    • Description: Quantum simulator (and graphic programming language) that uses quantum generalization of Bayesian Networks; works only on MacOS X (10.2 or later)
    • Webpage: http://www.ar-tiste.com/qfog.html
    • Status: Alive
  • Q-Kit
    • Description: Q-Kit or Quantum-Kit is a graphical quantum circuit simulator. Q-Kit enables building and designing quantum circuits, visualizing the effect of quantum gate operations as probability distributions of quantum states or on a Bloch Sphere.
    • Webpage: https://sites.google.com/view/quantum-kit/home
    • Status: Active

Java

  • jQuantum - Quantum Computer Simulator
  • QuanSuite
    • Description: Suite of 7 Java applications, all based on a common class library called QWalk. Each application compiles a different kind of evolution operator.
    • Webpage: http://www.ar-tiste.com/QuanSuite.html
    • Status: Alive
  • qMIPS101
    • Description: Two quantum computing Java applications: Qubit101 an usable and efficient quantum circuit simulator and qMIPS a simulator of a processor with an integrated quantum functional unit.
    • Webpage: http://institucional.us.es/qmipsmaster/
    • Status: Active
  • QuSAnn (and Multiplexor Expander)
    • Description: 2 Java applications. QuSAnn outputs quantum circuit for doing simulated annealing on a quantum computer. MultiplexorExpander is a utility tool that expands quantum multiplexor gate into sequence of more elementary gates.
    • Webpage: http://www.ar-tiste.com/qusann.html
    • Status: Alive

Javascript

  • quantum-circuit - Quantum circuit simulator implemented in javascript
    • Description: Optimized memory usage but CPU intensive. Smoothly runs 20+ qubit simulations on laptop. Can run in browser or at server (node.js). No UI: you can use it in your program to run quantum simulations. Circuit can be imported from and exported to OpenQASM. Circuit drawing can be exported to SVG vector image.
    • Webpage: https://www.npmjs.com/package/quantum-circuit
    • Status: Active
  • jsqis - Javascript Quantum Information Simulator
    • Description: A quantum simulator for use in the browser, emphasizing a complete, precise, visual representation of quantum bits and registers
    • Webpage: https://github.com/garrison/jsqis
    • Status: Active

Julia

  • QuantumOptics.jl
    • Description: QuantumOptics.jl is a numerical framework written in the Julia programming language that makes it easy to simulate various kinds of open quantum systems. It is inspired by the Quantum Optics Toolbox for MATLAB and the Python framework QuTiP.
    • Webpage: https://qojulia.org/
    • Status: Active

Maple

Mathematica

  • Quantum Information Programs in Mathematica
  • TRQS
    • Description: Package for Mathematica computing system allowing to generate true random quantum states. It can be used with Quantis random number generator or QRNG service as a source of randomness.
    • Webpage: http://www.iitis.pl/~miszczak/trqs
    • Status: Active

Maxima

MATLAB/Octave

  • QETLAB
    • Description: Toolbox for quantum information theory and entanglement
    • Webpage: http://www.qetlab.com
    • Status: Active
  • Quantum Computing Functions for Matlab (QFC)
  • Quantum Octave

Maxima

.NET

Online Services

  • Fraunhofer Quantum Computing Simulator
  • Quantum Walks
    • Description: Online calculator for simulating quantum walks on cycles hosted at The National University of Ireland, Galway.
    • Webpage: http://walk.to/quantum
    • Status: Unknown
  • Quantum Circuit Simulator (Davy Wybiral)
    • Description: Online point-and-click circuit simulator written in Javascript using NumericJS.
    • Webpage: http://www.davyw.com/quantum/
    • Status: Complete
  • QRBGS
  • VirtualQC
    • Description: Online quantum computer emulator that runs Shor's algorithm (up to 205 qubits) and quantum simulation algorithms.
    • Webpage: http://demo.riverlane.io
    • Status: Complete

Perl/PHP

Python

  • Cirq
    • Description: A python framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
    • Webpage: https://github.com/quantumlib/Cirq
    • Status: Active
  • ProjectQ
    • Description: ProjectQ is an open-source software framework for quantum computing started at ETH Zurich. It allows users to implement their quantum programs in Python using a powerful and intuitive syntax. ProjectQ can then translate these programs to any type of back-end, be it a simulator run on a classical computer or an actual quantum chip.
    • Webpage: https://projectq.ch/
    • Status: Active
  • PyQu
    • Description: High-level quantum programming in Python (C extension module using libquantum).
    • Webpage: http://code.google.com/p/pyqu
    • Status: Under developement
  • QISKit
    • Description: An open-source quantum computing framework for leveraging today's quantum processors and conducting research
    • Webpage: https://qiskit.org/
    • Status: Active
  • qitensor
    • Description: Matrix-level quantum operations, with labeled component Hilbert spaces. Symbolics supported in Sage.
    • Webpage: http://www.stahlke.org/dan/qitensor
    • Status: Active
  • QuTiP
    • Description: Framework for solving open quantum systems using a wide range of master equation and stochastic methods. Also quantum optimal control modules for control pulse engineering.
    • Webpage: http://qutip.org/
    • Status: Active
  • sparse_pauli
    • Description: Implementation of large, sparse Pauli operators using pairs of sets indicating where each Pauli has X and Z support. Contains absolutely minimal functionality.
    • Webpage: https://github.com/bcriger/sparse_pauli
    • Status: Active

Q#

  • Microsoft Quantum Development Kit

QASM

  • OpenQASM

Rust

  • QCGPU
    • Description: QCGPU is a high performance, hardware accelerated quantum computer simulator written with Rust and OpenCL.
    • Webpage: https://qcgpu.github.io/
    • Status: Active

Scheme/Haskell/LISP/ML

  • QIO
    • Description: The Quantum IO Monad is a library for defining quantum computations in Haskell. It can be thought of as an embedded language within Haskell, and comes with functions for simulating the running of these quantum computations. The distribution contains many example computations written in QIO, including an implementation of Shor's algorithm. Also implemented in Agda.
    • Webpage: http://hackage.haskell.org/package/QIO
    • Status: Active

Category:Resources for the QIP Community Category:Software

Last modified: 
Wednesday, October 24, 2018 - 17:27