Curated list of open-source developed quantum software projects.
Please read the contribution guidelines before contributing.
- Quantum full-stack libraries
- Quantum simulators
- Quantum annealing
- Quantum games
- Quantum algorithms
- Quantum compilers
- Quantum assembly
- Experimental quantum computing
- Abandoned projects
Python
- QISKit - IBM's quantum information software kit for simulating, compiling and executing quantum programs.
- Strawberry Fields - Xanadu's software library for photonic quantum computing.
- Forest - Rigetti's software library for writing, simulating, compiling and executing quantum programs.
- ProjectQ - Hardware-agnostic quantum software framework with compiler and simulator with emulation capabilities.
Q#
- Q# - Microsoft's quantum programming language with Visual Studio integration.
C++
Python
- Quantum Virtual Machine - Reference implementation of Rigetti's Quantum Virtual Machine.
- QuTiP - User-friendly and efficient numerical simulations of a wide variety of Hamiltonians.
- QTop - Simulation and visualization of topological quantum computers.
- PySimulator - Python with C++ backend simulator for superconducting circuits.
- QGL - Domain-specific language embedded in python for specifying quantum gate sequences.
C++
- Quantum++ - High-performance general purpose quantum simulator (can simulate d-dimensional qudits).
- QCL - High level, hardware-agnostic programming language for quantum computers (syntax like C or Pascal).
Haskell
- Quipper - Scalable functional programming language for quantum computing based on Quantum Lambda Calculus.
Julia
- QuantumInfo.jl - Julia library for quantum information related calculations.
- QSimulator.jl - Unitary and Lindbladian evolution in Julia.
- RandomQuantum.jl - Package for generating random quantum states and processes.
- Cliffords.jl - Efficient calculation of Clifford circuits in Julia.
F#
- Liqui|> - Toolsuite for quantum simulation developed by Microsoft QuArC.
Python, C & Matlab
Python
- NetworkX - Exploration and analysis of network graphs.
- dimod - Shared API for Ising and QUBO problems.
- sapi_dimod - Dimod wrapper for D-Wave's Solver API (SAPI).
- micro_client_sapi_dimod - Dimod wrapper for the D-Wave Micro Client.
- minorminor - Heuristic tool for minor graph embedding.
- penaltymodel - Utilities and interfaces for using penalty models.
- penaltymodel_maxgap - Generates penalty models with smt solves. Factory & Cache for penaltymodel.
- embedding_utilities - Mapping samples between original and embedded graph.
- dwave-system - Incorporating D-Wave quantum annealers as samplers in the D-Wave Ocean (?) software stack.
- dwave-cloud-client - Min. implementation of the REST interface to communicate with D-Wave's Solver API.
- chimera_embedding - Algorithms to generate native-structured embeddings for Chimera graphs.
C++
- Virtual Hardware Embedding - Virtual Hardware Embedding Suite for adiabatic quantum computing.
Python
- Quantum Awesomeness - Simple puzzles to benchmark various quantum processor.
- Quantum Battleships - Playing battleships with quantum measurements.
Python
- Grove - Quantum algorithms implemented using Rigetti's pyQuil.
- OpenFermion - Compiling and analyzing quantum algorithm for quantum chemistry simulations.
- XACC Examples - Example code using XACC for quantum computing.
- XACC QChem - QPU Benchmarks for Quantum Chemistry via XACC, Psi4 and OpenFermion.
- Adapt - Algorithms for adaptive refinement of measurements.
Julia
- QuantumTomography.jl - Julia package to perform quantum state and process tomography.
C++
- XACC VQE - Distributed Variational Quantum Eigensolver built on XACC for solving electronic structure problems.
C++
- Qubiter - Quantum compiler using CS Decomposition to build a binary tree of matrices.
- pQCS - Parallel quantum circuit synthesis with optimal T-count.
- ScaffCC - Compilation, analysis and optimization framework for the Scaffold quantum programming language.
Python
- QGL2 Compiler - Language compiler for imperative Quantum Gate Language (QGL).
Julia
- OpenQASM - IBM's open-source quantum assembly language.
- QMASM - A quantum macro assembler for D-Wave's quantum annealers.
Python
- Quince - Node-based GUI that allows for graphical configuration of qubit experiments in Auspex.
- PyQLab - Library for instrument control and superconducting QIP experiments.
Matlab
- Qlab - Measurement and control software for superconducting qubits.
Julia
- Qlab.jl - Generic lab tools in Julia.
2+ years of inactivity. Feel free to reanimate & document some of this work!
- QACG - Quantum Arithmetic Circuit Generator in Haskell.
- QCViewer - A visual quantum circuit design and simulation tool.
See the contribution guidelines.
To the extent possible under law, Mark Fingerhuth has waived all copyright and related or neighboring rights to this work.