Open source software in quantum computing
arXiv:1812.09167 · doi:10.1371/journal.pone.0208561
Abstract
Open source software is becoming crucial in the design and testing of quantum algorithms. Many of the tools are backed by major commercial vendors with the goal to make it easier to develop quantum software: this mirrors how well-funded open machine learning frameworks enabled the development of complex models and their execution on equally complex hardware. We review a wide range of open source software for quantum computing, covering all stages of the quantum toolchain from quantum hardware interfaces through quantum compilers to implementations of quantum algorithms, as well as all quantum computing paradigms, including quantum annealing, and discrete and continuous-variable gate-model quantum computing. The evaluation of each project covers characteristics such as documentation, licence, the choice of programming language, compliance with norms of software engineering, and the culture of the project. We find that while the diversity of projects is mesmerizing, only a few attract external developers and even many commercially backed frameworks have shortcomings in software engineering. Based on these observations, we highlight the best practices that could foster a more active community around quantum computing software that welcomes newcomers to the field, but also ensures high-quality, well-documented code.
22 pages, 4 figures
References in corpus (24)
- Quantum Computing in the NISQ era and beyond
- A variational eigenvalue solver on a quantum processor
- A Quantum Approximate Optimization Algorithm
- Improved Simulation of Stabilizer Circuits
- Defining and detecting quantum speedup
- Instantaneous non-local computation of low T-depth quantum circuits
- The Heisenberg Representation of Quantum Computers
- ProjectQ: An Open Source Software Framework for Quantum Computing
- Strawberry Fields: A Software Platform for Photonic Quantum Computing
- Resource-Aware Quantum Programming with General Recursion and Quantum Control
- Interacting Quantum Observables: Categorical Algebra and Diagrammatics
- Minor-embedding in adiabatic quantum computation: II. Minor-universal graph design
- Concrete Categorical Model of a Quantum Circuit Description Language with Measurement
- Quantum Optimization of Fully-Connected Spin Glasses
- A Software Methodology for Compiling Quantum Programs
- LIQUi|>: A Software Design Architecture and Domain-Specific Language for Quantum Computing
- Quantum Algorithm Implementations for Beginners
- Qiskit Backend Specifications for OpenQASM and OpenPulse Experiments
- An Introduction to Quantum Programming in Quipper
- Quantum Bayesian Nets
- Dynamic Control Flow in Large-Scale Machine Learning
- A Rudimentary Quantum Compiler
- Demonstration of Robust Quantum Gate Tomography via Randomized Benchmarking
- Validating Quantum-Classical Programming Models with Tensor Network Simulations
Cited by in corpus (28)
- Parameterized quantum circuits as machine learning models
- NetSquid, a NETwork Simulator for QUantum Information using Discrete events
- Fuzz4All: Universal Fuzzing with Large Language Models
- Yao.jl: Extensible, Efficient Framework for Quantum Algorithm Design
- Quantum Software Engineering: Landscapes and Horizons
- Applications of Near-Term Photonic Quantum Computers: Software and Algorithms
- Simulating Quantum Materials with Digital Quantum Computers
- Perceval: A Software Platform for Discrete Variable Photonic Quantum Computing
- Bugs in Quantum Computing Platforms: An Empirical Study
- Probing quantum processor performance with pyGSTi
- Quantum Technologies in the Telecommunications Industry
- Pulse-level noisy quantum circuits with QuTiP
- MorphQ: Metamorphic Testing of the Qiskit Quantum Computing Platform
- Open Hardware Solutions in Quantum Technology
- Networked Quantum Services
- Integration of Quantum Accelerators with High Performance Computing -- A Review of Quantum Programming Tools
- A compiler for universal photonic quantum computers
- Towards an Automatic Framework for Solving Optimization Problems with Quantum Computers
- Piquasso: A Photonic Quantum Computer Simulation Software Platform
- ChemiQ: A Chemistry Simulator for Quantum Computer
- Differentiable quantum computational chemistry with PennyLane
- A Predictive Approach for Selecting the Best Quantum Solver for an Optimization Problem
- Survey on Computational Applications of Tensor Network Simulations
- Efficient classical calculation of the Quantum Natural Gradient
- Machine Learning and Artificial Intelligence-Driven Multi-Scale Modeling for High Burnup Accident-Tolerant Fuels for Light Water-Based SMR Applications
- Quantum Games and Interactive Tools for Quantum Technologies Outreach and Education
- Visualizing quantum mechanics in an interactive simulation -- Virtual Lab by Quantum Flytrap
- Programming tools for Analogue Quantum Computing in the High-Performance Computing Context -- A Review