Abstract
In this paper we present a double effect version of the simply typed λ-calculus where we can represent both pure and impure quantum computations. The double effect calculus comprises a quantum arrow layer defined over a quantum monadic layer. In previous works we have developed the quantum arrow calculus, a calculus where we can consider just impure (or mixed) quantum computations. Technically, here we extend the quantum arrow calculus with a construct (and equations) that allows the communication of the monadic layer with the arrow layer of the calculus. That is, the quantum arrow is defined over a monadic instance enabling to consider pure and impure quantum computations in the same framework. As a practical contribution, the calculus allows to express quantum algorithms including reversible operations over pure states and measurements in the middle of the computation using a traditional style of functional programming and reasoning. We also define equations for algebraic reasoning of computations involving measurements.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Selinger, P.: Towards a quantum programming language. Mathematical Structures in Computer Science 4(14), 527–586 (2004)
Altenkirch, T., Grattage, J.: A functional quantum programming language. In: 20th Annual IEEE Symposium on Logic in Computer Science (2005)
van Tonder, A.: A lambda calculus for quantum computation. SIAM Journal of Computing 33, 1109–1135 (2004)
Arrighi, P., Dowek, G.: Linear-algebraic λ-calculus: higher-order, encodings, and confluence. In: Voronkov, A. (ed.) RTA 2008. LNCS, vol. 5117, pp. 17–31. Springer, Heidelberg (2008)
Selinger, P., Valiron, B.: A lambda calculus for quantum computation with classical control. Mathematical Structures in Computer Science 16(3), 527–552 (2006)
Selinger, P., Valiron, B.: Quantum lambda calculus. In: Gay, S., Mackie, I. (eds.) Semantic Techniques in Quantum Computation, pp. 135–172. Cambridge University Press (2009)
Uustalu, T., Vene, V.: The essence of dataflow programming. In: Yi, K. (ed.) APLAS 2005. LNCS, vol. 3780, pp. 2–18. Springer, Heidelberg (2005)
Moggi, E.: Computational lambda-calculus and monads. In: Proceedings of the Fourth Annual Symposium on Logic in Computer Science, pp. 14–23. IEEE Press (1989)
Vizzotto, J.K., Altenkirch, T., Sabry, A.: Structuring quantum effects: Superoperators as arrows. Journal of Mathematical Structures in Computer Science: Special Issue in Quantum Programming Languages 16, 453–468 (2006)
Hughes, J.: Generalising monads to arrows. Science of Computer Programming 37, 67–111 (2000)
Lindley, S., Wadler, P., Yallop, J.: The arrow calculus. Journal of Functional Programming, 51–69 (2010)
Vizzotto, J.K., Librelotto, G.R., Sabry, A.: Reasoning about general quantum programs over mixed states. In: Oliveira, M.V.M., Woodcock, J. (eds.) SBMF 2009. LNCS, vol. 5902, pp. 321–335. Springer, Heidelberg (2009)
Mu, S.C., Bird, R.: Functional quantum programming. In: Second Asian Workshop on Programming Languages and Systems, KAIST, Korea (December 2001)
Vizzotto, J.K., Du Bois, A.R., Sabry, A.: The arrow calculus as a quantum programming language. In: Ono, H., Kanazawa, M., de Queiroz, R. (eds.) WoLLIC 2009. LNCS, vol. 5514, pp. 379–393. Springer, Heidelberg (2009)
Altenkirch, T., Chapman, J., Uustalu, T.: Relative monads formalised. Under consideration for Publication in Mathematical Structures in Computer Science (2010)
Abramsky, S.: High-level methods for quantum computation and information. In: LICS, pp. 410–414 (2004)
Selinger, P.: Dagger compact closed categories and completely positive maps. Electronic Notes in Theoretical Computer Science 170, 139–163 (2007)
Coecke, B.: Strongly compact closed semantics. Electronic Notes Theoretical Computer Science 155, 331–340 (2006)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2013 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Vizzotto, J.K., Calegaro, B.C., Piveta, E.K. (2013). A Double Effect λ-calculus for Quantum Computation. In: Du Bois, A.R., Trinder, P. (eds) Programming Languages. SBLP 2013. Lecture Notes in Computer Science, vol 8129. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40922-6_5
Download citation
DOI: https://doi.org/10.1007/978-3-642-40922-6_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-40921-9
Online ISBN: 978-3-642-40922-6
eBook Packages: Computer ScienceComputer Science (R0)