| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
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.
- type TomState = StateT (ParticleHierarchy, [PureStateVector]) IO
- type TomFun = PureStateVector -> TomState (DensityMatrix, PurePOVM)
- tomographyFun' :: QBitNum -> MHMCiter -> OptIter -> OutputVerb -> GenIO -> TomFun
- simulatedTomography' :: DensityMatrix -> QBitNum -> MHMCiter -> OptIter -> OutputVerb -> GenIO -> StateT PurePOVM TomState Double
- streamResults' :: QBitNum -> Rank -> NumberOfParticles -> MHMCiter -> OptIter -> OutputVerb -> Stream (Of Double) IO ()
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.
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.
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.
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.