What are Quantum Computer Simulators?
Before we go into the list, it’s worth mentioning what a quantum computer simulator is. In a nutshell, a quantum computer simulator (also called a quantum circuit simulator) is a machine — or rather a device — that, according to T. H. Johnson et al in their paper What is a quantum simulator?, “actively use quantum effects to answer questions about model systems and, through them, real systems[…] reveal[ing] information about an abstract mathematical function relating to a physical model.”
We should make it clear that we have included software to simulate quantum effects in the list, too, as well as the simulators of quantum computers themselves.
After something in a similar vein? Then here is a link to the Top 35 Open Source Quantum Computing Tools , published at the end of May of this year.
Also, you may like:
- 16 Quantum Computing Software Companies Developing Algorithms
- 13 Companies Offering Quantum Cloud Computing Software Services
- 6 Companies Working With Photonic Quantum Computing Technology in 2022
With that out of the way, I think it’s time to go through some of the best out there in 2022.
63 Best Quantum Computer Simulators
1. Intel Quantum Simulator (IQS, former qHiPSTER)
Available on GitHub, the Intel Quantum Simulator (Intel-QS), also known as qHiPSTER (The Quantum High-Performance Software Testing Environment), is a simulator of quantum circuits optimized to take maximum advantage of multi-core and multi-nodes architectures. It is based on a complete representation of the qubit state but avoids the explicit representation of gates and other quantum operations in terms of matrices. Intel-QS uses the MPI (message-passing-interface) protocol to handle communication between the distributed resources used to store and manipulate quantum states.
2. staq (Quantum Computer Simulator)
Another simulator available as a GitHub repository, staq is a modern C++17 library for the synthesis, transformation, optimization and compilation of quantum circuits authored by softwareQ Inc. under the MIT License. It is usable either through the provided binary tools or as a header-only library that can be included to provide direct support for parsing & manipulating circuits written in the OpenQASM circuit description language.
Inspired by Clang, staq is designed to manipulate OpenQASM syntax trees directly, rather than through an intermediate representation which makes retrieving the original source code impossible. In particular, OpenQASM circuits can be inspected and transformed (in most cases) without losing the original source structure. This makes staq ideally suited for source-to-source transformations, where only specific changes are desired. Likewise, this allows translations to other common circuit description languages and libraries to closely follow the OpenQASM source.
3. QuEST (Quantum Computer Simulator Toolkit)
QuEST is developed by Simon Benjamin’s Quantum Technology Theory Group (qtechtheory) and the e-Research center (oerc) at the University of Oxford. Development is currently led by Tyson Jones.
A full-state strong simulator, representing pure quantum states by state vectors, and mixed states by density matrices, with precise complex amplitudes in the Z-basis, The Quantum Exact Simulation Toolkit is a high-performance quantum computer simulator toolkit, state vectors and density matrices. QuEST uses multithreading, GPU acceleration and distribution to run lightning first on laptops, desktops and networked supercomputers. QuEST just works; it is stand-alone, requires no installation, and is trivial to compile and get running.
4. Scaffold/ScaffCC (Quantum Simulation Software)
ScaffCC is a compiler and scheduler for the Scaffold programing language. It is written using the LLVM open-source infrastructure. It is for the purpose of writing and analyzing code for quantum computing applications.
ScaffCC enables researchers to compile quantum applications written in Scaffold to a low-level quantum assembly format (QASM), apply error correction, and generate time and area metrics. It is written to be scalable up to problem sizes in which quantum algorithms outperform classical ones, and as such provides valuable insight into the overheads involved and possible optimizations for a realistic implementation of future device technology.
5. Qrack (Quantum Simulation Software)
Qrack is a C++ quantum bit and gate simulator, with the ability to support arbitrary numbers of entangled qubits — up to system limitations. Suitable for embedding in other projects, the Qrack QInterface contains a full and performant collection of standard quantum gates, as well as variations suitable for register operations and arbitrary rotations.
The developers of Qrack maintain a fork of the ProjectQ quantum computer compiler which can use Qrack as the simulator, generally. This stack is also compatible with the SimulaQron quantum network simulator. Further, it maintains a QrackProvider for Qiskit. Both ProjectQ and Qiskit integrations for Qrack support the PennyLane stack. (For Qiskit, a fork of the Qiskit plugin provides support for a “QrackDevice”.)
6. QX Simulator
The QX Simulator is a universal quantum circuit simulator developed at QuTech by Nader Khammassi. The QX allows quantum algorithm designers to simulate the execution of their quantum circuits on a quantum computer. The simulator defines a low-level quantum assembly language namely Quantum Code which allows the users to describe their circuits in a simple textual source code file. The source code file is then used as the input of the simulator which executes its content.
Available as a GitHub repository, Quantum++ is a modern C++ general-purpose quantum computing library, composed solely of template header files. Quantum++ is written in standard C++17 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.
Quantum++ is not restricted to qubit systems or specific quantum information processing tasks, being capable of simulating arbitrary quantum processes. The main design factors taken into consideration were ease of use, high portability, and high performance. The library’s simulation capabilities are only restricted by the amount of available physical memory. On a typical machine (Intel i5 8Gb RAM) Quantum++ can successfully simulate the evolution of 25 qubits in a pure state or of 12 qubits in a mixed state reasonably fast.
LanQ is a research project in the field of quantum computer science — a quantum programming language designed to support the execution of multiple processes in parallel with a syntax similar to the C language.
This project is released under GNU GPL license.
libquantum is a C library for the simulation of quantum mechanics, with a special focus laid on quantum computing. It started as a pure quantum computer simulator, but support for general quantum simulation has been recently added. Based on the principles of quantum mechanics, libquantum provides an implementation of a quantum register. Basic operations for register manipulation such as the Hadamard gate or the Controlled-NOT gate are available through an easy-to-use interface. Measurements can be performed on either single qubits or the whole quantum register.
Besides quantum computing, libquantum is able to compute the time-evolution of arbitrary Hamiltonians, including time-dependent ones. This is done via numerical integration of the Schrödinger equation. Computing the time-evolution for time-independent Hamiltonians via exact diagonalization is also possible.
10. QDD (Quantum Computer Simulator Toolkit)
QDD is a C++ library which provides a relatively intuitive set of quantum computing constructs within the context of the C++ programming environment. QDD is unique in that its emulation of quantum computing is based upon a Binary Decision Diagram (BDD) representation of the quantum state. This is in contrast to the complex number representation used by QCL and Open QuBit.
Quantum Fog is another quantum system simulation package developed by the Artiste company. Quantum Fog is similar to QCL and Open QuBit in that it provides an exact simulation of quantum behaviour, but it differs in that it uses Bayesian Nets to represent the quantum state. Bayesian Nets are used in Quantum Fog because of their expressiveness and because they are considered a natural vehicle for working with the conditional probabilities typically encountered in entangled quantum states. Where Bayesian Nets are a natural vehicle for effectively expressing conditional probabilities, BDDs are a natural vehicle for effectively describing boolean functions. The use of BDDs to model the underlying quantum state allows QDD to model relatively large quantum states and provides a relatively high degree of performance. In the reference implementation of Shor’s factoring algorithm provided with the QDD library, SHORNUF, QDD can factor a 16-bit number in approximately 8 minutes on a P200 with 64M of RAM. However, the use of a BDD representation also restricts QDD from operating as a “digital” quantum computer. QCL and Open QuBit, in contrast, support an “analog” computer model.
Although the BDD representation used by QDD provides a relatively high degree of scalability and performance nearly linear in the size of the state representation, the size of the underlying representation is still exponential in the number of quantum bits used and therefore QDD still cannot be used to efficiently factor very large numbers. Nonetheless, it is hoped that, by releasing the source code for QDD, others will be inspired to consider other optimizations to the library that might lead to new or better techniques for modelling quantum computation.
The QDD library and the program SHORNUF are free software licensed under the GPL.
11. qsims (Quantum Simulation Software)
qsims was developed as a tool for studying quantum computing in addressable optical lattices. It is a general-purpose quantum simulation software package, capable of simulating the dynamics of systems with a wide range of Hamiltonians. qsims is by no means limited to optical lattices and could be adapted for use in many other physical systems, or for use as a teaching tool.
qsims represents the spatial wavefunction of a particle as a discretized wavefunction on a grid. Internal states of the particle can be represented using multiple grids. Potentials and couplings between the internal states can be specified, and potentials can be position- and state-dependent.
qsims calculates the Schrodinger propagator exp[-i H t] by using a Chebychev polynomial expansion. This has the advantage that the expansion has an exponential cut-off after a certain point, allowing for extremely high precision with a reasonably small number of terms. The kinetic portion of the wavefunction is calculated by Fourier transforming the spatial wavefunction into momentum space, where p2 is easily calculated.
12. Quantum Computer Language (QCL)
QCL is a programming language for quantum computers. Despite many common concepts with classical computer science, quantum computing is still widely considered a special discipline within the broad field of theoretical physics. One reason for the slow adoption of QC by the computer science community is the confusing variety of formalisms (Dirac notation, matrices, gates, operators, etc.), none of which has any similarity with classical programming languages, as well as the rather “physical’’ terminology in most of the available literature.
QCL (Quantum Computation Language) tries to fill this gap: QCL is a high-level, architecture-independent programming language for quantum computers, with a syntax derived from classical procedural languages like C or Pascal. This allows for the complete implementation and simulation of quantum algorithms (including classical components) in one consistent formalism.
13. Qubiter (Quantum Circuit Simulator)
Qubiter 1.11 is a free computer program pertaining to quantum computers (QC) and quantum Bayesian (QB) nets. Currently, Qubiter is available only as pure C++ source code, without a graphical user interface.
In its current version 1.11, Qubiter takes as input an arbitrary unitary matrix, and returns as output an equivalent sequence of elementary operations (QC operations like controlled-nots and qubit rotations). Such sequences are often represented graphically by qubit circuits.
14. QuCoSi (Quantum Computer Simulator)
QuCoSi is a C++ library for simulating a quantum computer. The used qubits and gates are plain vectors and matrices that can be inspected and modified easily. Its emphasis lies in readability and ease of use.
QuIDDPro is a fast, scalable, and easy-to-use computational interface for generic quantum circuit simulation. It supports state vectors, density matrices, and related operations using the Quantum Information Decision Diagram (QuIDD) data structure. Software packages including Matlab, Octave, QCSim, and libquantum, have also been used to simulate quantum circuits. However, unlike these packages, QuIDDPro does not always suffer from the exponential blow-up in size of the matrices required to simulate quantum circuits. As a result, we have found that QuIDDPro is significantly faster and uses significantly less memory as compared to other generic simulation methods for some useful circuits with many more than ten qubits
16. QWalk (Quantum Circuit Simulator)
QWalk is a free simulator of quantum walks for one- and two-dimensional lattices. The simulator can be easily compiled in Linux or any other similar operating system with a recent C compiler.
17. sqct — Single qubit circuit toolkit
sqct is a software package for the exact and approximate synthesis of single-qubit circuits using Clifford and T gate library.
18. MQT-DDSIM (previously JKQ-DDSIM)
MQT DDSIM is 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.
LIQUi|> is a software architecture and tool suite for quantum computing. It includes a programming language, optimization and scheduling algorithms, and quantum simulators. LIQUi|> can be used to translate a quantum algorithm written in the form of a high-level program into the low-level machine instructions for a quantum device. LIQUi|> is being developed by the Quantum Architectures and Computation Group (QuArC) at Microsoft Research.
20. Quantum Programming Studio
The Quantum Programming Studio is a web-based graphical user interface designed to allow users to construct quantum algorithms and obtain results by simulating directly in the browser or by executing on real quantum computers.
The circuit can be exported to multiple quantum programming languages/frameworks and can be executed on various simulators and quantum computers.
Supported platforms include Rigetti Forest, IBM Qiskit, Google Cirq and TensorFlow Quantum, Microsoft Quantum Development Kit, Amazon Braket and more.
21. Qubit Workbench
Qubit Workbench, from quantum startup Elyah, allows users to take quantum algorithm design to a new level with an all-new IDE experience with a web-based IDE and Simulator, drag and drop circuit builder, and printable circuits.
With QUBIT WORKBENCH LITE, the free version, users can test out quantum computer programs up to three qubits. Two paid versions — QUANTUM ALGORITHM DESIGNER and ENTERPRISE — offer varying functions, from simulating large quantum programs, and building functions, to writing more complex programs for quantum computers.
22. Linear Al
Linear AI is a multi-purpose research, design and teaching tool for quantum information processing. It supports many of the mathematical structures commonly used in the field with notation designed for use by quantum information scientists.
Some of Linear Al’s features are interactive text-based processing of mathematical structures relating to quantum information science, graphical representation of quantum circuits, graphical representation of the one-way quantum computer, a programming language for writing functions
QCAD is a Windows-based environment for quantum computing simulation which helps users design circuits and simulate them. QCAD enables you to design quantum circuits easily with a full GUI (graphical user interface) environment and simulate the designed circuit and show results (states of qubits).
24. Quantum Computer Emulator
The Quantum Computer Emulator (QCE) is a software tool that emulates various hardware designs of quantum computers. QCE simulates the physical processes that govern the operation of a hardware quantum processor, strictly according to the laws of quantum mechanics. QCE also provides an environment to debug and execute quantum algorithms under realistic experimental conditions. The software consists of a Graphical User Interface (GUI) and the simulator itself.
25. Quantum Fog (Quantum Mechanics Simulation Software)
Quantum FogTM (US Patent 5787236) is a Mac application for modeling physical situations that exhibit quantum mechanical behaviour. It’s a tool for investigating and discussing quantum measurement problems graphically, in terms of network diagrams called quantum Bayesian nets. It can calculate one- and two-variable conditional probability distributions, and it can draw a picture of every Feynman path that contributes to a physical situation. It simulates a general-purpose quantum computer.
SimQubit is a GUI quantum circuit simulator, written on top of the Q++ (sourceforge.net/projects/qplusplus) quantum templates. It allows editing of quantum circuits and applying them to quantum states, with multiple ways to view the output probabilities.
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.
Q-Kit is incredibly easy to use, with a simple GUI. Q-Kit is equipped with features like customizing your own gates and importing them into circuits and, classical bits and controls.
28. jQuantum — Quantum Computer Simulator
jQuantum is a program which simulates a quantum computer. Users can design quantum circuits with it and let them run. The aim of jQuantum is to enable development as well as demonstrations of quantum algorithms.
Supplementary to many other quantum computer simulators, jQuantum offers the possibility to design and run quantum algorithms, or quantum circuits, in a flexible and visually oriented representation.
QuanSuite is a suite of Java applications, available for free. QuanSuite application compiles a different kind of input evolution operator Uin. The applications output a quantum circuit for Uin, where Uin is specified either directly, or by giving a Hamiltonian H such that Uin=exp(iH).
Quantomatic is a diagrammatic proof assistant quantum simulator, meaning it provides machine support for reasoning with diagrammatic languages (check out some of our papers). It allows users to draw diagrams and build up proofs using diagrammatic rewrite rules.
31. Qubit101 (Quantum Circuit Simulator)
The Qubit101 simulator is a user-friendly quantum circuit editor and simulator. The tool helps users to create, modify and save the quantum circuits. Along with this, users can simulate its effect over a predefined quantum state, watch the evolution of the state stage by stage, together with the possible measurements results, use other quantum circuits as gates, so complex circuits can be easily created and finally, simulate an almost arbitrary number of qubits.
32. QuSAnn (and Multiplexor Expander)
QuSAnn v1.2 and Multiplexor Expander v1.2 are two Java applications available for free. (Source code included in the distribution.) QuSAnn is a “code generator” for quantum simulated annealing: after the user inputs some parameters, it outputs a quantum circuit for performing simulated annealing on a quantum computer. The quantum circuit implements the algorithm of Wocjan et al.(arXiv:0804.4259), which improves on the original algorithm of Somma et al.(arXiv:0712.1008). The quantum circuit generated by QuSAnn includes some quantum multiplexors. The application Multiplexor Expander allows the user to replace each of those multiplexors with a sequence of more elementary gates such as multiply controlled NOTs and qubit rotations.
33. Strange (Quantum Comuper Simulator)
A quantum simulator with an API and a link to a JavaFX visualiser, Strange is distributed via the traditional Java distribution channels (e.g. maven central and jcenter) and can thus easily be used leveraging maven or gradle build software.
34. Quantum Computer Simulator
The Quantum Computer Simulator is what’s known as an “ideal quantum computer,” meaning that any and all qubits can be entangled and qubits don’t collapse from superposition unexpectedly. A real quantum computer has physical limitations on which qubits can be entangled and for how long superposition states can be maintained. The code you write here may need to be altered slightly to work on a real quantum computer.
The circuit can be imported from OpenQASM and Quil. You can export circuits to OpenQASM, pyQuil, Quil, Qiskit, Cirq, TensorFlow Quantum, QSharp, and QuEST, so it can be used for conversion between quantum programming languages. Circuit drawing can be exported to SVG vector images.
Additionally, when used in the browser, jsqis provides a lucid visual representation of a system of quantum bits. This representation is mathematically precise, allowing people to reason about quantum computing without having mastered any topics in mathematics.
The package is meant for both instructional purposes and self-learning through experimentation. It was originally implemented as a visual aid for a presentation about quantum computing given at the LA Hacker News Meetup.
QSWalk provides a package for Julia programming language which enables high-performance analysis of quantum stochastic walks. There are two main advantages of the presented packages over the existing software. First, it can be used to describe quantum stochastic walks in the local, as well as global regime. Second, it enables the user to seamlessly utilize parallel computing capabilities.
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.
QuantumWalk.jl is a package for Julia programming language implementing models of quantum continuous and discrete walks used for performing a quantum spatial search. Its main purpose is to provide general functionalities by crossing the usage of quantum models and application implementations.
40.Yao.jl (Quantum Software Simulator)
Yao.jl is an open-source framework that aims to empower quantum information research with software tools, quantum algorithm design, quantum software 2.0, and quantum computation education.
Quantum is a free Mathematica add-on quantum simulator for Dirac Bra-Ket Notation, Quantum Algebra, Quantum Computing and the QHD approximation to the Heisenberg Equations of Motion authored by by José Luis Gómez-Muñoz and Francisco Delgado from the Tecnológico de Monterrey.
Available as a GitHub repository, QuantumUtils for Mathematica is a software library for quantum information scientists facilitating symbolic and numerical calculations, with extensive documentation.
43.Quantum Information Programs in Mathematica
Quantum Information Programs in Mathematica has a collection of functions and other objects useful for simulating small quantum circuits using Mathematica. It is intended for tinkerers: users who want to set up and modify their own simulation programs using Mathematica, but do not have the time or inclination to develop everything from scratch. The documentation provides a description of how the system works, along with a simple example.
44. QI (Quantum Computer Simulator)
A GitHub repository, QI is a package for Mathematica computer algebra system developed to support symbolic analysis of quantum states and operations.
qinf is a quantum information package for the Maxima computer algebra system by John Lapeyre, a Quantum Software Engineer at Rigetti Computing.
46. M-fun for QC Progs
M-fun for QC Progs (Matlab Functions — and fun — for Quantum Computer Programmers), by R.R.Tucci, is a toolbox of Octave/MATLAB m-files for QC programming
QETLAB (Quantum Entanglement Theory LABoratory) is a MATLAB toolbox for exploring quantum entanglement theory. While there are many quantum information theory toolboxes that allow the user to perform basic operations such as partial transposition, new tests are constantly discovered. The goal of QETLAB is to remain up-to-date and contain an ever-growing catalogue of separability criteria, positive maps, and related functions of interest.
Furthermore, QETLAB is designed to work well both with full matrices and with large sparse matrices and makes use of many advanced techniques based on semidefinite programming.
QLib is a Matlab package intended to provide a wide audience within the QIT community with the tools needed to accelerate research by quickly and efficiently framing and exploring questions, forming intuition through the use of visualizations, ruling-out or validating hypotheses through the use of optimization
QLib currently covers most, if not all, of the “textbook” primitives and provides us with a rich toolset with which to advance knowledge in the outfield and engage in “experimental theory”.
49. Qubit4matlab (Quantum Mechanics Simulation Software)
QUBIT4MATLAB is a MATLAB package for quantum information/quantum optics written by Geza Toth.
This program package helps to model spin chains, qubit registers, etc. according to non-relativistic quantum mechanics and some novel ideas from quantum information theory.
In particular, it contains MATLAB routines for reordering qubits, computing the reduced density matrix after removing some of the qubits and for partial transposition, etc. Most of the routines work also for qudits. It also has routines for handling GHZ states, cluster states, graph states, Dicke states, etc.
50. Quantum.NET (Quantum Simulator Library)
Quantum.NET is a library to manipulate qubits and simulate quantum circuits.
Quirk is a drag-and-drop quantum circuit simulator that runs in your browser, with no installing or configuring or scripting. A toy for exploring and understanding small quantum circuits, especially if you want to quickly explore the behaviour of a small quantum circuit.
52. QRBGS (Quantum Random Bit Generator)
QRBG quantum simulators have been motivated by scientific necessity (primarily of the local scientific community) of running various simulations (in cluster/Grid environments), whose results are often greatly affected by the quality (distribution, nondeterminism, entropy, etc.) of used random numbers. Since true random numbers are impossible to generate with a finite state machine (such as today’s computers), scientists are forced to either use specialized expensive hardware number generators or, more frequently, to content themselves with suboptimal solutions (like pseudo-random numbers generators).
PyQu is an extension module for Python to implement quantum algorithms and is an extension module for Python 3 whose main goal is to provide a complete set of data types and functions for simulating quantum computation with a neat syntax. PyQu is written in C and makes extensive use of libquantum-1.0.0 library by Björn Butscher and Hendrik Weimer. However, PyQu intends not to be just a wrapper of libquantum to Python, but rather a new high-level language (in Python style of course) for quantum programming.
Qiskit is an open-source SDK for working with quantum computers at the level of pulses, circuits, and application modules developed by IBM Research and the Qiskit community.
It includes a comprehensive set of quantum gates and a variety of pre-built circuits so users at all levels can use Qiskit for research and application development.
qitensor is a python quantum simulator module for quantum information and map-state duality, matrix-level quantum operations, with labelled component Hilbert spaces.
56. QuaEC (Quantum Simulator Tool)
QuaEC is a library for working with quantum error correction and fault tolerance in Python. In particular, QuaEC provides support for manipulating Pauli and Clifford operators, as well as binary symplectic representations of each.
It is intended to provide an easy, automated analysis of error-correcting protocols based on stabilizer codes. for example, one can define a stabilizer code from a pre-existing library and produce an object representing a circuit to encode data into that code.
57. sparse_pauli (Quantum Physics Simulation Software)
The implementation of large, sparse Pauli operators using pairs of sets. This quantum physics simulation software contains absolutely minimal functionality, and is an example of extreme “physicist code”.
58. toqito (Quantum Simulator Library)
toqito is an open-source Python library for studying various objects in quantum information.
It allows users to estimate quantum and classical values of nonlocal games, optimize for quantum state distinguishability scenarios, functions for exploring measures of entanglement and entangled states, and performs operations on and determine properties of quantum states, channels, and measurements.
As well as these things, it supports generating random quantum states and measurement operators.
OpenQASM is an imperative programming language for describing quantum circuits. It is capable to describe universal quantum computing using the circuit model, measurement-based model, and near-term quantum computing experiments, released as part of IBM’s QISKit.
60. VQS — Visual Quantum Simulator
VQS (Visual Quantum Simulator) is a universal Schrödinger full state Quantum Simulator, designed as a Scala DSL
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 the implementation of Shor’s algorithm.
62. Quipper (Quantum Gate Simulator)
Quipper is an embedded, scalable functional programming language for quantum computing. It provides a high-level circuit description language — this includes gate-by-gate descriptions of circuit fragments, as well as powerful operators for assembling and manipulating circuits, a syntax that allows a mixture of procedural and declarative programming styles, and built-in facilities for the automatic synthesis of reversible quantum circuits, including from classical code.
63. qchas (Quantum Gate Simulator)
qchas is a library useful for implementing quantum algorithms. It contains definitions of quantum gates and qubits written in Haskell.
The outcome of Quantum Simulators
We came to the end of our journey through quantum computing simulators. To sum it up, Quantum computing simulators are gaining much more attention in the quantum computing world. Finally, we think that before mentioned quantum simulators are on top of the food chain at the moment.