Toward an architecture for quantum programming
arXiv:cs/0103009 · doi:10.1140/epjd/e2003-00242-2
Abstract
It is becoming increasingly clear that, if a useful device for quantum computation will ever be built, it will be embodied by a classical computing machine with control over a truly quantum subsystem, this apparatus performing a mixture of classical and quantum computation. This paper investigates a possible approach to the problem of programming such machines: a template high level quantum language is presented which complements a generic general purpose classical language with a set of quantum primitives. The underlying scheme involves a run-time environment which calculates the byte-code for the quantum operations and pipes it to a quantum device controller or to a simulator. This language can compactly express existing quantum algorithms and reduce them to sequences of elementary operations; it also easily lends itself to automatic, hardware independent, circuit simplification. A publicly available preliminary implementation of the proposed ideas has been realized using the C++ language.
23 pages, 5 figures, A4paper. Final version accepted by EJPD ("swap" replaced by "invert" for Qops). Preliminary implementation available at: http://sra.itc.it/people/serafini/quantum-computing/qlang.html
References in corpus (1)
Cited by in corpus (40)
- A Lambda Calculus for Quantum Computation
- Quantum Aspects of Semantic Analysis and Symbolic Artificial Intelligence
- Overview and Comparison of Gate Level Quantum Software Platforms
- Quantum Software Engineering: Landscapes and Horizons
- Fault-Tolerant High Level Quantum Circuits: Form, Compilation and Description
- An Experimental Microarchitecture for a Superconducting Quantum Processor
- Quantum Computing: An Overview Across the System Stack
- Quantum Hoare logic with classical variables
- Models of quantum computation and quantum programming languages
- A lambda calculus for quantum computation with classical control
- Quantum Circuit Identities
- A quantitative model for the effective decoherence of a quantum computer with imperfect unitary operations
- The Road to Quantum Artificial Intelligence
- A Theorem Prover for Quantum Hoare Logic and Its Applications
- Partial Equivalence Checking of Quantum Circuits
- Semantics and simulation of communication in quantum programming
- Integration of Quantum Accelerators with High Performance Computing -- A Review of Quantum Programming Tools
- Cove: A Practical Quantum Computer Programming Framework
- Operational Semantics and Type Soundness of Quantum Programming Language LanQ
- Quantum Domain Theory - Definitions and Applications
- Quantum Temporal Logic
- Hoare Logic for Quantum Programs
- Space-Efficient Simulation of Quantum Computers
- Probabilistic bisimilarities between quantum processes
- Proof rules for purely quantum programs
- Extending scientific computing system with structural quantum programming capabilities
- Generalised quantum weakest preconditions
- A Survey of Quantum Programming Languages: History, Methods, and Tools
- Verification of Quantum Programs
- Contextual Observables and Quantum Information
- Quantum Games and Programmable Quantum Systems
- Q#, a quantum computation package for the .NET platform
- Qumin, a minimalist quantum programming language
- Classical Simulation of Quantum Adiabatic Algorithms using Mathematica on GPUs
- Quantum loop programs
- QIS-XML: An Extensible Markup Language for Quantum Information Science
- Termination of Nondeterministic Quantum Programs
- A Hamiltonian-Level Certificate for Network-Free Distributed Quantum Simulation:Exact Tensor-Separability Criterion and Approximate Residual Bounds
- An extended quantum process algebra (eQPAlg) approach for distributed quantum systems
- QPCF: higher order languages and quantum circuits