It looks like you're new here. If you want to get involved, click one of these buttons!

- All Categories 2.3K
- Chat 494
- Study Groups 5
- Green Mathematics 1
- Programming with Categories 4
- Review Sections 6
- MIT 2020: Programming with Categories 53
- MIT 2020: Lectures 21
- MIT 2020: Exercises 25
- MIT 2019: Applied Category Theory 339
- MIT 2019: Lectures 79
- MIT 2019: Exercises 149
- MIT 2019: Chat 50
- UCR ACT Seminar 4
- General 64
- Azimuth Code Project 110
- Statistical methods 2
- Drafts 1
- Math Syntax Demos 15
- Wiki - Latest Changes 0
- Strategy 111
- Azimuth Project 1.1K
- - Spam 1
- News and Information 147
- Azimuth Blog 149
- - Conventions and Policies 21
- - Questions 43
- Azimuth Wiki 708

Options

- quantum teleportation
- quantum Fourier transform
- quantum circuit for addition

- circuit model
- primitive operations
- quantum data type
- generic functions

recursion

circuit-level operators

- boxed circuits
- simulation

- automatic generation of circuits from classical code
- synthesis of reversible circuits
- circuit transformations

- Binary welded tree (BWT)
- Boolean formula (BF)
- Class Number (CSL)
- Ground state estimation (GSE)
- Quantum linear systems (QSL)
- Unique shortest vector (USV)
- Triangle finding (TF)

Quipper has a language independent design referred to as an idiom. It is an embeeded EDSL, embedded in Haskell. Because Haskell does not support dependent- or linear types, certain well-formedness properties of programs have to be checked at runtime.

The software's quantum computer targets include:

- ion-traps
- ... TBD

It does not however target the quantum adiabatic evolution model supported by the D-Wave architecture.

Both classical and quantum wires can be defined.

- Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, and Benoit Valiron, An introduction to quantum programming with Quipper (2013)

Quipper is a recently developed programming language for expressing quantum computations. This paper gives a brief tutorial in- troduction 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 computa- tion, including quantum teleportation, the quantum Fourier transform, and a quantum circuit for addition.

- Alexander S. Green, Peter LeFanu Lumsdaine, Neil J. Ross, Peter Selinger, Benoît Valiron, Quipper: A Scalable Quantum Programming Language (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 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.

## Comments

It's useful if want to study programming languages for quantum computing (there is a debate what that even means).

The nice part is that they have an information page about it. That's certainly helped people hear about it. Here's a list of what someone working in the field of quantum physics would use this for:

`It's useful if want to study programming languages for quantum computing (there is a debate what that even means). The nice part is that they have an information page about it. That's certainly helped people hear about it. Here's a list of what someone working in the field of quantum physics would use this for:`

Jacob wrote:

I like to pursue a double track of learning theory while playing with its machine implementation. So it seemed a good idea to compare QIT and Quipper codes and examles and possibly derive some documentation for the former from the latter.

I noted the other day that somebody on StackOverflow had some time ago asked what criteria a machine had to meet to be a 'real' quantum computer with zero answers?

I haven't looked yet but does QIT support quantum adiabatic evolution?

I've managed to build and run most of the examples but the outputs are rather large and need some cropping to put on a web page.

I'm working my way through the intro paper atm.

`Jacob wrote: > It's useful if [you] want to study programming languages for quantum computing (there is a debate [about' what that even means). I like to pursue a double track of learning theory while playing with its machine implementation. So it seemed a good idea to compare QIT and Quipper codes and examles and possibly derive some documentation for the former from the latter. I noted the other day that somebody on StackOverflow had some time ago asked what criteria a machine had to meet to be a 'real' quantum computer with zero answers? I haven't looked yet but does QIT support quantum adiabatic evolution? I've managed to build and run most of the examples but the outputs are rather large and need some cropping to put on a web page. I'm working my way through the intro paper atm.`

This is more of its own programming language and not really the same deal as QIT. It does look interesting though. You could make QIT do all of this stuff too if you wanted to: it has the main features ready and already does a few of them as examples of the package. The goal has mainly been physics simulation and yes, it does AQC stuff for sure.

Cheers!

`This is more of its own programming language and not really the same deal as QIT. It does look interesting though. You could make QIT do all of this stuff too if you wanted to: it has the main features ready and already does a few of them as examples of the package. The goal has mainly been physics simulation and yes, it does AQC stuff for sure. * I'm off to the states soon and don't think I can be back on Azimuth before that. Cheers!`

Have fun! Bye for now.

`Have fun! Bye for now.`