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: 21 days ago
JSON representation

Abandoned projects

  • libquantum - C library for quantum computing and quantum simulation.
  • pQCS - Parallel quantum circuit synthesis 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.
  • 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 compiler.
  • Qlmp - Interpreter for the functional quantum programming language Qumin.
  • Qiskit Aqua - Library of various quantum algorithm implemented with 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.
  • 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 wrapper for D-Wave's Solver API (SAPI).
  • Squankum - Visual Java quantum simulator.
  • 8Q - 8 Qbit, Photonic Quantum Computer.

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.

Quantum algorithms

  • Tensorflow Quantum - Library for hybrid quantum-classical machine learning.
  • 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.
  • 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 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]
  • FermiLib - Software for analyzing fermionic quantum simulation algorithms with 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
  • MQT QAO - Automatic Framework for Solving Optimization Problems with Quantum Computers available via the mqt.qao Python package.
  • MQT QUBOMaker - Automated QUBO formulation for optimization and pathfinding problems offering multiple encodings. Available via the 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.
  • 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

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
  • 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 software stack.
  • 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.
  • qubovert - Formulating and simulated annealing of Ising, QUBO, and higher order problems with constraints.
  • Qbsolv - QUBO solver with D-Wave 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.

Quantum assembly

  • Quil - Open hybrid quantum/classical instruction set currently used by Rigetti. Parser
  • Blackbird - Open-source quantum instruction language currently used for Xanadu's photonic hardware.
  • QMASM - Quantum macro assembler for D-Wave's quantum annealers.

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.
  • 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.
  • 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).
  • 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 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 quantum compiler).
  • EMRG - Quantum error mitigation toolkit with ZNE, PEC, and CDR support.
  • CleitonForge - Differential fuzzer for quantum compilers and simulators (Rust + Python), with a shrinker and an exact-operator oracle.
  • 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.
  • gradpulse - Differentiable, multi-solver-validated pulse optimizer for open-system superconducting-gate fidelities.

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.

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 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.
  • autoq-qec - Multi-code fault-tolerant QEC resource estimator for arbitrary Qiskit circuits (Surface Code, Floquet Code, Bacon-Shor, Steane).

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).
  • 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).
  • 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 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's suite of tools for solving hard problems with quantum computers.
  • Perceval - Quandela'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'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'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.
  • 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; core module).
  • Qrisp - A high-level programming language and framework for creating and compiling quantum algorithms (GitHub).
  • 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's software library for writing, simulating, compiling and executing quantum programs.
  • QCaml - Lightweight OCaml library to experiment with quantum states, gates and measurements.
  • hybridlane - Full-stack library for mixed-variable (CV-DV) quantum programming across simulators and hardware within PennyLane.
  • LIFT - Unified compiler framework for AI and quantum computing: a single SSA intermediate representation for tensor ops, quantum gates, and classical-quantum hybrids, with 13 optimisation passes, O0-O3 pipelines, noise-aware scheduling, cost modelling, and LLVM IR / ONNX / OpenQASM 3.0 backends. Published on crates.io (docs).

Quantum fun

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 simulators

  • Quantum JavaScript (Q.js) - Drag-and-drop circuit editor, simulator, documented API, text-as-circuit DSL, concept primers.
  • QuantumOptics.jl - Numerical framework to simulate various kinds of open quantum systems in Julia.
  • QuaC - Parallel time-dependent open quantum systems solver.
  • TNQVM - Tensor Network QPU Simulator for Eclipse XACC.