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

- All Categories 2.2K
- Applied Category Theory Course 355
- Applied Category Theory Seminar 4
- Exercises 149
- Discussion Groups 49
- How to Use MathJax 15
- Chat 480
- Azimuth Code Project 108
- News and Information 145
- Azimuth Blog 149
- Azimuth Forum 29
- Azimuth Project 189
- - Strategy 108
- - Conventions and Policies 21
- - Questions 43
- Azimuth Wiki 711
- - Latest Changes 701
- - - Action 14
- - - Biodiversity 8
- - - Books 2
- - - Carbon 9
- - - Computational methods 38
- - - Climate 53
- - - Earth science 23
- - - Ecology 43
- - - Energy 29
- - - Experiments 30
- - - Geoengineering 0
- - - Mathematical methods 69
- - - Meta 9
- - - Methodology 16
- - - Natural resources 7
- - - Oceans 4
- - - Organizations 34
- - - People 6
- - - Publishing 4
- - - Reports 3
- - - Software 21
- - - Statistical methods 2
- - - Sustainability 4
- - - Things to do 2
- - - Visualisation 1
- General 39

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.`