A monadic semantics for quantum computing in an object oriented language

Abstract Nowadays, several languages and libraries have been proposed to program and reason about quantum programs in the imperative and functional paradigms. Having in mind that the object-oriented paradigm is one of the most used for developing general purpose software systems, in this work we propose to investigate quantum programming using the object-oriented paradigm. Hence, we present a monadic semantics for FJQuantum 1 , an object-oriented language based on Featherweight Java, created to reason and to develop programs handling quantum data and quantum operations. We also provide an interpreter for this semantics and a set of examples of quantum programs to run with it.

[1]  Gilles Dowek,et al.  Linear-algebraic lambda-calculus: higher-order, encodings, and confluence , 2008, RTA.

[2]  Juliana Kaizer Vizzotto,et al.  The Arrow Calculus as a Quantum Programming Language , 2009, WoLLIC.

[3]  Thorsten Altenkirch,et al.  Structuring quantum effects: superoperators as arrows , 2006, Math. Struct. Comput. Sci..

[4]  Marco Bellia,et al.  Proving Type Safety for Java Simple Closures , 2010 .

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

[6]  Eugenio Moggi,et al.  Notions of Computation and Monads , 1991, Inf. Comput..

[7]  Juliana Kaizer Vizzotto,et al.  A Double Effect λ-calculus for Quantum Computation , 2013, SBLP.

[8]  Philip Wadler,et al.  The essence of functional programming , 1992, POPL '92.

[9]  Noson S. Yanofsky,et al.  Quantum Computing for Computer Scientists , 2008 .

[10]  Juliana Kaizer Vizzotto,et al.  FJQuantum - A Quantum Object Oriented Language , 2016, Electron. Notes Theor. Comput. Sci..

[11]  Juliana Kaizer Vizzotto,et al.  Structuring general and complete quantum computations in Haskell : the arrows approach , 2006 .

[12]  Bob Coecke,et al.  Interacting Quantum Observables , 2008, ICALP.

[13]  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.

[14]  A. Buchleitner,et al.  Basic concepts of entangled states , 2009 .

[15]  Philip Wadler,et al.  Featherweight Java: a minimal core calculus for Java and GJ , 2001, TOPL.

[16]  Peter Selinger,et al.  Finite Dimensional Hilbert Spaces are Complete for Dagger Compact Closed Categories (Extended Abstract) , 2011, QPL/DCM@ICALP.

[17]  N. Mermin Quantum Computer Science: An Introduction , 2007 .

[18]  Amr Sabry,et al.  Modeling quantum computing in Haskell , 2003, Haskell '03.

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

[20]  Colin P. Williams Explorations in Quantum Computing, Second Edition , 2011, Texts in Computer Science.

[21]  Juliana Kaizer Vizzotto,et al.  Quantum Arrows in Haskell , 2008, Electron. Notes Theor. Comput. Sci..

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

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

[24]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[25]  Thorsten Altenkirch,et al.  An Algebra of Pure Quantum Programming , 2007, Electron. Notes Theor. Comput. Sci..

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

[27]  Juliana Kaizer Vizzotto,et al.  Quantum Monad Using Java Closures , 2013, 2013 2nd Workshop-School on Theoretical Computer Science.

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

[29]  Benoît Valiron,et al.  A lambda calculus for quantum computation with classical control , 2006, Math. Struct. Comput. Sci..

[30]  Peter W. Shor,et al.  Algorithms for quantum computation: discrete logarithms and factoring , 1994, Proceedings 35th Annual Symposium on Foundations of Computer Science.

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

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

[33]  Isaac L. Chuang,et al.  Quantum Computation and Quantum Information (10th Anniversary edition) , 2011 .

[34]  Daniel R. Simon On the Power of Quantum Computation , 1997, SIAM J. Comput..

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

[36]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.