Advanced Search

Browse by Discipline

Scientific Societies

E-print Alerts

Add E-prints

E-print Network

  Advanced Search  

The Quantum IO Monad Thorsten Altenkirch and Alexander S. Green

Summary: 1
The Quantum IO Monad
Thorsten Altenkirch and Alexander S. Green
School of Computer Science, The University of Nottingham
The Quantum IO monad is a purely functional interface to quantum
programming implemented as a Haskell library. At the same time it
provides a constructive semantics of quantum programming. The QIO
monad separates reversible (i.e. unitary) and irreversible (i.e. prob-
abilistic) computations and provides a reversible let operation (ulet),
allowing us to use ancillas (auxiliary qubits) in a modular fashion. QIO
programs can be simulated either by calculating a probability distribu-
tion or by embedding it into the IO monad using the random number
generator. As an example we present a complete implementation of
Shor's algorithm.
1.1 Introduction
We present an interface from a pure functional programming language,
Haskell, to quantum programming: the Quantum IO monad, and use
it to implement Shor's factorisation algorithm. The implementation
of the QIO monad provides a constructive semantics for quantum


Source: Altenkirch, Thorsten - School of Computer Science, University of Nottingham


Collections: Computer Technologies and Information Sciences