traq
Safe HaskellSafe-Inferred
LanguageHaskell2010

Traq.Analysis.Error.Quantum

Description

Error (Failure Probability) analysis for the quantum compiler.

Synopsis

Documentation

class (ErrorReqs size prec, SizeType ext ~ size, PrecType ext ~ prec, TraceNormErrorU ext size prec) => TVErrorQ ext size prec | ext -> size prec where #

Total variation distance w.r.t. quantum compiler CompileQ.

Methods

tvErrorQ :: forall ext' m. (m ~ ErrorAnalysisMonad ext', TVErrorQ ext' size prec, SizeType ext' ~ size, PrecType ext' ~ prec) => ext -> m (FailProb prec) #

Instances

Instances details
(UnitaryCostPrim prim size prec, QuantumHavocCostPrim prim size prec, ErrorReqs size prec) => TVErrorQ (AnnFailProb (Primitive prim)) size prec # 
Instance details

Defined in Traq.Primitives.Class

Methods

tvErrorQ :: forall ext' m. (m ~ ErrorAnalysisMonad ext', TVErrorQ ext' size prec, SizeType ext' ~ size, PrecType ext' ~ prec) => AnnFailProb (Primitive prim) -> m (FailProb prec) #

TVErrorQ ext size prec => TVErrorQ (Expr ext) size prec # 
Instance details

Defined in Traq.Analysis.Error.Quantum

Methods

tvErrorQ :: forall ext' m. (m ~ ErrorAnalysisMonad ext', TVErrorQ ext' size prec, SizeType ext' ~ size, PrecType ext' ~ prec) => Expr ext -> m (FailProb prec) #

TVErrorQ ext size prec => TVErrorQ (FunDef ext) size prec # 
Instance details

Defined in Traq.Analysis.Error.Quantum

Methods

tvErrorQ :: forall ext' m. (m ~ ErrorAnalysisMonad ext', TVErrorQ ext' size prec, SizeType ext' ~ size, PrecType ext' ~ prec) => FunDef ext -> m (FailProb prec) #

TVErrorQ ext size prec => TVErrorQ (Stmt ext) size prec # 
Instance details

Defined in Traq.Analysis.Error.Quantum

Methods

tvErrorQ :: forall ext' m. (m ~ ErrorAnalysisMonad ext', TVErrorQ ext' size prec, SizeType ext' ~ size, PrecType ext' ~ prec) => Stmt ext -> m (FailProb prec) #

ErrorReqs size prec => TVErrorQ (Core size prec) size prec # 
Instance details

Defined in Traq.Analysis.Error.Quantum

Methods

tvErrorQ :: forall ext' m. (m ~ ErrorAnalysisMonad ext', TVErrorQ ext' size prec, SizeType ext' ~ size, PrecType ext' ~ prec) => Core size prec -> m (FailProb prec) #

tvErrorQProg :: (TVErrorQ ext size prec, SizeType ext ~ size, PrecType ext ~ prec) => Program ext -> FailProb prec #