LIQUi|>: A Software Design Architecture and Domain-Specific Language for Quantum Computing
arXiv:1402.4467
Abstract
Languages, compilers, and computer-aided design tools will be essential for scalable quantum computing, which promises an exponential leap in our ability to execute complex tasks. LIQUi|> is a modular software architecture designed to control quantum hardware. It enables easy programming, compilation, and simulation of quantum algorithms and circuits, and is independent of a specific quantum architecture. LIQUi|> contains an embedded, domain-specific language designed for programming quantum algorithms, with F# as the host language. It also allows the extraction of a circuit data structure that can be used for optimization, rendering, or translation. The circuit can also be exported to external hardware and software environments. Two different simulation environments are available to the user which allow a trade-off between number of qubits and class of operations. LIQUi|> has been implemented on a wide range of runtimes as back-ends with a single user front-end. We describe the significant components of the design architecture and how to express any given quantum algorithm.
14 pages, 12 figures, comments welcome
Cited by in corpus (34)
- ProjectQ: An Open Source Software Framework for Quantum Computing
- Strawberry Fields: A Software Platform for Photonic Quantum Computing
- PennyLane: Automatic differentiation of hybrid quantum-classical computations
- Local and Distributed Quantum Computation
- Open source software in quantum computing
- 0.5 Petabyte Simulation of a 45-Qubit Quantum Circuit
- A Software Methodology for Compiling Quantum Programs
- Performing Quantum Computing Experiments in the Cloud
- Compiling quantum circuits to realistic hardware architectures using temporal planners
- Quantum Software Engineering: Landscapes and Horizons
- Fault-Tolerant High Level Quantum Circuits: Form, Compilation and Description
- An Experimental Microarchitecture for a Superconducting Quantum Processor
- QWIRE Practice: Formal Verification of Quantum Circuits in Coq
- A Deductive Verification Framework for Circuit-building Quantum Programs
- High Performance Emulation of Quantum Circuits
- qTorch: The Quantum Tensor Contraction Handler
- Optimizing Quantum Circuits for Arithmetic
- Quantum Computing: An Overview Across the System Stack
- QRMW: Quantum representation of multi wavelength images
- Validating Quantum-Classical Programming Models with Tensor Network Simulations
- A distributed simulation framework for quantum networks and channels
- Reversible circuit compilation with space constraints
- A Quantum von Neumann Architecture for Large-Scale Quantum Computing
- Classical Control, Quantum Circuits and Linear Logic in Enriched Category Theory
- Benchmarking treewidth as a practical component of tensor-network--based quantum simulation
- QuDiet: A Classical Simulation Platform for Qubit-Qudit Hybrid Quantum Systems
- On the Principles of Differentiable Quantum Programming Languages
- Quantum Temporal Logic
- Realistic simulation of quantum computation using unitary and measurement channels
- Advantages of a modular high-level quantum programming framework
- Distributed Memory Techniques for Classical Simulation of Quantum Circuits
- The Abstract Structure of Quantum Algorithms
- Qumin, a minimalist quantum programming language
- Quantum Programming Without the Quantum Physics