Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2491956.2462177acmconferencesArticle/Chapter ViewAbstractPublication PagespldiConference Proceedingsconference-collections
research-article

Quipper: a scalable quantum programming language

Published: 16 June 2013 Publication 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.

Supplementary Material

ZIP File (pldi154.zip)
This README file contains information relating to the files in the auxilliary material file: The files in this archive are all the source files used by TeX when creating the paper from source. Including the original versions of any graphics.

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.
[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.
[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.
[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.
[5]
K. Claessen. Embedded Languages for Describing and Verifying Hardware. PhD thesis, Chalmers University of Technology and Göteborg University, 2001.
[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.
[7]
S. J. Gay. Quantum programming languages: Survey and bibliography. Mathematical Structures in Computer Science, 16(04):581--600, 2006.
[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.
[9]
A. W. Harrow, A. Hassidim, and S. Lloyd. Quantum algorithm for linear systems of equations. Phys. Rev. Lett., 103(15):150502, 2009.
[10]
IARPA Quantum Computer Science Program. Broad Agency Announcement IARPA-BAA-10-02. Available from https://www.fbo.gov/notices/637e87ac1274d030ce2ab69339ccf93c, April 2010.
[11]
S. Jordan. http://math.nist.gov/quantum/zoo/. Electronic resource.
[12]
E. H. Knill. Conventions for quantum pseudocode. LANL report LAUR-96--2724, 1996.
[13]
F. Magniez, M. Santha, and M. Szegedy. Quantum algorithms for the triangle problem. quant-ph/0310134, 2003.
[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.
[15]
M. A. Nielsen and I. L. Chuang. Quantum Computation and Quantum Information. Cambridge University Press, 2002.
[16]
B. Ömer. Quantum programming in QCL. Master's thesis, Institute of Information Systems, Technical University of Vienna, 2000.
[17]
O. Regev. Quantum computation and lattice problems. SIAM J. Comput., 33(3):738--760, 2004.
[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.
[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.
[20]
T. Sheard and S. Peyton Jones. Template metaprogramming for Haskell. In Proc. Haskell Workshop, 2002.
[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.
[22]
A. van Tonder. A lambda calculus for quantum computation. SIAM Journal of Computing, 33(5):1109--1135, 2004.
[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.

Cited By

View all
  • (2025)Flexible Type-Based Resource Estimation in Quantum Circuit Description LanguagesProceedings of the ACM on Programming Languages10.1145/37048839:POPL(1386-1416)Online publication date: 9-Jan-2025
  • (2025)Verifying Quantum Circuits with Level-Synchronized Tree AutomataProceedings of the ACM on Programming Languages10.1145/37048689:POPL(923-953)Online publication date: 9-Jan-2025
  • (2025)Formalization of Quantum Intermediate Representations for code safetyJournal of Systems and Software10.1016/j.jss.2024.112236219(112236)Online publication date: Jan-2025
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

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
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]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 June 2013

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. quantum programming languages
  2. quipper

Qualifiers

  • Research-article

Conference

PLDI '13
Sponsor:

Acceptance Rates

PLDI '13 Paper Acceptance Rate 46 of 267 submissions, 17%;
Overall Acceptance Rate 406 of 2,067 submissions, 20%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)144
  • Downloads (Last 6 weeks)20
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Flexible Type-Based Resource Estimation in Quantum Circuit Description LanguagesProceedings of the ACM on Programming Languages10.1145/37048839:POPL(1386-1416)Online publication date: 9-Jan-2025
  • (2025)Verifying Quantum Circuits with Level-Synchronized Tree AutomataProceedings of the ACM on Programming Languages10.1145/37048689:POPL(923-953)Online publication date: 9-Jan-2025
  • (2025)Formalization of Quantum Intermediate Representations for code safetyJournal of Systems and Software10.1016/j.jss.2024.112236219(112236)Online publication date: Jan-2025
  • (2024)Modular Synthesis of Efficient Quantum UncomputationProceedings of the ACM on Programming Languages10.1145/36897858:OOPSLA2(2097-2124)Online publication date: 8-Oct-2024
  • (2024)The T-Complexity Costs of Error Correction for Control Flow in Quantum ComputationProceedings of the ACM on Programming Languages10.1145/36563978:PLDI(492-517)Online publication date: 20-Jun-2024
  • (2024)Synthetiq: Fast and Versatile Quantum Circuit SynthesisProceedings of the ACM on Programming Languages10.1145/36498138:OOPSLA1(55-82)Online publication date: 29-Apr-2024
  • (2024)Quantum Control Machine: The Limits of Control Flow in Quantum ProgrammingProceedings of the ACM on Programming Languages10.1145/36498118:OOPSLA1(1-28)Online publication date: 29-Apr-2024
  • (2024)SimuQ: A Framework for Programming Quantum Hamiltonian Simulation with Analog CompilationProceedings of the ACM on Programming Languages10.1145/36329238:POPL(2425-2455)Online publication date: 5-Jan-2024
  • (2024)Testing and Debugging Quantum CircuitsIEEE Transactions on Quantum Engineering10.1109/TQE.2024.33748795(1-15)Online publication date: 2024
  • (2024)An Abstraction Hierarchy Toward Productive Quantum Programming2024 IEEE International Conference on Quantum Computing and Engineering (QCE)10.1109/QCE60285.2024.00117(979-989)Online publication date: 15-Sep-2024
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media