skip to main content
10.1145/2491956.2462177acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Quipper: a scalable quantum programming language

Published:16 June 2013Publication History

ABSTRACT

The field of quantum algorithms is vibrant. Still, there is currently a lack of programming languages for describing quantum computation on a practical scale, i.e., not just at the level of toy problems. We address this issue by introducing Quipper, a scalable, expressive, functional, higher-order quantum programming language. Quipper has been used to program a diverse set of non-trivial quantum algorithms, and can generate quantum gate representations using trillions of gates. It is geared towards a model of computation that uses a classical computer to control a quantum device, but is not dependent on any particular model of quantum hardware. Quipper has proven effective and easy to use, and opens the door towards using formal methods to analyze quantum algorithms.

Skip Supplemental Material Section

Supplemental Material

References

  1. T. Altenkirch and A. S. Green. The Quantum IO Monad. In S. Gay and I. Mackie, editors, Semantic Techniques in Quantum Computation, pages 173--205. Cambridge University Press, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  2. A. Ambainis, A. M. Childs, B. Reichardt, R.v Spalek, and S. Zhang. Any AND-OR formula of size n can be evaluated in time n 1/2+o(1) on a quantum computer. SIAM J. Comput., 39:2513--2530, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. A. Childs and R. Kothari. Quantum query complexity of minor-closed graph properties. In Proceedings of the 28th Symposium on Theoretical Aspects of Computer Science, pages 661--672, 2011.Google ScholarGoogle Scholar
  4. A. M. Childs, R. Cleve, E. Deotto, E. Farhi, S. Gutmann, and D. A. Spielman. Exponential algorithmic speedup by a quantum walk. In Proceedings of the Thirty-Fifth Annual ACM Symposium on Theory of Computing, pages 59--68, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. K. Claessen. Embedded Languages for Describing and Verifying Hardware. PhD thesis, Chalmers University of Technology and Göteborg University, 2001.Google ScholarGoogle Scholar
  6. D. Deutsch. Quantum theory, the Church-Turing principle and the universal quantum computer. Proceedings of the Royal Society of London, Series A, 400(1818):97--117, 1985.Google ScholarGoogle ScholarCross RefCross Ref
  7. S. J. Gay. Quantum programming languages: Survey and bibliography. Mathematical Structures in Computer Science, 16(04):581--600, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Hallgren. Polynomial-time quantum algorithms for Pell's equation and the principal ideal problem. J. ACM, 54(1):4:1--4:19, Mar. 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. A. W. Harrow, A. Hassidim, and S. Lloyd. Quantum algorithm for linear systems of equations. Phys. Rev. Lett., 103(15):150502, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  10. IARPA Quantum Computer Science Program. Broad Agency Announcement IARPA-BAA-10-02. Available from https://www.fbo.gov/notices/637e87ac1274d030ce2ab69339ccf93c, April 2010.Google ScholarGoogle Scholar
  11. S. Jordan. http://math.nist.gov/quantum/zoo/. Electronic resource.Google ScholarGoogle Scholar
  12. E. H. Knill. Conventions for quantum pseudocode. LANL report LAUR-96--2724, 1996.Google ScholarGoogle Scholar
  13. F. Magniez, M. Santha, and M. Szegedy. Quantum algorithms for the triangle problem. quant-ph/0310134, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. F. Magniez, M. Santha, and M. Szegedy. Quantum algorithms for the triangle problem. In Proceedings of the 16th annual ACM-SIAM symposium on Discrete algorithms, pages 1109--1117, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. M. A. Nielsen and I. L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. B. Ömer. Quantum programming in QCL. Master's thesis, Institute of Information Systems, Technical University of Vienna, 2000.Google ScholarGoogle Scholar
  17. O. Regev. Quantum computation and lattice problems. SIAM J. Comput., 33(3):738--760, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. P. Selinger and B. Valiron. A lambda calculus for quantum computation with classical control. Mathematical Structures in Computer Science, 16(3):527--552, 2006. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. Selinger and B. Valiron. Quantum lambda calculus. In S. Gay and I. Mackie, editors, Semantic Techniques in Quantum Computation, pages 135--172. Cambridge University Press, 2009.Google ScholarGoogle ScholarCross RefCross Ref
  20. T. Sheard and S. Peyton Jones. Template metaprogramming for Haskell. In Proc. Haskell Workshop, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. P. Shor. Algorithms for quantum computation: discrete logarithms and factoring. In Proceedings, 35th Annual Symposium on Foundations of Computer Science. CA: IEEE Press, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. A. van Tonder. A lambda calculus for quantum computation. SIAM Journal of Computing, 33(5):1109--1135, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. D. Whitfield, J. Biamonte, and A. Aspuru-Guzik. Simulation of electronic structure Hamiltonians using quantum computers. Molecular Physics, 109(5):735--750, 2011.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Quipper: a scalable quantum programming language

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        PLDI '13: Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation
        June 2013
        546 pages
        ISBN:9781450320146
        DOI:10.1145/2491956
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 48, Issue 6
          PLDI '13
          June 2013
          515 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/2499370
          Issue’s Table of Contents

        Copyright © 2013 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 16 June 2013

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        PLDI '13 Paper Acceptance Rate46of267submissions,17%Overall Acceptance Rate406of2,067submissions,20%

        Upcoming Conference

        PLDI '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader