Quantum programming: From theories to implementations

This paper surveys the new field of programming methodology and techniques for future quantum computers, including design of sequential and concurrent quantum programming languages, their semantics and implementations. Several verification methods for quantum programs and communication protocols are also reviewed. The potential applications of programming techniques and related formal methods in quantum engineering are pointed out.

[1]  Olivier Brunet,et al.  Dynamic Quantum Logic for Quantum Programs , 2003 .

[2]  Mingsheng Ying,et al.  A theory of computation based on quantum logic (I) , 2004, 2005 IEEE International Conference on Granular Computing.

[3]  Yuan Feng,et al.  An Algebraic Language for Distributed Quantum Computing , 2009, IEEE Transactions on Computers.

[4]  Yuan Feng,et al.  Bisimulation for quantum processes , 2010, POPL '11.

[5]  V. Varadarajan Geometry of quantum theory , 1968 .

[6]  John Preskill,et al.  Topological Quantum Computation , 1998, QCQC.

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

[8]  Yuan Feng,et al.  A Flowchart Language for Quantum Programming , 2011, IEEE Transactions on Software Engineering.

[9]  Mingsheng Ying,et al.  Quantum logic and automata theory , 2007 .

[10]  Mingsheng Ying Foundations of Quantum Programming (Extended Abstract) , 2010, APLAS.

[11]  Alfred V. Aho,et al.  A layered software architecture for quantum computing design tools , 2006, Computer.

[12]  Yuan Feng,et al.  Model-Checking Linear-Time Properties of Quantum Systems , 2010, TOCL.

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

[14]  Philippe Jorrand,et al.  Toward a quantum process algebra , 2004, CF '04.

[15]  I. Chuang,et al.  Quantum Computation and Quantum Information: Bibliography , 2010 .

[16]  Yuan Feng,et al.  Probabilistic bisimulations for quantum processes , 2007, Inf. Comput..

[17]  Gilles Brassard,et al.  Quantum cryptography: Public key distribution and coin tossing , 2014, Theor. Comput. Sci..

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

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

[20]  Yuan Feng,et al.  An algebra of quantum processes , 2007, TOCL.

[21]  J GaySimon,et al.  Quantum programming languages: survey and bibliography , 2006 .

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

[23]  Dov M. Gabbay,et al.  Handbook of Quantum logic and Quantum Structures , 2007 .

[24]  Yuan Feng,et al.  Quantum loop programs , 2010, Acta Informatica.

[25]  Umesh V. Vazirani,et al.  Quantum Complexity Theory , 1997, SIAM J. Comput..

[26]  Yuan Feng,et al.  Proof rules for the correctness of quantum programs , 2007, Theor. Comput. Sci..

[27]  Mingsheng Ying,et al.  π-calculus with noisy channels , 2005, Acta Informatica.

[28]  Rohit Chadha,et al.  QUANTUM COMPUTATION TREE LOGIC — MODEL CHECKING AND COMPLETE CALCULUS , 2008 .

[29]  Jiafu Xu,et al.  Quantum programming languages: A tentative study , 2008, Science in China Series F: Information Sciences.

[30]  Rohit Chadha,et al.  Reasoning About Imperative Quantum Programs , 2006, MFPS.

[31]  Nikolaos Papanikolaou,et al.  Model – Checking Quantum Protocols , 2006 .

[32]  Mingsheng Ying,et al.  Termination of nondeterministic quantum programs , 2013, Acta Informatica.

[33]  Jonathan P Dowling,et al.  Quantum technology: the second quantum revolution , 2003, Philosophical Transactions of the Royal Society of London. Series A: Mathematical, Physical and Engineering Sciences.

[34]  John Preskill,et al.  Lecture Notes for Physics 219: Quantum Computation , 2004 .

[35]  Paolo Zuliani,et al.  Compiling quantum programs , 2005, Acta Informatica.

[36]  Rajagopal Nagarajan,et al.  Simulating and Compiling Code for the Sequential Quantum Random Access Machine , 2007, QPL.

[37]  Alexandru Baltag,et al.  LQP: the dynamic logic of quantum information , 2006, Mathematical Structures in Computer Science.

[38]  Jaroslaw Adam Miszczak Models of quantum computation and quantum programming languages , 2010, 1012.6035.

[39]  Rohit Chadha,et al.  Towards Model-Checking Quantum Security Protocols , 2007, ICQNM.

[40]  Roland Rüdiger,et al.  Quantum Programming Languages: An Introductory Overview , 2007, Comput. J..

[41]  Bas C. van Fraassen,et al.  Current Issues in Quantum Logic , 1981 .

[42]  Frederic T. Chong,et al.  Toward a scalable, silicon-based quantum computing architecture , 2003 .

[43]  Micha Sharir,et al.  Termination of Probabilistic Concurrent Program , 1983, TOPL.

[44]  Anya Tafliovich,et al.  Programming with Quantum Communication , 2009, QAPL.

[45]  Rajagopal Nagarajan,et al.  QMC: A Model Checker for Quantum Systems , 2007, CAV.

[46]  Samson Abramsky,et al.  A categorical semantics of quantum protocols , 2004, LICS 2004.

[47]  Ian Mackie,et al.  Semantic Techniques in Quantum Computation , 2009 .

[48]  Mingsheng Ying,et al.  Quantum computation, quantum theory and AI , 2010, Artif. Intell..

[49]  R. Jozsa,et al.  On the role of entanglement in quantum-computational speed-up , 2002, Proceedings of the Royal Society of London. Series A: Mathematical, Physical and Engineering Sciences.

[50]  A. Gleason Measures on the Closed Subspaces of a Hilbert Space , 1957 .

[51]  Yuan Feng,et al.  Verification of Quantum Programs , 2011, Sci. Comput. Program..

[52]  Elham Kashefi,et al.  The measurement calculus , 2004, JACM.

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

[54]  Rajagopal Nagarajan,et al.  Probabilistic Model-Checking of Quantum Protocols , 2005, ArXiv.

[55]  Christel Baier,et al.  Principles of model checking , 2008 .

[56]  Jianxin Chen,et al.  Commutativity of quantum weakest preconditions , 2007, Inf. Process. Lett..

[57]  Samson Abramsky High-level methods for quantum computation and information , 2004, LICS 2004.

[58]  Gaisi Takeuti,et al.  Quantum Set Theory , 1981 .

[59]  Rajagopal Nagarajan,et al.  Communicating quantum processes , 2004, POPL '05.

[60]  J. Neumann,et al.  The Logic of Quantum Mechanics , 1936 .

[61]  Anya Tafliovich,et al.  Quantum Predicative Programming , 2006, MPC.

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

[63]  Mingsheng Ying,et al.  Floyd--hoare logic for quantum programs , 2011, TOPL.

[64]  Micha Sharir,et al.  Verification of Probabilistic Programs , 1984, SIAM J. Comput..

[65]  Marta Z. Kwiatkowska,et al.  Probabilistic symbolic model checking with PRISM: a hybrid approach , 2004, International Journal on Software Tools for Technology Transfer.

[66]  M. Ying,et al.  Semantic Techniques in Quantum Computation: Predicate Transformer Semantics of Quantum Programs , 2009 .