QIO-1.0: The Quantum IO Monad is a library for defining quantum computations in Haskell
Source code
Contents
Index
QIO.Qio
Documentation
type
Pure
=
VecEqL
CC
HeapMap
Source
updateP
::
Pure
->
Qbit
->
Bool
->
Pure
Source
newtype
Unitary
Source
Constructors
U
unU
::
Int
->
HeapMap
->
Pure
uRot
::
Qbit
->
Rotation
->
Unitary
Source
unitaryRot
::
Rotation
->
Bool
Source
uMatrix
::
Qbit
-> (
CC
,
CC
,
CC
,
CC
) ->
Unitary
Source
uSwap
::
Qbit
->
Qbit
->
Unitary
Source
uCond
::
Qbit
-> (
Bool
->
Unitary
) ->
Unitary
Source
uLet
::
Bool
-> (
Qbit
->
Unitary
) ->
Unitary
Source
runU
::
U
->
Unitary
Source
data
StateQ
Source
Constructors
StateQ
free
::
Int
pure
::
Pure
initialStateQ
::
StateQ
Source
pa
::
Pure
->
RR
Source
data
Split
Source
Constructors
Split
p
::
RR
ifTrue
::
Pure
ifFalse
::
Pure
split
::
Pure
->
Qbit
->
Split
Source
class
Monad
m =>
PMonad
m
where
Source
Methods
merge
::
RR
-> m a -> m a -> m a
Source
data
Prob
a
Source
Constructors
Prob
unProb
::
Vec
RR
a
evalWith
::
PMonad
m =>
QIO
a ->
State
StateQ
(m a)
Source
eval
::
PMonad
m =>
QIO
a -> m a
Source
run
::
QIO
a ->
IO
a
Source
sim
::
QIO
a ->
Prob
a
Source
Produced by
Haddock
version 2.6.1