Quantum full-stack libraries
Braket
Amazon’s fully managed quantum computing service for building quantum algorithms.
Cirq
Framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
Forest
Rigetti’s software library for writing, simulating, compiling and executing quantum programs.
Ocean
D-Wave System’s suite of tools for solving hard problems with quantum computers.
OpenQL
Compiler framework with algorithm libraries, optimizer, scheduler, QEC, mapping, micro-code generator.
ProjectQ
Hardware-agnostic framework with compiler and simulator with emulation capabilities.
Q#
Microsoft’s quantum programming language with Visual Studio integration.
Qiskit
Framework for noisy quantum computers at the level of pulses, circuits, and algorithms (supported by IBM).
Silq
Silq is a high-level quantum programming language with safe uncomputation and intuitive semantics.
Strawberry Fields
Xanadu’s software library for photonic quantum computing.
Tequila
An Extensible Quantum Information and Learning Architecture developed by Alan Aspuru-Guzik’s group (UofT).
XACC
Extreme-scale programming model for quantum acceleration within high-performance computing.
staq
Full stack quantum processing toolkit.
Quantum simulators
BLACK-STONE
Specification and implementation of quantum common lisp, for gate-model quantum computers.
Cliffords.jl
Efficient calculation of Clifford circuits in Julia.
Intel Quantum Simulator
Distributed qubit register quantum simulator using OpenMP and MPI.
JKQ-DDSIM
Error-free quantum simulator using decision diagrams as underlying data structure. (arXiv / IEEE)
Liqui|>
Toolsuite for quantum simulation developed by Microsoft QuArC.
PIQS
Efficient simulation of open quantum dynamics of identical qubits.
QCGPU
High-performance GPU-accelerated quantum computer simulation outlined in this arXiv paper.
QCL
High level, hardware-agnostic programming language for quantum computers (syntax like C or Pascal).
QCircuits
User-friendly quantum circuit simulator designed for students and newcomers to quantum computing.
QOCS
Quantum OCaml Circuit Simulator is a functional approach to simulating quantum gates.
QSimulator.jl
Unitary and Lindbladian evolution in Julia.
QTop
Simulation and visualization of topological quantum computers.
QVM
Rigetti’s high-performance quantum virtual machine.
QWIRE
A quantum circuit language and formal verification tool described in this paper.
Qibo
Framework for quantum simulation with hardware acceleration, including multi-GPU support.
Qiskit Aer
High performance simulator for quantum circuits that includes noise models (supported by IBM).
Qlmp
Interpreter for the functional quantum programming language Qumin.
Qrack
Comprehensive qubit and gate implementation for developing universal virtual quantum processors.
QuEST
Quantum Exact Simulation Toolkit is a high performance multicore simulator of universal quantum circuits.
QuNetSim
A quantum network simulation framework.
QuPy
Quantum circuit simulator for both CPU and GPU.
QuSim
Ideal noise-free multi-qubit simulator written in 150 lines of code.
QuSpin
Exact diagonalization and dynamics of arbitrary boson, fermion and spin many-body systems.
QuTiP
User-friendly and efficient numerical simulations of a wide variety of open quantum systems.
QuaC
Parallel time-dependent open quantum systems solver.
Quantum Circuit Simulator
Smoothly runs 20+ qubit simulations in browser or on node.js server.
Quantum JavaScript (Q.js)
Drag-and-drop circuit editor, simulator, documented API, text-as-circuit DSL, concept primers.
Quantum Virtual Machine
Reference implementation of Rigetti’s Quantum Virtual Machine.
Quantum++
High-performance general purpose quantum simulator (can simulate d-dimensional qudits).
QuantumInfo.jl
Julia library for quantum information related calculations.
QuantumUtils
Tools for quantum control, simulation, channel representation conversion, and perturbations.
Quintuple
Simulating the 5-qubit processor of the IBM Quantum Experience.
Quipper
Scalable functional programming language for quantum computing based on Quantum Lambda Calculus.
Quirk
Drag-and-drop quantum circuit simulator in your browser.
RandomQuantum.jl
Package for generating random quantum states and processes.
SQUANCH
A distributed simulation framework for quantum networks and channels.
SeQuencing
Construct and simulate realistic quantum control sequences using QuTiP.
SimulaQron
Application level simulator of a quantum network.
SwiftQuantumComputing
Quantum circuit simulator with a bit of genetic programming.
TNQVM
Tensor Network QPU Simulator for Eclipse XACC.
Yao.jl
Extensible, Efficient Quantum Algorithm Design for Humans.
jquil
A Java library for quantum programming using Quil.
jsquil
JavaScript interface for writing Quil programs.
libQuantumJava
Crude translation from the C implementation of libquantum
to a Java version.
qSim
High level, elementary simulation library.
Quantum annealing
C-to-D-Wave
Compile a very small subset of C to a D-Wave Hamiltonian function
QA Prolog
Compile a subset of Prolog to a D-Wave Hamiltonian function
QMASM
Quantum macro assembler for D-Wave systems
Qbsolv
QUBO solver with D-Wave or classical tabu solver backend.
Virtual Hardware Embedding
Virtual Hardware Embedding Suite for adiabatic quantum computing.
chimera_embedding
Algorithms to generate native-structured embeddings for Chimera graphs.
dimod
Shared API for Ising and QUBO problems.
dwave-cloud-client
Min. implementation of the REST interface to communicate with D-Wave’s Solver API.
dwave-system
API for easily incorporating D-Wave quantum annealers as samplers in the Ocean software stack.
dwave_neal
An implementation of a simulated annealing sampler.
dwave_networkx
Exploration and analysis of network graphs.
dwavebinarycsp
Map constraint satisfaction problems with binary variables to binary quadratic models.
edif2qmasm
Compile Verilog, VHDL, and other hardware-description languages to a D-Wave Hamiltonian function
embedding_utilities
Mapping samples between original and embedded graph.
micro_client_sapi_dimod
Dimod wrapper for the D-Wave Micro Client.
minorminer
Heuristic tool for minor graph embedding.
penaltymodel
Utilities and interfaces for using penalty models.
sapi_dimod
Dimod wrapper for D-Wave’s Solver API (SAPI).
Quantum algorithms
Adapt
Algorithms for adaptive refinement of measurements.
Arline Quantum
Library with implementation of quantum gates and hardware, a part of Arline Benchmarks project.
FermiLib
Software for analyzing fermionic quantum simulation algorithms with ProjectQ.
Grove
Quantum algorithms implemented using Rigetti’s pyQuil.
OpenFermion
Compiling and analyzing quantum algorithm for quantum chemistry simulations.
PennyLane
Library for quantum ML, automatic differentiation and optimization of hybrid computations.
QFog
Framework for analyzing both classical and quantum Bayesian Networks.
Qiskit Nature
Qiskit component for chemistry and physics problems including ground state energy computations, excited states and dipole moments of molecule, both open and closed-shell.
Qiskit Optimization
Qiskit component that covers the whole range from high-level modeling of optimization problems.
Qiskit Machine Learning
Qiskit component that contains classification algorithms such as QSVM and VQC (Variational Quantum Classifier). There is also QGAN (Quantum Generative Adversarial Network)
Qiskit Finance
Qiskit component that contains uncertainty components for stock/securities problems, Ising translators for portfolio optimizations and data providers to source real or random data to finance experiments.
Qiskit Tutorial
Jupyter notebook filled with tutorials for Qiskit.
Quantum Katas
Programming exercises for learning Q# and quantum computing.
Quantum TSP
Tutorials on solving Travelling Salesman Problem using quantum computing (QAOA).
QuantumFlow
Quantum Algorithms Development Toolkit e.g. allowing for backpropagation with QAOA.
QuantumTomography.jl
Julia package to perform quantum state and process tomography.
Quantum_Edward
Python tools for supervised learning by Quantum Neural Networks
VQF
Implementation of Variational Quantum Factoring algorithm (in pyQuil)
XACC Examples
Example code using XACC for quantum computing.
XACC QChem
QPU Benchmarks for Quantum Chemistry via XACC, Psi4 and OpenFermion.
XACC VQE
Variational quantum eigensolver built on XACC for distributed, and shared memory systems.
Quantum compilers
Arline Benchmarks
Automated benchmarking platform for quantum compilers, quantum hardware and quantum algorithms.
Mitiq
Cross-platform, error-mitigating quantum compiler from Unitary Fund.
PyZX
Python library for quantum circuit rewriting and optimisation using the ZX-calculus.
QGL.jl
A performance orientated QGL compiler.
QGL2 Compiler
Language compiler for imperative Quantum Gate Language (QGL).
Qiskit Terra
Python library for quantum circuit rewriting and optimization (supported by IBM).
Qubiter
Quantum compiler with Python wrapper for LAPACK’s CS Decomposition to build a binary tree of matrices.
ScaffCC
Compilation, analysis and optimization framework for the Scaffold quantum programming language.
UniversalQCompiler
Synthesis of isometries (including unitaries and state preparation), channels and POVMs.
quilc
Rigetti’s optimizing Quil compiler.
Quantum assembly
Blackbird
Open-source quantum instruction language currently used for Xanadu’s photonic hardware.
OpenQASM
Open-source quantum assembly language.
QMASM
A quantum macro assembler for D-Wave’s quantum annealers.
Quil
An open hybrid quantum/classical instruction set currently used by Rigetti. Parser
Quantum and post-quantum cryptography
QRL
Quantum Resistant Ledger utilizing hash-based one-time merkle tree signature scheme instead of ECDSA.
liboqs
C library for quantum-resistant cryptographic algorithms.
openssh
OpenSSH with quantum-safe key exchange algorithms.
openssl
OpenSSL with quantum-safe cryptographic algorithms.
Experimental quantum computing
ARTIQ
Next-generation control system for quantum information experiments.
PyQLab
Library for instrument control and superconducting QIP experiments.
QFlow-lite
Machine Learning tools for autotuning quantum dot experiments.
QGL
Domain-specific language embedded in Python for specifying pulse sequences.
Qlab
Measurement and control software for superconducting qubits.
Qlab.jl
Generic lab tools in Julia.
Quince
Node-based GUI that allows for graphical configuration of qubit experiments in Auspex.
qupulse
Quantum computing pulse parametrization and sequencing framework (formerly qc-toolkit).
Quantum fun
Entanglion
The world’s first open source quantum computing board game. For 2 players.
QSEL
Quantum programming language putting entanglement and superposition front and center.
Quantum Awesomeness
Simple puzzles to benchmark various quantum processor.
Quantum Battleships
Playing battleships with quantum measurements.
Quantum Catsweeper
Quantum game loosely based on Minesweeper Flag.
Quantum Game with Photons
Puzzle game in browser, with polarization, superposition, and measurement.
Quantum Music Composer for IBM Q
Compose and perform quantum music with IBM Q.
Quantum Music Composer for Rigetti
Compose and perform quantum music with Rigetti’s Forest.
SudoQ
Sudoku solver that leverages a D-Wave Quantum Annealer.
bloqit
A tiny qubit duel for your smart phone.
feyn
Puzzle game for the browser in which you need to find the combination of gates that the qubits need to pass.
Quantum tools
IBM Q bot
Bot for Slack and Telegram to monitor the load of IBM Q quantum computers.
QI
Toolkit for common quantum information functions.
QuantumGraphs
Grow and study random graphs by a continuous, randomly collapsing quantum walk.
Quil syntax highlighter
Syntax highlighter for PyCharm.
toqito
Framework to study problems pertaining to entanglement theory, nonlocal games, and other aspects of quantum information.
Abandoned projects
PySimulator
Python with C++ backend simulator for superconducting circuits.
QACG
Quantum Arithmetic Circuit Generator in Haskell.
QCViewer
A visual quantum circuit design and simulation tool.
Qiskit-JS
Quantum information software kit for JavaScript (supported by IBM).
Squankum
Visual Java quantum simulator.
libquantum
C library for quantum computing and quantum simulation.
pQCS
Parallel quantum circuit synthesis with optimal T-count.