Awesome Lists

awesome-quantum-software

by qosf

awesome listpushed almost 2 years ago

Curated list of open-source quantum software projects.

AI summary

Quantum software collection

Curated list of open-source quantum software projects for building and simulating quantum computers.

stars
1.5K
forks
320
watching
117
awesome list
1
entries
272
View on GitHub

Embed the badge

Show how many awesome lists link to your project. The count updates automatically.

Awesome Lists badge
Markdown
[![Awesome Lists Badge](https://awesome.facts.dev/shield/qosf/awesome-quantum-software/links.svg)](https://awesome.facts.dev/awesome/qosf/awesome-quantum-software)
HTML
<a href="https://awesome.facts.dev/awesome/qosf/awesome-quantum-software"><img src="https://awesome.facts.dev/shield/qosf/awesome-quantum-software/links.svg" alt="Awesome Lists Badge" /></a>
Image URL
https://awesome.facts.dev/shield/qosf/awesome-quantum-software/links.svg

What's in the list

272 links in 17 sections, with live GitHub stats.activeno commit in 2y

Quantum full-stack libraries

  • avaloni

    Programming language (interpreter) for classical-quantum hybrid computers

  • CUDA-Q

    Platform for accelerated quantum-classical applications on GPUs, CPUs and QPUs

  • staq

    Full stack quantum processing toolkit ( )

  • XACC

    Extreme-scale programming model for quantum acceleration within high-performance computing ( )

  • qpp

    Quantum++ is a modern C++ general purpose quantum computing library, composed solely of template header files

  • blueqat

    Quantum computing SDK

  • bosonic-qiskit

    Simulate hybrid boson-qubit systems within Qiskit, implemented as a part of the Co-design Center for Quantum Advantage (C2QA) of the National Quantum Initiative

  • Braket

    fully managed quantum computing service for building quantum algorithms

  • Cirq

    Framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits

  • CUDA-Q

    Platform for accelerated quantum-classical applications on GPUs, CPUs and QPUs

  • Forest

    's software library for writing, simulating, compiling and executing quantum programs

  • Ket

    Embedded programming language that introduces the ease of Python to quantum programming

  • Ocean

    's suite of tools for solving hard problems with quantum computers

  • OpenQL

    Compiler framework with algorithm libraries, optimizer, scheduler, QEC, mapping, micro-code generator

  • PennyLane

    Cross-platform Python library for differentiable programming of quantum computers

  • Perceval

    's software library for programming realistic photonic quantum computers

  • ProjectQ

    Hardware-agnostic framework with compiler and simulator with emulation capabilities

  • PyQudit

    Python package for generalized and universal versions of quantum gates in N-dimensions

  • pytket

    Quantum computing toolkit for building, compiling, and executing quantum circuits (developed by Quantinuum)

  • Qadence

    's package for building differentiable digital and digital-analog quantum programs realizable on neutral atom devices

  • quantumcat

    Cross-platform open-source high-level quantum computing library focused on building applications

  • Qibo

    An open-source framework for quantum simulation, self-hosted quantum hardware control and calibration

  • Qiskit

    Framework for noisy quantum computers at the level of pulses, circuits, and algorithms (supported by IBM)

  • quantum-os

    Operating system based on Linux kernel for quantum computing

  • Strawberry Fields

    's software library for photonic quantum computing

  • Tangelo

    and - Toolkit for quantum chemistry simulation workflows on quantum computers, maintained by

  • TensorCircuit

    Tensor network based quantum software framework for the NISQ era

  • Tequila

    Extensible Quantum Information and Learning Architecture developed by Alan Aspuru-Guzik's group (UofT)

  • Q#

    Microsoft's quantum programming language with Visual Studio integration

  • Silq

    Silq is a high-level quantum programming language with safe uncomputation and intuitive semantics

Quantum simulators

  • Quplexity

    Modular toolkit for QC simulators. Quplexity offers essential mathematical functions and logic relative to quantum computer simulation. Quplexity is written in ARM(64) and x86 Assembly, which results in improved performance and "weight" benefits

  • QuaC

    Parallel time-dependent open quantum systems solver

  • QuEST

    Quantum Exact Simulation Toolkit is a high performance multicore simulator of universal quantum circuits

  • TNQVM

    Tensor Network QPU Simulator for Eclipse

  • QVM

    Rigetti's high-performance quantum virtual machine

  • QWIRE

    Quantum circuit language and formal verification tool

  • Huawei HiQsimulator

    Single-amplitude, Full-amplitude and Error-correction circuit simulation engine

  • 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 ( / )

  • PennyLane Lightning

    Fast state-vector simulator written in C++. GPU support. Python interface via

  • qFlex

    Flexible high-performance simulator for verifying and benchmarking quantum circuits implemented on real hardware

  • Qiskit Aer

    High performance simulator for quantum circuits that includes noise models (supported by IBM)

  • QCEAD

    C++ program to both simulate a quantum computer and use parallel evolutionary techniques to design algorithms

  • QCSim

    Quantum computing simulator with many algorithms as examples and tests ( )

  • QPlayer

    Light-weight, scalable and fast quantum Schrödinger simulator ( )

  • Qrack

    Comprehensive qubit and gate implementation for developing universal virtual quantum processors

  • qSim

    High level, elementary simulation library

  • QSim

    Schrödinger and Schrödinger-Feynman simulators for quantum circuits

  • Quantum++

    High-performance general purpose quantum simulator (can simulate d-dimensional qudits) ( )

  • tweedledum

    Library for synthesis, compilation, and optimization of quantum circuits

  • Liqui|>

    Toolsuite for quantum simulation developed by

  • Q

    Quantum Computation Simulator written purely in GoLang

  • Strange

    Java API that can be used to create Quantum Programs

  • jsquil

    JavaScript interface for writing programs

  • Quantum Circuit Simulator

    Smoothly runs 20+ qubit simulations in browser or on node.js server

  • Quirk

    Drag-and-drop quantum circuit simulator in your browser

  • Quantum JavaScript (Q.js)

    Drag-and-drop circuit editor, simulator, documented API, text-as-circuit DSL, concept primers

  • Quantum-computing-playground

    Browser-based simple IDE interface to run, visualize and debug quantum programs

  • Quantum tensors

    JavaScript / TypeScript package for sparse tensor operations on complex numbers for quantum computing

  • BosonSampling.jl

    Efficient simulation of multiphoton interference

  • Cliffords.jl

    Efficient calculation of Clifford circuits in Julia

  • IonSim.jl

    Simulate the dynamics of a configuration of trapped ions interacting with laser light

  • KadanoffBaym.jl

    Adaptive many-body time evolution of non-equilibrium Green functions

  • PauliStrings.jl

    Many-body simulations in the Pauli strings representation

  • QSimulator.jl

    Unitary and Lindbladian evolution in Julia

  • QuantumInfo.jl

    Julia library for quantum information related calculations

  • QuantumOptics.jl

    Numerical framework to simulate various kinds of open quantum systems in Julia

  • RandomQuantum.jl

    Package for generating random quantum states and processes

  • Yao.jl

    Extensible, Efficient Quantum Algorithm Design for Humans

  • Graphix

    Measurement-Based Quantum Computing (MBQC) compiler, simulator and QPU interface

  • Horqrux

    Jax-based quantum state vector simulator tailored for quantum machine learning from

  • Interlin-q

    Quantum network simulator imitating distributed quantum systems with interconnect communication between nodes

  • MentPy

    Python package for creating and simulating Measurement-based Quantum Computating (MBQC) programs

  • MISTIQS

    Generating/compiling/executing quantum circuits for simulating quantum many-body dynamics of systems

  • PIQS

    Efficient simulation of open quantum dynamics of identical qubits

  • PyQTorch

    PyTorch-based state vector simulator designed for quantum machine learning from

  • QCircuits

    User-friendly quantum circuit simulator designed for students and newcomers to quantum computing

  • QCompute

    's software development kit for designing quantum circuits and simulating on a high-performance simulator

  • Qibo

    Framework for quantum simulation with hardware acceleration using just-in-time compilation

  • QTop

    Simulation and visualization of topological quantum computers

  • quantum-computing

    Functionally complete simulator for universal quantum computing in Python

  • QuForge

    Python package for qudit simulation

  • quimb

    Easy but fast python library for quantum information and many-body calculations, including with tensor networks

  • Quintuple

    Simulating the 5-qubit processor of the

  • QuPy

    Quantum circuit simulator for both CPU and GPU

  • 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

  • SeQuencing

    Construct and simulate realistic quantum control sequences using QuTiP

  • SimulaQron

    Application level simulator of a quantum network

  • SOQCS

    Library to define, simulate, and study non-ideal quantum optical circuits (API provided both in Python and C++)

  • Stim

    Fast stabilizer circuit simulator

  • SQUANCH

    Distributed simulation framework for quantum networks and channels

  • QuNetSim

    Quantum network simulation framework

  • The Walrus

    's library for simulating Gaussian Boson Sampling

  • gdsfactory

    and - Open Source Python library designed for crafting chips (Photonics, Analog, Quantum, MEMs, and more), 3D printed objects, and PCBs. Plugins for Simulating Analog, RF, and Photonics circuits

  • QCGPU

    High-performance GPU-accelerated quantum computer simulation outlined in this

  • Quriust

    A blazing fast Rust library for simulating quantum circuits. Only for quriust ones

  • RustQIP

    Rust Quantum Computing library leveraging graph building to build efficient quantum circuit simulations

  • SwiftQuantumComputing

    Quantum circuit simulator with a bit of genetic programming

Quantum Analog Hamiltonian

  • Bloqade

    Package for the quantum computation and quantum simulation based on the neutral-atom architecture

  • Pulser

    Python library for pulse-level/analog control of neutral atom devices

Quantum annealing

  • C-to-D-Wave

    Compile a very small subset of C to a D-Wave Hamiltonian function

  • edif2qmasm

    Compile , , and other hardware-description languages to a D-Wave Hamiltonian function

  • QA Prolog

    Compile a subset of to a D-Wave Hamiltonian function

  • QAOA.jl

    Simulate quantum annealing and mean-field quantum annealing in Julia

  • chimera_embedding

    Algorithms to generate native-structured embeddings for Chimera graphs

  • dimod

    Shared API for Ising and QUBO problems

  • dwavebinarycsp

    Map constraint satisfaction problems with binary variables to binary quadratic models

  • dwave-cloud-client

    Min. implementation of the REST interface to communicate with D-Wave's Solver API

  • dwave_neal

    Implementation of a simulated annealing sampler

  • dwave_networkx

    Exploration and analysis of network graphs

  • dwave-system

    API for easily incorporating D-Wave quantum annealers as samplers in the software stack

  • embedding_utilities

    Mapping samples between original and embedded graph

  • micro_client_sapi_dimod

    wrapper for the D-Wave Micro Client

  • minorminer

    Heuristic tool for minor graph embedding

  • penaltymodel

    Utilities and interfaces for using penalty models

  • QMASM

    Quantum macro assembler for D-Wave systems

  • qubo-nn

    Classifying, auto-encoding and reverse-engineering QUBO matrices. Also includes 20 problem formulations

  • qubovert

    Formulating and simulated annealing of Ising, QUBO, and higher order problems with constraints

  • Qbsolv

    QUBO solver with or classical tabu solver backend

Quantum algorithms

  • XACC VQE

    Variational quantum eigensolver built on for distributed, and shared memory systems

  • myQShor

    Quantum implementation of Shor's algorithm

  • QAOA.jl

    Implementation the Quantum Approximate Optimization Algorithm (QAOA) in Julia

  • QuantumTomography.jl

    Julia package to perform quantum state and process tomography

  • Adapt

    Algorithms for adaptive refinement of measurements

  • Arline Quantum

    Library with implementation of quantum gates and hardware, a part of project

  • Boson Sampling

    Library to calculate interferometer output probabilities given Fock state inputs to help better understand

  • FermiLib

    Software for analyzing fermionic quantum simulation algorithms with

  • Grove

    Quantum algorithms implemented using 's

  • G/SG Morph

    Quantum annealing algorithms for Graph/Subgraph Isomorphism based on

  • OpenFermion

    Compiling and analyzing quantum algorithm for quantum chemistry simulations

  • OpenQAOA

    Multi-backend SDK to create, customise and execute QAOA on NISQ devices and simulators

  • Paddle Quantum

    Quantum machine learning platform to construct & train quantum neural networks, developed by Baidu

  • PyZFS

    Package to compute zero-field-splitting tensors for molecules and spin quantum bits in semiconductors

  • QFog

    Framework for analyzing both classical and quantum Bayesian Networks

  • QGrad

    Library to integrate automatic differentiation tools such as JAX with QuTiP and related quantum software packages

  • Qiskit Nature

    Quantum Chemistry including ground state, excited states and dipole moment calculations

  • QPanda

    QPanda is a quantum computing framework that can be used to build, run, and optimize quantum algorithms

  • Qualtran

    A library for expressing and analyzing Fault Tolerant Quantum algorithms

  • Quantum_Edward

    Python tools for supervised learning by Quantum Neural Networks

  • QuantumFlow

    Quantum Algorithms Development Toolkit e.g. allowing for backpropagation with QAOA

  • Quantum TSP

    Tutorials on solving Travelling Salesman Problem using quantum computing (QAOA)

  • Qudit Team

    Repository to extend Qiskit versatility to higher dimensional quantum states

  • spin_qudit_tomography

    Code used in spin tomography using qudits

  • Tensorflow Quantum

    Library for hybrid quantum-classical machine learning

  • pyRiemann-qiskit

    Library for machine learning and quantum programming based on pyRiemann and Qiskit projects

  • VQF

    Implementation of Variational Quantum Factoring algorithm (in pyQuil)

  • WebMark

    Web platform for benchmarking quantum computing algorithms

  • XACC Examples

    Example code using for quantum computing

  • XACC QChem

    QPU Benchmarks for Quantum Chemistry via , and

  • Quantum Katas

    Programming exercises for learning Q# and quantum computing

Quantum compilers

  • Catalyst

    AOT/JIT compiler for hybrid quantum computing beyond NISQ. Written in MLIR. Python frontend via

  • QCOR

    C++ language extension and associated compiler implementation for hybrid quantum-classical programming

  • ScaffCC

    Compilation, analysis and optimization framework for the Scaffold quantum programming language

  • TKET

    C++ library for placement, routing, and optimization of quantum circuits (developed by Quantinuum)

  • tweedledum

    C++17 library for analysis, compilation/synthesis, and optimization of quantum circuits

  • UniversalQCompiler

    Synthesis of isometries (including unitaries and state preparation), channels and POVMs

  • QuantumCircuitOpt.jl

    Julia package for provably optimal decompositions and compilations of quantum circuits

  • Arline Benchmarks

    Automated benchmarking platform for quantum compilers, quantum hardware and quantum algorithms

  • BQSKit

    Berkeley Quantum Synthesis Toolkit is an optimizing quantum compiler and related tool-set

  • Mitiq

    Cross-platform, error-mitigating quantum compiler from

  • NchooseK

    Constraint-programming system that compiles to both circuit-model quantum computers and quantum annealers

  • PyZX

    Python library for quantum circuit rewriting and optimisation using the ZX-calculus

  • QEDA

    Quantum electronic design automation software for optical circuits using QASM

  • QGL2 Compiler

    Language compiler for imperative Quantum Gate Language ( )

  • Qiskit Terra

    Python library for quantum circuit rewriting and optimization (supported by IBM)

  • Qiskit ZX transpiler

    Transpiler pass for Qiskit which uses ZX-calculus for circuit optimization

  • Qlasskit

    Compiler from Python language to quantum circuits and binary quadratic models

  • Qubiter

    Quantum compiler with Python wrapper for to build a binary tree of matrices

  • SAT Circuits Engine

    Qiskit-based high-level quantum circuits synthesis engine for n-SAT problems

  • TKET2

    Rewrite based toolkit for optimization of quantum programs (version 2 of the quantum compiler)

  • quilc

    Rigetti's optimizing Quil compiler

Quantum converters

  • qconvert-js

    Quantastica's quantum programming language converter in Javascript

  • qconvert

    Quantastica's quantum programming language converter in Python

Quantum assembly

  • Blackbird

    Open-source quantum instruction language currently used for Xanadu's photonic hardware

  • OpenQASM

    Open-source quantum assembly language

  • QMASM

    Quantum macro assembler for D-Wave's quantum annealers

  • Quil

    Open hybrid quantum/classical instruction set currently used by Rigetti

Quantum control

  • C3

    Open-loop, closed-loop and automated Control, Calibration and Characterization of quantum devices

  • Krotov

    Python implementation of Krotov's method for quantum optimal control

  • Qibo

    Qibo provides a platform agnostic quantum hardware control module with drivers for multiple instruments

  • Quanlse

    Quanlse provides quantum control solutions via a cloud SDK, developed by

Quantum interoperability

  • Digital Soul

    Unified platform for CPU, GPU, FPGA, and Quantum Computing

  • scikit-quant

    This is a package to improve interoperability between different quantum computer software packages

Quantum error correction

  • CodingTheory

    Julia package for constructing and analyzing classical and quantum error-correcting codes

  • PyMatching

    Python package for decoding quantum error correcting codes with minimum-weight perfect matching

  • qecsim

    Python package for simulating quantum error correction using stabilizer codes

  • Qiskit Experiments

    Python package for quantum error correction experiments (supported by IBM)

  • Qsurface

    Python package for simulation and visualization of quantum error-correction on surface codes

Quantum and post-quantum cryptography

  • liboqs

    C library for quantum-resistant cryptographic algorithms

  • openssh

    OpenSSH with quantum-safe key exchange algorithms

  • openssl

    OpenSSL with quantum-safe cryptographic algorithms

  • PQClean

    Clean, portable, tested implementations of post-quantum cryptography

  • TQ42 Cryptography

    Post-quantum algorithms, hash functions, digital signature, key encapsulation mechanism, PRNG, and key management functions

  • Crypto-Vinaigrette

    Quantum-resistant asymmetric key generation tool for digital signatures

  • Qash-QKDC

    powered by quantum operations

  • Qashchain

    based on circuits

  • QRL

    utilizing hash-based one-time merkle tree signature scheme instead of ECDSA

Experimental quantum computing

  • Qlab.jl

    Generic lab tools in Julia

  • Qlab

    Measurement and control software for superconducting qubits

  • ARTIQ

    Next-generation control system for quantum information experiments

  • OLSQ

    OpenQASM package to perform optimal layout synthesis for quantum computing

  • pyEPR

    Automated Python module for the design and quantization of Josephson quantum circuits

  • PyRPL

    Turn your RedPitaya into a powerful DSP device, suitable as a digital lockbox and measurement device in quantum optics

  • QCoDeS

    Python-based data acquisition framework for quantum experiments

  • QFlow-lite

    Machine Learning tools for autotuning quantum dot experiments

  • QGL

    Domain-specific language embedded in Python for specifying pulse sequences

  • Qiskit Metal

    Quantum hardware design and analysis

  • QTT

    Quantum Technology Toolbox is a framework for the tuning and calibration of quantum dots and spin qubits

  • Quantify

    Data acquisition platform focused on Quantum Computing and solid-state physics experiments

  • qupulse

    Quantum computing pulse parametrization and sequencing framework (formerly qc-toolkit)

  • scqubits

    Simulating superconducting qubits, obtaining energy spectra, plotting energy levels and more

  • QEDA

    Quantum Electronics Design Automation - The RTL of Quantum Computing!

Quantum fun

Quantum tools

  • Quantum

    Free Mathematica add-on for Dirac Bra-Ket Notation, Quantum Algebra, Quantum Computing and the QHD approximation to the Heisenberg Equations of Motion

  • QI

    Toolkit for common quantum information functions

  • Arline Quantum

    Arline Quantum is an open-source library providing basic functionality for creating and manipulating quantum circuits. It also contains a list of mock quantum hardware

  • Covalent

    Tool for running high performance/quantum workflows on advanced computing hardwares

  • Gridsynth-Python-wrapper

    Wrapper for using Gridsynth in Python/

  • IBM Q bot

    Bot for Slack and Telegram to monitor the load of IBM Q quantum computers

  • orqviz

    Library to easily visualize the loss landscape of variational quantum algorithms

  • pulsemaker

    Python widget library for designing pulses and pulse schedules for quantum computing hardware

  • pymablock

    Package for the construction of effective Hamiltonians using quasi-degenerate perturbation theory

  • pyQuirk

    Python widget for Quirk to be used in Jupyter notebooks, JupyterLab, and the IPython kernel

  • qBraid

    Transpiles quantum circuits to and from Cirq, Qiskit, Amazon Braket, Pennylane, Pyquil and allows for execution on any backend

  • qonduit

    Python library with visualization tools and workflows for quantum computing that utilize the best of what’s available

  • qprof

    -compatible profiler for quantum programs

  • QRAND

    Multiplatform and multiprotocol quantum random number generator for arbitrary probability distributions

  • QuantumGraphs

    Grow and study random graphs by a continuous, randomly collapsing quantum walk

  • toqito

    Framework to study problems pertaining to entanglement theory, nonlocal games, and other aspects of quantum information

  • ZXLive

    GUI editor for ZX diagrams

  • SpookyIDE

    IDE designed for quantum computing

  • Quil syntax highlighter

    Syntax highlighter for PyCharm

Quantum data

  • QDataSet

    Quantum datasets for the training and development of QML algorithms

Abandoned projects

  • BLACK-STONE

    Specification and implementation of quantum common lisp, for gate-model quantum computers

  • goqu

    Quantum computing simulation library for GoLang

  • libquantum

    C library for quantum computing and quantum simulation

  • libQuantumJava

    Crude translation from the C implementation of to a Java version

  • jquil

    Java library for quantum programming using

  • pQCS

    with optimal T-count

  • PyQLab

    Library for instrument control and superconducting QIP experiments

  • PySimulator

    Python with C++ backend simulator for superconducting circuits

  • QACG

    Quantum Arithmetic Circuit Generator in Haskell

  • QCL

    High level, hardware-agnostic programming language for quantum computers (syntax like C or Pascal)

  • QCViewer

    Visual quantum circuit design and simulation tool

  • QGL.jl

    Performance orientated compiler

  • Qlmp

    Interpreter for the functional quantum programming language Qumin

  • Qiskit Aqua

    Library of various quantum algorithm implemented with

  • qiskit-ignis

    Tools for quantum hardware verification, noise characterization, and error correction

  • Qiskit Tutorial

    Jupyter notebook filled with tutorials for

  • Qiskit-JS

    for JavaScript (supported by IBM)

  • QOCS

    Quantum OCaml Circuit Simulator is a functional approach to simulating quantum gates

  • QuantumUtils

    Tools for quantum control, simulation, channel representation conversion, and perturbations

  • Quantum Virtual Machine

    Reference implementation of Rigetti's Quantum Virtual Machine

  • Quince

    Node-based GUI that allows for graphical configuration of qubit experiments in Auspex

  • Quipper

    Scalable functional programming language for quantum computing based on

  • QuSim

    Ideal noise-free multi-qubit simulator written in 150 lines of code

  • QSEL

    Quantum programming language putting entanglement and superposition front and center

  • sapi_dimod

    wrapper for D-Wave's Solver API (SAPI)

  • Squankum

    Visual Java quantum simulator

  • 8Q

    8 Qbit, Photonic Quantum Computer

More related projects

Add a GitHub project

Missing a project or an awesome list? Paste its GitHub URL and we fetch it right away.