# Quipper: a scalable quantum programming language

@article{Green2013QuipperAS, title={Quipper: a scalable quantum programming language}, author={Alexander S. Green and Peter LeFanu Lumsdaine and Neil J. Ross and Peter Selinger and Beno{\^i}t Valiron}, journal={Proceedings of the 34th ACM SIGPLAN Conference on Programming Language Design and Implementation}, year={2013} }

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…

## 337 Citations

### Q|SI〉: A Quantum Programming Environment

- Computer Science, PhysicsSymposium on Real-Time and Hybrid Systems
- 2018

A platform embedded in the .Net language that supports quantum programming using a quantum extension of the while-language and a suite of tools for simulating quantum computation, optimizing quantum circuits, and analyzing and verifying quantum programs is described.

### Quantum Programming Languages

- Computer Science
- 2017

The ideal time to explore quantum programming language designs is now, before a quantum computer has been realized, so that when a quantumComputer is actually built the authors will be able to take full advantage of its resources.

### Quantum programming made easy

- Computer ScienceLinearity-TLLA@FLoC
- 2018

It is shown that IQu is quite effective in expressing well-known quantum algorithms, and mildly merges its quantum features with the classical programming style that the authors can experiment through Idealized Algol, the aim being to ease a transition towards the quantum programming world.

### Programming quantum computers using design automation

- Computer Science, Physics2018 Design, Automation & Test in Europe Conference & Exhibition (DATE)
- 2018

The challenges in fully-automatic quantum compilation are discussed and how to automatically perform the quantum programming flow from algorithm to a physical quantum computer for a simple algorithmic benchmark, namely the hidden shift problem is demonstrated.

### Qumin, a minimalist quantum programming language

- Computer ScienceArXiv
- 2017

This work describes both the language's theoretical foundations in terms of lambda calculi and linear type systems, and more practical matters such as implementations of algorithms and useful programming tools that streamline the interaction of the classical and quantum fragments of a program.

### Verifying Quantum Programs: From Quipper to QPMC

- Computer ScienceArXiv
- 2017

A translation from the quantum programming language Quipper to the QPMC model checker, allowing to formally verify properties specified in the temporal logic QCTL on Quantum Markov Chains.

### Formal Methods for Quantum Programs: A Survey

- Computer ScienceArXiv
- 2021

This work reviews the induced challenges for ancient use of formal methods in quantum computing and the current most promising research directions, and proposes solutions for problems occurring at every stage of the development process: high-level program design, implementation, compilation, etc.

### Programming Quantum Computers Using Design Automation ( Executive Session Paper )

- Computer Science, Physics
- 2017

The challenges in fully-automatic quantum compilation are discussed and how to automatically perform the quantum programming flow from algorithm to a physical quantum computer for a simple algorithmic benchmark, namely the hidden shift problem is demonstrated.

### Simulating Quantum Computers Using OpenCL

- Computer Science
- 2018

A tool which uses OpenCL to parallelize quantum circuits simulation, thereby taking advantage of devices such as GPUs while still remaining portable and leading to a new approach that outperforms other popular state vector based simulators.

### Quipper: Concrete Resource Estimation in Quantum Algorithms

- Computer ScienceArXiv
- 2014

This work designed a language, Q uipper, with scalability in mind, and is able to report actual resource counts for seven non-trivial algorithms found in the quantum computer science literature.

## References

SHOWING 1-10 OF 41 REFERENCES

### The Quantum IO Monad

- Computer Science
- 2006

The Quantum IO monad is a purely functional interface to quantum programming implemented as a Haskell library that provides a constructive semantics of quantum programming and presents a complete implementation of Shor’s algorithm.

### Quantum Computation and Quantum Information (10th Anniversary edition)

- Physics, Education
- 2010

Containing a wealth of figures and exercises, this well-known textbook is ideal for courses on the subject, and will interest beginning graduate students and researchers in physics, computer science, mathematics, and electrical engineering.

### Simulation of electronic structure Hamiltonians using quantum computers

- Physics
- 2011

Over the last century, a large number of physical and mathematical developments paired with rapidly advancing technology have allowed the field of quantum chemistry to advance dramatically. However,…

### Quantum programming languages: survey and bibliography

- Computer ScienceMathematical Structures in Computer Science
- 2006

The study of quantum Programming languages is justified, the basics of quantum computing are presented, the literature in quantum programming languages is surveyed, and directions for future research are indicated.

### Quantum lambda calculus

- Computer Science
- 2010

This chapter discusses how to combine higher-order functions with quantum computation, and investigates the interplay between classical objects and quantum objects in a higherorder context.

### Conventions for Quantum Pseudocode

- Physics
- 1996

A few conventions for thinking about and writing quantum pseu-docode are proposed. The conventions can be used for presenting any quantum algorithm down to the lowest level and are consistent with a…

### Algorithms for quantum computation: discrete logarithms and factoring

- Computer ScienceProceedings 35th Annual Symposium on Foundations of Computer Science
- 1994

Las Vegas algorithms for finding discrete logarithms and factoring integers on a quantum computer that take a number of steps which is polynomial in the input size, e.g., the number of digits of the integer to be factored are given.

### A lambda calculus for quantum computation with classical control

- Computer ScienceMathematical Structures in Computer Science
- 2006

A functional programming language for quantum computers by extending the simply-typed lambda calculus with quantum types and operations, and gives a type system using affine intuitionistic linear logic.

### A Lambda Calculus for Quantum Computation

- Computer ScienceSIAM J. Comput.
- 2004

A quantum lambda calculus is developed as an alternative model of quantum computation, which combines some of the benefits of both the quantum Turing machine and the quantum circuit models and it is argued that it is equivalent to the Quantum Turing machine.

### Quantum computation and quantum information

- PhysicsMathematical Structures in Computer Science
- 2007

This special issue of Mathematical Structures in Computer Science contains several contributions related to the modern field of Quantum Information and Quantum Computing. The first two papers deal…