HABQT-0.1.0.0: Hierarchical adaptive Bayesian quantum tomography for quantum bits

Safe HaskellNone
LanguageHaskell2010

HABQTlib.UnsafeAPI

Description

This module contains functions for performing and simulating HABQT in Haskell.

Caution: functions in this module perform no input validation and are partial. For a safe API refer to HABQTlib.

Synopsis

Documentation

type TomState = StateT (ParticleHierarchy, [PureStateVector]) IO Source #

Tomography keeps track of the particle hierarchy and list of previous measurement results, IO is used for verbose output and assorted random state generation.

type TomFun = PureStateVector -> TomState (DensityMatrix, PurePOVM) Source #

Tomography function takes a measurement result and returns state-dependent Bayesian mean estimate of state and the optimal next POVM to perform.

tomographyFun' Source #

Arguments

:: QBitNum

Number of quantum bits under tomography

-> MHMCiter

Number of MHMC iterations to perform when resampling

-> OptIter

Number of POVM optimisation steps to perform

-> OutputVerb

Verbosity of stdout output

-> GenIO

IO generator for variates from System.Random.MWC

-> TomFun 

Given parameters such as output verbosity level and number of quantum bits, set up the tomography function.

simulatedTomography' Source #

Arguments

:: DensityMatrix

True state's density matrix

-> QBitNum

Number of quantum bits under tomography

-> MHMCiter

Number of MHMC iterations to perform when resampling

-> OptIter

Number of POVM optimisation steps to perform

-> OutputVerb

Verbosity of stdout output

-> GenIO

IO generator for variates from System.Random.MWC

-> StateT PurePOVM TomState Double 

Given a true state's density matrix and parameters, set up a simulation of quantum tomography that outputs infidelity between mean estimates and true state.

streamResults' Source #

Arguments

:: QBitNum

Number of quantum bits under tomography

-> Rank

Rank of true state

-> NumberOfParticles

Number of particles (per rank) to use for tomography

-> MHMCiter

Number of MHMC iterations to perform when resampling

-> OptIter

Number of POVM optimisation steps to perform

-> OutputVerb

Verbosity of stdout output

-> Stream (Of Double) IO () 

Stream simulated tomography results.