QIO-1.0: The Quantum IO Monad is a library for defining quantum computations in HaskellSource codeContentsIndex
QIO.Qio
Documentation
type Pure = VecEqL CC HeapMapSource
updateP :: Pure -> Qbit -> Bool -> PureSource
newtype Unitary Source
Constructors
U
unU :: Int -> HeapMap -> Pure
uRot :: Qbit -> Rotation -> UnitarySource
unitaryRot :: Rotation -> BoolSource
uMatrix :: Qbit -> (CC, CC, CC, CC) -> UnitarySource
uSwap :: Qbit -> Qbit -> UnitarySource
uCond :: Qbit -> (Bool -> Unitary) -> UnitarySource
uLet :: Bool -> (Qbit -> Unitary) -> UnitarySource
runU :: U -> UnitarySource
data StateQ Source
Constructors
StateQ
free :: Int
pure :: Pure
initialStateQ :: StateQSource
pa :: Pure -> RRSource
data Split Source
Constructors
Split
p :: RR
ifTrue :: Pure
ifFalse :: Pure
split :: Pure -> Qbit -> SplitSource
class Monad m => PMonad m whereSource
Methods
merge :: RR -> m a -> m a -> m aSource
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 aSource
run :: QIO a -> IO aSource
sim :: QIO a -> Prob aSource
Produced by Haddock version 2.6.0