# 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.