A Lambda Calculus for Quantum Computation
arXiv:quant-ph/0307150 · doi:10.1137/S0097539703432165
Abstract
The classical lambda calculus may be regarded both as a programming language and as a formal algebraic system for reasoning about computation. It provides a computational model equivalent to the Turing machine, and continues to be of enormous benefit in the classical theory of computation. We propose that quantum computation, like its classical counterpart, may benefit from a version of the lambda calculus suitable for expressing and reasoning about quantum algorithms. In this paper we develop a quantum lambda calculus as an alternative model of quantum computation, which combines some of the benefits of both the quantum Turing machine and the quantum circuit models. The calculus turns out to be closely related to the linear lambda calculi used in the study of Linear Logic. We set up a computational model and an equational proof system for this calculus, and we argue that it is equivalent to the quantum Turing machine.
To appear in SIAM Journal on Computing. Minor corrections and improvements. Simulator available at http://www.het.brown.edu/people/andre/qlambda/index.html
References in corpus (11)
- Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer
- Elementary gates for quantum computation
- Strengths and Weaknesses of Quantum Computing
- An approximate Fourier transform useful in quantum factoring
- Toward an architecture for quantum programming
- A Structural Approach to Reversible Computation
- On Universal and Fault-Tolerant Quantum Computing
- Quantum Computation, Categorical Semantics and Linear Logic
- The lambda-q calculus can efficiently simulate quantum computers
- Extending the Lambda Calculus to Express Randomized and Quantumized Algorithms
- Quantum Domain Theory - Definitions and Applications
Cited by in corpus (61)
- Quantum computations without definite causal structure
- Physics, Topology, Logic and Computation: A Rosetta Stone
- Quipper: A Scalable Quantum Programming Language
- Quantum Software Engineering: Landscapes and Horizons
- A functional quantum programming language
- Fault-Tolerant High Level Quantum Circuits: Form, Compilation and Description
- Functional Quantum Computing: An Optical Approach
- An Algebra of Pure Quantum Programming
- Quantum Computation, Categorical Semantics and Linear Logic
- Models of quantum computation and quantum programming languages
- Lineal: A linear-algebraic Lambda-calculus
- Qunity: A Unified Language for Quantum and Classical Computing (Extended Version)
- The Vectorial -Calculus
- Call-by-value, call-by-name and the vectorial behaviour of the algebraic λ-calculus
- A lambda calculus for quantum computation with classical control
- Quantum Advantage Seeker with Kernels (QuASK): a software framework to speed up the research in quantum machine learning
- Partial Equivalence Checking of Quantum Circuits
- A logical analysis of entanglement and separability in quantum higher-order functions
- Integration of Quantum Accelerators with High Performance Computing -- A Review of Quantum Programming Tools
- Semantics and simulation of communication in quantum programming
- Wave-Style Token Machines and Quantum Lambda Calculi
- Measurements and confluence in quantum lambda calculi with explicit qubits
- Confluence in Probabilistic Rewriting
- The Measurement Calculus
- Realizability in the Unitary Sphere
- An Extension of Gleason's Theorem for Quantum Computation
- Symmetries in Reversible Programming: From Symmetric Rig Groupoids to Reversible Programming Languages
- Operational Semantics and Type Soundness of Quantum Programming Language LanQ
- Quantum Control Machine: The Limits of Control Flow in Quantum Programming
- Probabilistic bisimilarities between quantum processes
- On Multiplicative Linear Logic, Modality and Quantum Circuits
- Linear-algebraic lambda-calculus
- Formal Methods for Quantum Programs: A Survey
- Verification of Nondeterministic Quantum Programs
- Quantum Computing over Finite Fields
- A probabilistic branching bisimulation for quantum processes
- Proof rules for purely quantum programs
- A Type System for the Vectorial Aspect of the Linear-Algebraic Lambda-Calculus
- Extending scientific computing system with structural quantum programming capabilities
- From Reversible Programs to Univalent Universes and Back
- A lambda calculus for density matrices with classical and probabilistic controls
- A Survey of Quantum Programming Languages: History, Methods, and Tools
- Five Quantum Algorithms Using Quipper
- Programming Telepathy: Implementing Quantum Non-Locality Games
- Semantics of a Typed Algebraic Lambda-Calculus
- Wave-Style Token Machines and Quantum Lambda Calculi (Long Version)
- Toward a Quantum Process Algebra
- Structuring quantum effects: superoperators as arrows
- From Symmetric Pattern-Matching to Quantum Control (Extended Version)
- Causality in Higher Order Process Theories
- Q#, a quantum computation package for the .NET platform
- The dagger lambda calculus
- A Review of Procedure to Evolve Quantum Procedures
- Symbolic quantum programming for supporting applications of quantum computing technologies
- Embracing the Laws of Physics: Three Reversible Models of Computation
- Processes, Systems and Tests: Defining Contextual Equivalences
- The Vectorial Lambda Calculus Revisited
- Compositional Reversible Computation
- An extended quantum process algebra (eQPAlg) approach for distributed quantum systems
- Quantum Lambda Calculi with Classical Control: Syntax and Expressive Power
- Quantum Programming Without the Quantum Physics