An open API service indexing awesome lists of open source software.

awesome-quantum-software

Curated list of open-source quantum software projects.
https://github.com/qosf/awesome-quantum-software

Last synced: 14 days ago
JSON representation

  • Abandoned projects

    • libquantum - C library for quantum computing and quantum simulation.
    • pQCS - [Parallel quantum circuit synthesis](https://uwspace.uwaterloo.ca/handle/10012/9267) with optimal T-count.
    • 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 `libquantum` to a Java version.
    • jquil - Java library for quantum programming using [Quil](https://en.wikipedia.org/wiki/Quil_(instruction_set_architecture)).
    • 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 [QGL](https://github.com/BBN-Q/QGL) compiler.
    • Qlmp - Interpreter for the functional quantum programming language Qumin.
    • Qiskit Aqua - Library of various quantum algorithm implemented with [Qiskit](https://github.com/Qiskit/qiskit).
    • 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 [Quantum Lambda Calculus](https://arxiv.org/abs/cs/0404056).
    • 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 - [Dimod](https://github.com/dwavesystems/dimod) wrapper for D-Wave's Solver API (SAPI).
    • Squankum - Visual Java quantum simulator.
    • 8Q - 8 Qbit, Photonic Quantum Computer.
    • Qiskit Aqua - Library of various quantum algorithm implemented with [Qiskit](https://github.com/Qiskit/qiskit).
    • qiskit-ignis - Tools for quantum hardware verification, noise characterization, and error correction.
    • Qiskit Tutorial - Jupyter notebook filled with tutorials for [Qiskit](https://github.com/QISKit/qiskit).
    • Qiskit-JS - [Quantum information software kit](https://qiskit.org/) for JavaScript (supported by IBM).
    • Quantum Virtual Machine - Reference implementation of Rigetti's Quantum Virtual Machine.
  • 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.
    • MQT DASQA - Framework to encapsulate application-driven superconducting architecture design.
    • MQT Qudits - A framework for research and education for mixed-dimensional qudit quantum computing available via the [`mqt.qudits`] Python package.
    • 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.
    • Atomiq - Quantum hardware orchestration stack for complex quantum setups.
    • OLSQ - OpenQASM package to perform optimal layout synthesis for quantum computing.
    • 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.
  • Quantum algorithms

    • Tensorflow Quantum - Library for hybrid quantum-classical machine learning.
    • XACC Examples - Example code using [XACC](https://github.com/ORNL-QCI/xacc) for quantum computing.
    • XACC QChem - QPU Benchmarks for Quantum Chemistry via [XACC](https://github.com/ORNL-QCI/xacc), [Psi4](http://www.psicode.org/) and [OpenFermion](https://github.com/quantumlib/OpenFermion).
    • XACC VQE - Variational quantum eigensolver built on [XACC](https://github.com/ORNL-QCI/xacc) for distributed, and shared memory systems.
    • myQShor - Quantum implementation of Shor's algorithm.
    • 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 [Arline Benchmarks](https://github.com/ArlineQ/arline_benchmarks) project.
    • Boson Sampling - Library to calculate interferometer output probabilities given Fock state inputs to help better understand [Aaronson-Arkhipov Boson Sampling arXiv:1011.3245 [quant-ph]](https://arxiv.org/abs/1011.3245)
    • FermiLib - Software for analyzing fermionic quantum simulation algorithms with [ProjectQ](https://github.com/ProjectQ-Framework/ProjectQ).
    • G/SG Morph - Quantum annealing algorithms for Graph/Subgraph Isomorphism based on [Calude et al.'s paper "QUBO formulations for the graph isomorphism problem and related problems" 10.1016/j.tcs.2017.04.016](https://doi.org/10.1016/j.tcs.2017.04.016)
    • MQT QAO - Automatic Framework for Solving Optimization Problems with Quantum Computers available via the [`mqt.qao`](https://pypi.org/p/mqt.qao) Python package.
    • MQT QUBOMaker - Automated QUBO formulation for optimization and pathfinding problems offering multiple encodings. Available via the [`mqt.qubomaker`](https://pypi.org/p/mqt.qubomaker) Python package.
    • 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.
    • ReCirq - Modules for running quantum computing applications and experiments through [Cirq](https://github.com/quantumlib/Cirq).
    • spin_qudit_tomography - Code used in spin tomography using qudits.
    • 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.
    • Quantum Katas - Programming exercises for learning Q# and quantum computing.
  • 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 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 - [Hashing algorithms/circuits](https://timemelt.itch.io/qash-qkdc) powered by quantum operations.
    • Qashchain - [Quantum blockchain](https://timemelt.itch.io/qashchain) based on [qash-qkdc](https://github.com/TimeMelt/qash-qkdc) circuits.
    • openssh - OpenSSH with quantum-safe key exchange algorithms.
    • QRL - [Quantum Resistant Ledger](https://theqrl.org/) utilizing hash-based one-time merkle tree signature scheme instead of ECDSA.
  • 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](https://en.wikipedia.org/wiki/Prolog) 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-system - API for easily incorporating D-Wave quantum annealers as samplers in the [Ocean](https://ocean.dwavesys.com/) software stack.
    • embedding_utilities - Mapping samples between original and embedded graph.
    • micro_client_sapi_dimod - [Dimod](https://github.com/dwavesystems/dimod) wrapper for the D-Wave Micro Client.
    • minorminer - Heuristic tool for minor graph embedding.
    • penaltymodel - Utilities and interfaces for using penalty models.
    • qubovert - Formulating and simulated annealing of Ising, QUBO, and higher order problems with constraints.
    • Qbsolv - QUBO solver with [D-Wave](https://www.dwavesys.com) or classical tabu solver backend.
    • qubo-nn - Classifying, auto-encoding and reverse-engineering QUBO matrices. Also includes 20 problem formulations.
    • dwave_networkx - Exploration and analysis of network graphs.
    • qqa - GPU-parallel Quasi-Quantum Annealing toolkit for QUBO and Ising combinatorial optimisation, with PI-GNN / CPRA neural backends and a Simulated Annealing baseline, all under a single PyTorch API.
    • edif2qmasm - Compile [Verilog](https://en.wikipedia.org/wiki/Verilog), [VHDL](https://en.wikipedia.org/wiki/VHDL), and other hardware-description languages to a D-Wave Hamiltonian function
    • dwave_networkx - Exploration and analysis of network graphs.
    • QMASM - Quantum macro assembler for D-Wave systems
  • Quantum assembly

    • Quil - Open hybrid quantum/classical instruction set currently used by Rigetti. [Parser](https://github.com/rigetticomputing/pyquil/tree/master/pyquil/_parser)
    • Blackbird - Open-source quantum instruction language currently used for Xanadu's photonic hardware.
    • QMASM - Quantum macro assembler for D-Wave's quantum annealers.
    • OpenQASM - Open-source quantum assembly language.
  • Quantum compilers

    • BQSKit - Berkeley Quantum Synthesis Toolkit is an optimizing quantum compiler and related tool-set.
    • Catalyst - AOT/JIT compiler for hybrid quantum computing beyond NISQ. Written in MLIR. Python frontend via [PennyLane](https://pennylane.ai).
    • MQT SyReC - HDL-based synthesis of reversible circuits for optimized circuit designs.
    • 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).
    • 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.
    • Mitiq - Cross-platform, quantum error mitigation toolkit and compiler from [Unitary Foundation](https://unitary.foundation/).
    • MQT IonShuttler - Exact and heuristic scheduling to manage ion movement within trapped-ion hardware.
    • NchooseK - Constraint-programming system that compiles to both circuit-model quantum computers and quantum annealers.
    • QEDA - Quantum electronic design automation software for optical circuits using QASM.
    • QGL2 Compiler - Language compiler for imperative Quantum Gate Language ([QGL](https://github.com/BBN-Q/QGL)).
    • 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 [LAPACK's CS Decomposition](http://www.netlib.org/lapack/README-CSD.html) to build a binary tree of matrices.
    • SAT Circuits Engine - Qiskit-based high-level quantum circuits synthesis engine for n-SAT problems.
    • UCC - Unitary Compiler Collection: frontend-agnostic open-source quantum compiler developed by Unitary Foundation.
    • TKET2 - Rewrite based toolkit for optimization of quantum programs (version 2 of the [TKET](https://github.com/CQCL/tket) quantum compiler).
    • EMRG - Quantum error mitigation toolkit with ZNE, PEC, and CDR support.
    • MQT QMAP - Quantum circuit mapping. Clifford synthesis. Compilation for neutral atom architectures. Compatible with Qiskit through the [`mqt.qmap`](https://pypi.org/p/mqt.qmap) Python package.
    • MQT Predictor - RL-based compiler optimization. ML-based device selection. Available via the [`mqt.predictor`](https://pypi.org/p/mqt.predictor) Python package.
    • UCC - Unitary Compiler Collection: frontend-agnostic open-source quantum compiler developed by Unitary Foundation.
    • quilc - Rigetti's optimizing Quil compiler.
  • 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.
    • Quanlse - Quanlse provides quantum control solutions via a cloud SDK, developed by [Baidu Quantum](https://research.baidu.com/Research_Areas/index-view?id=75).
  • Quantum converters

    • qconvert-js - Quantastica's quantum programming language converter in Javascript.
    • qconvert - Quantastica's quantum programming language converter in Python.
    • qconvert - Quantastica's quantum programming language converter in Python.
    • qconvert-js - Quantastica's quantum programming language converter in Javascript.
  • Quantum data

    • QDataSet - Quantum datasets for the training and development of QML algorithms.
    • QuPrep - Classical-to-quantum data encoding and preprocessing library for quantum machine learning.
  • Quantum error correction

    • Tesseract Decoder - Most Likely Error decoder designed for Low Density Parity Check (LDPC) quantum error-correcting codes.
    • CodingTheory - Julia package for constructing and analyzing classical and quantum error-correcting codes.
    • Chromobius - Python implementation of a "mobius decoder" for color codes used in quantum error correction.
    • MQT QECC - Synthesis of fault-tolerant circuits. Decoders. Automatic Application of error correcting codes. Available via the [`mqt.qecc`](https://pypi.org/p/mqt.qecc) Python package.
    • 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.
    • Qsurface - Python package for simulation and visualization of quantum error-correction on surface codes.
    • Qiskit Experiments - Python package for quantum error correction experiments (supported by IBM).
  • Quantum full-stack libraries

    • Ket - Embedded programming language that introduces the ease of Python to quantum programming.
    • Silq - Silq is a high-level quantum programming language with safe uncomputation and intuitive semantics.
    • XACC - Extreme-scale programming model for quantum acceleration within high-performance computing ([arXiv paper](https://arxiv.org/abs/1710.01794)).
    • 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 ([arXiv paper](https://arxiv.org/abs/1912.06070)).
    • qpp - Quantum++ is a modern C++ general purpose quantum computing library, composed solely of template header files.
    • 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 - [Amazon's](https://aws.amazon.com/braket/) fully managed quantum computing service for building quantum algorithms.
    • Cirq - Framework for creating, editing, and invoking Noisy Intermediate Scale Quantum (NISQ) circuits.
    • Ocean - [D-Wave System](https://www.dwavesys.com/home)'s suite of tools for solving hard problems with quantum computers.
    • Perceval - [Quandela](https://www.quandela.com)'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.
    • Qadence - [Pasqal](https://www.pasqal.com)'s package for building differentiable digital and digital-analog quantum programs realizable on neutral atom devices.
    • Qibo - An open-source framework for quantum simulation, self-hosted quantum hardware control and calibration.
    • quantum-os - Operating system based on Linux kernel for quantum computing.
    • Strawberry Fields - [Xanadu](https://www.xanadu.ai)'s software library for photonic quantum computing.
    • Tangelo - Examples](https://github.com/goodchemistryco/Tangelo-Examples/) - Toolkit for quantum chemistry simulation workflows on quantum computers, maintained by [SandboxAQ](https://www.sandboxaq.com/).
    • TensorCircuit - Tensor network based quantum software framework for the NISQ era.
    • pytket - Quantum computing toolkit for building, compiling, and executing quantum circuits (developed by Quantinuum).
    • Q# - Microsoft's quantum programming language with Visual Studio integration.
    • Qristal - Quantum Brilliance's hybrid quantum-classical C++/Python development platform ([docs](https://qristal.readthedocs.io); [core module](https://github.com/qbrilliance/qristal-core)).
    • Qrisp - A high-level programming language and framework for creating and compiling quantum algorithms ([GitHub](https://github.com/eclipse-qrisp/Qrisp)).
    • OpenQL - Compiler framework with algorithm libraries, optimizer, scheduler, QEC, mapping, micro-code generator.
    • blueqat - Quantum computing SDK.
    • Qiskit - SDK for working with quantum computers at the level of extended quantum circuits, operators, and primitives. (supported by IBM).
    • Tequila - Extensible Quantum Information and Learning Architecture developed by Alan Aspuru-Guzik's group (UofT).
    • Forest - [Rigetti](https://www.rigetti.com/)'s software library for writing, simulating, compiling and executing quantum programs.
    • QCaml - Lightweight OCaml library to experiment with quantum states, gates and measurements.
    • Ket - Embedded programming language that introduces the ease of Python to quantum programming.
    • quantumcat - Cross-platform open-source high-level quantum computing library focused on building applications.
    • Tangelo - Examples](https://github.com/goodchemistryco/Tangelo-Examples/) - Toolkit for quantum chemistry simulation workflows on quantum computers, maintained by [SandboxAQ](https://www.sandboxaq.com/).
  • Quantum fun

    • Entanglion - The world’s first open source quantum computing board game. For 2 players.
    • Unitary - API library providing common operations for adding quantum behaviors to games.
    • Quandoom - Port of DOOM for a quantum computer.