Compiling quantum programs

In this paper we study a possible compiler for a high-level imperative programming language for quantum computation, the quantum Guarded-Command Language (qGCL). It is important because it liberates us from thinking of quantum algorithms at the data-flow level, in the same way as happened for standard computation a few decades ago.We make use of the normal-form approach to compiler design, introduced by Hoare, Jifeng and Sampaio. In this approach a source program is transformed, by means of algebraic manipulations, into a particular form which can be directly executed by a target machine. This entails the definition of a simple quantum hardware architecture, derived from Hoare et al.’s computing model.Our work provides a general framework for the construction of a compiler for qGCL, focusing mainly on the correctness of the design. Here we do not deal with other topics such as efficiency of compiled code, factorisation of unitary transformations and compilation of quantum data structures.

[1]  Schumacher,et al.  Quantum coding. , 1995, Physical review. A, Atomic, molecular, and optical physics.

[2]  A. Barenco A universal two-bit gate for quantum computation , 1995, Proceedings of the Royal Society of London. Series A: Mathematical and Physical Sciences.

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

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

[5]  Carroll Morgan,et al.  Programming from specifications , 1990, Prentice Hall International Series in computer science.

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

[7]  M. Reed,et al.  Methods of Mathematical Physics , 1980 .

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

[9]  Preskill,et al.  Efficient networks for quantum factoring. , 1996, Physical review. A, Atomic, molecular, and optical physics.

[10]  Carroll Morgan,et al.  Programming from specifications (2nd ed.) , 1994 .

[11]  Barenco,et al.  Elementary gates for quantum computation. , 1995, Physical review. A, Atomic, molecular, and optical physics.

[12]  Paolo Zuliani Logical reversibility , 2001, IBM J. Res. Dev..

[13]  Annabelle McIver,et al.  Probabilistic Models for the Guarded Command Language , 1997, Sci. Comput. Program..

[14]  Edsger W. Dijkstra,et al.  Guarded commands, non-determinacy and a calculus for the derivation of programs , 1975, Language Hierarchies and Interfaces.

[15]  Richard Jozsa,et al.  Counterfactual computation , 1999, Proceedings of the Royal Society of London. Series A: Mathematical, Physical and Engineering Sciences.

[16]  Ian Page Constructing hardware-software systems from a single description , 1996, J. VLSI Signal Process..

[17]  Barry Simon,et al.  Methods of Mathematical Physics, V. I: Functional Analysis. , 1973 .

[18]  Carroll Morgan,et al.  pGCL: formal reasoning for random algorithms , 1998 .

[19]  Jonathan P. Bowen,et al.  CHAPTER 10 - Hardware Compilation , 1994 .

[20]  D. Deutsch Quantum computational networks , 1989, Proceedings of the Royal Society of London. A. Mathematical and Physical Sciences.

[21]  A. Ekert,et al.  Universality in quantum computation , 1995, Proceedings of the Royal Society of London. Series A: Mathematical and Physical Sciences.

[22]  Augusto Sampaio,et al.  Normal form approach to compiler design , 1993, Acta Informatica.

[23]  J. Neumann Mathematical Foundations of Quantum Mechanics , 1955 .

[24]  W. Wootters,et al.  A single quantum cannot be cloned , 1982, Nature.

[25]  R. Courant,et al.  Methods of Mathematical Physics , 1962 .

[26]  Annabelle McIver,et al.  Partial correctness for probabilistic demonic programs , 2001, Theor. Comput. Sci..

[27]  T. Yokonuma Tensor Spaces and Exterior Algebra , 1992 .

[28]  R. Feynman Quantum mechanical computers , 1986 .