Semantics of a purely quantum programming language

Quantum algorithm is the key to dig the potential power of quantum computing and make quantum computation more efficient than its classical analogue. However, present methods of designing quantum algorithms are too tricky and lack of systematic development. The aim of quantum programming languages is to deal with this problem and try to provide a high-level and unifying description and treatment of quantum algorithms. There are two equivalent ways to view classical programs: state transformers which map input states into output states, and predicate transformers which map postconditions into weakest preconditions. In this paper, we prove an analogous result for quantum programming. We show that quantum programs can be treated as either super-operators on density matrices or healthy transformers on quantum predicates. This result gives a complete characterization of physically realizable quantum programs in terms of healthy quantum predicate transformers. We propose a simple programming language which is a purely quantum fragment describing the quantum part of a future quantum computer in Knill’s architecture. The denotational semantics, weakest precondition semantics, and weakest liberal precondition semantics of this purely quantum language are introduced. Furthermore, the connections between these three semantics are also examined. To help reason about quantum programs involving quantum loops, we extend all existing proof rules for loops in classical probabilistic programs to the case of our purely quantum language.

[1]  Prakash Panangaden,et al.  Quantum weakest preconditions , 2005, Mathematical Structures in Computer Science.

[2]  Paolo Zuliani,et al.  Non-deterministic quantum programming , 2004 .

[3]  Dexter Kozen,et al.  Semantics of probabilistic programs , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[4]  Peter Selinger,et al.  A Brief Survey of Quantum Programming Languages , 2004, FLOPS.

[5]  Annabelle McIver,et al.  Probabilistic predicate transformers , 1996, TOPL.

[6]  Peter W. Shor,et al.  Algorithms for Quantum Computation: Discrete Log and Factoring (Extended Abstract) , 1994, FOCS 1994.

[7]  E. Knill,et al.  Conventions for quantum pseudocode , 1996, 2211.02559.

[8]  Lov K. Grover A fast quantum mechanical algorithm for database search , 1996, STOC '96.

[9]  Lov K. Grover Quantum Mechanics Helps in Searching for a Needle in a Haystack , 1997, quant-ph/9706033.

[10]  Andr'e van Tonder,et al.  Quantum Computation, Categorical Semantics and Linear Logic , 2003, ArXiv.

[11]  P. Benioff The computer as a physical system: A microscopic quantum mechanical Hamiltonian model of computers as represented by Turing machines , 1980 .

[12]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[13]  Peter Selinger,et al.  Towards a quantum programming language , 2004, Mathematical Structures in Computer Science.

[14]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[15]  Carroll Morgan,et al.  Proof rules for probabilistic loops , 1996 .

[16]  Pieter H. Hartel,et al.  Reasoning about Grover's quantum search algorithm using probabilistic wp , 1999, TOPL.

[17]  Luciano Serafini,et al.  Toward an architecture for quantum programming , 2001, ArXiv.

[18]  Dexter Kozen,et al.  A probabilistic PDL , 1983, J. Comput. Syst. Sci..

[19]  Jeff W. Sanders,et al.  Quantum Programming , 2000, MPC.

[20]  Charles H. Bennett,et al.  Communication via one- and two-particle operators on Einstein-Podolsky-Rosen states. , 1992, Physical review letters.

[21]  Bernhard Ömer,et al.  A Procedural Formalism for Quantum Computing , 2002 .

[22]  Shin-Cheng Mu,et al.  Functional Quantum Programming , 2001, APLAS.

[23]  Charles H. Bennett,et al.  Teleporting an unknown quantum state via dual classical and EPR channels , 1993 .

[24]  Thierry Paul,et al.  Quantum computation and quantum information , 2007, Mathematical Structures in Computer Science.

[25]  D. Deutsch Quantum theory, the Church–Turing principle and the universal quantum computer , 1985, Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences.

[26]  Samson Abramsky,et al.  Physical Traces: Quantum vs. Classical Information Processing , 2002, CTCS.

[27]  André van Tonder,et al.  A Lambda Calculus for Quantum Computation , 2003, SIAM J. Comput..

[28]  R. Feynman Simulating physics with computers , 1999 .

[29]  Annabelle McIver,et al.  Abstraction, Refinement and Proof for Probabilistic Systems , 2004, Monographs in Computer Science.

[30]  Jonathan Grattage A functional quantum programming language , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[31]  Peter W. Shor,et al.  Why haven't more quantum algorithms been found? , 2003, JACM.