Abstract
Quipper is a recently developed programming language for expressing quantum computations. This paper gives a brief tutorial introduction to the language, through a demonstration of how to make use of some of its key features. We illustrate many of Quipper’s language features by developing a few well known examples of Quantum computation, including quantum teleportation, the quantum Fourier transform, and a quantum circuit for addition.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Aaronson, S., Gottesman, D.: Improved simulation of stabilizer circuits. Physical Review A 70(5), 052328 (2004), arXiv:quant-ph/0406196
Altenkirch, T., Green, A.S.: The Quantum IO Monad. In: Gay, S., Mackie, I. (eds.) Semantic Techniques in Quantum Computation, pp. 173–205. Cambridge University Press (2009)
Ambainis, A., Childs, A.M., Reichardt, B.W., Spalek, R., Zhang, S.: Any AND-OR formula of size n can be evaluated in time \(n^{\frac12+o(1)}\) on a quantum computer. SIAM J. Comput. 39, 2513–2530 (2010)
Bjesse, P., Claessen, K., Sheeran, M., Singh, S.: Lava: hardware design in Haskell. In: Proceedings of the Third ACM SIGPLAN International Conference on Functional Programming, ICFP 1998, pp. 174–184. ACM, New York (1998), doi:10.1145/289423.289440
Childs, A.M., Cleve, R., Deotto, E., Farhi, E., Gutmann, S., Spielman, D.A.: Exponential algorithmic speedup by a quantum walk. In: Proceedings of the 35th Annual ACM Symposium on Theory of Computing, pp. 59–68 (2003)
Claessen, K.: Embedded Languages for Describing and Verifying Hardware. Ph.D. thesis, Chalmers University of Technology and Göteborg University (2001)
Draper, T.G.: Addition on a Quantum Computer (August 2000), arXiv:quant-ph/0008033
Gay, S.J.: Quantum programming languages: Survey and bibliography. Mathematical Structures in Computer Science 16(4) (2006), http://www.dcs.gla.ac.uk/~simon/publications/QPLsurvey.pdf
Giles, B.: Programming with a Quantum Stack. Master’s thesis, Department of Computer Science, University of Calgary (April 2007), http://pages.cpsc.ucalgary.ca/~gilesb/research/lqpl.html
Green, A.S., Lumsdaine, P.L., Ross, N.J., Selinger, P., Valiron, B.: Quipper: A scalable quantum programming language. To appear in PLDI 2013 (2013), arXiv:1304.3390
Hallgren, S.: Polynomial-time quantum algorithms for Pell’s equation and the principal ideal problem. J. ACM 54(1), 4:1–4:19 (2007), doi:10.1145/1206035.1206039
Harrow, A.W., Hassidim, A., Lloyd, S.: Quantum algorithm for linear systems of equations. Phys. Rev. Lett. 103(15), 150502 (2009)
IARPA Quantum Computer Science Program: Broad Agency Announcement IARPA-BAA-10-02 (April 2010), https://www.fbo.gov/notices/637e87ac1274d030ce2ab69339ccf93c
Magniez, F., Santha, M., Szegedy, M.: Quantum algorithms for the triangle problem (November 2003), arXiv:quant-ph/0310134
Nielsen, M.A., Chuang, I.L.: Quantum Computation and Quantum Information. Cambridge University Press (2002)
Ömer, B.: A Procedural Formalism for Quantum Computing. Master’s thesis, Dept. of Theoretical Physics, Tech. Univ. Vienna (July 1998), http://tph.tuwien.ac.at/~oemer/qcl.html
Regev, O.: Quantum computation and lattice problems. SIAM J. Comput. 33(3), 738–760 (2004)
Whitfield, J.D., Biamonte, J., Aspuru-Guzik, A.: Simulation of electronic structure hamiltonians using quantum computers. Molecular Physics 109(5), 735–750 (2011)
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
Green, A.S., Lumsdaine, P.L., Ross, N.J., Selinger, P., Valiron, B. (2013). An Introduction to Quantum Programming in Quipper. In: Dueck, G.W., Miller, D.M. (eds) Reversible Computation. RC 2013. Lecture Notes in Computer Science, vol 7948. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38986-3_10
Download citation
DOI: https://doi.org/10.1007/978-3-642-38986-3_10
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-38985-6
Online ISBN: 978-3-642-38986-3
eBook Packages: Computer ScienceComputer Science (R0)