Documentation

MIPRE.Background.LIDT.MIPStarRE.LDT.Preliminaries.SwitchSandwichPrep.InnerProduct

Switch-sandwich preparation: inner-product bounds #

Cauchy–Schwarz-style inner-product bounds in the avgOver formulation used by the switch-sandwich argument.

References #

theorem MIPStarRE.LDT.Preliminaries.avgOver_abs_le_sqrt_of_pointwise {Question : Type u_1} (π’Ÿ : Distribution Question) (f g : Question β†’ Error) (hf : βˆ€ (q : Question), |f q| ≀ √(g q)) (hg : βˆ€ (q : Question), 0 ≀ g q) (hπ’Ÿ : βˆ‘ q ∈ π’Ÿ.support, π’Ÿ.weight q ≀ 1) :
|avgOver π’Ÿ f| ≀ √(avgOver π’Ÿ g)
theorem MIPStarRE.LDT.Preliminaries.closenessOfInnerProduct_left {Question : Type u_1} {OutcomeA : Type u_2} {OutcomeB : Type u_3} {ΞΉ : Type u_4} [Fintype ΞΉ] [DecidableEq ΞΉ] [Fintype OutcomeA] [Fintype OutcomeB] (ψ : QuantumState ΞΉ) (hψ : ψ.IsNormalized) (π’Ÿ : Distribution Question) (hπ’Ÿ : βˆ‘ q ∈ π’Ÿ.support, π’Ÿ.weight q ≀ 1) (A B : Question β†’ OutcomeA β†’ Quantum.Op ΞΉ) (C : Question β†’ OutcomeA β†’ OutcomeB β†’ Quantum.Op ΞΉ) (Ξ³ : Error) (hAB : (avgOver π’Ÿ fun (q : Question) => qSDDCore ψ (A q) (B q)) ≀ Ξ³) (hC : βˆ€ (q : Question), βˆ‘ a : OutcomeA, (βˆ‘ b : OutcomeB, C q a b) * (βˆ‘ b : OutcomeB, C q a b).conjTranspose ≀ 1) :
|(avgOver π’Ÿ fun (q : Question) => βˆ‘ a : OutcomeA, βˆ‘ b : OutcomeB, ev ψ (C q a b * A q a)) - avgOver π’Ÿ fun (q : Question) => βˆ‘ a : OutcomeA, βˆ‘ b : OutcomeB, ev ψ (C q a b * B q a)| ≀ √γ

prop:closeness-of-ip, left-action clause eq:closeness3.

theorem MIPStarRE.LDT.Preliminaries.closenessOfInnerProduct_right {Question : Type u_1} {OutcomeA : Type u_2} {OutcomeB : Type u_3} {ΞΉ : Type u_4} [Fintype ΞΉ] [DecidableEq ΞΉ] [Fintype OutcomeA] [Fintype OutcomeB] (ψ : QuantumState ΞΉ) (hψ : ψ.IsNormalized) (π’Ÿ : Distribution Question) (hπ’Ÿ : βˆ‘ q ∈ π’Ÿ.support, π’Ÿ.weight q ≀ 1) (A B : Question β†’ OutcomeA β†’ Quantum.Op ΞΉ) (C : Question β†’ OutcomeA β†’ OutcomeB β†’ Quantum.Op ΞΉ) (Ξ³ : Error) (hAB : (avgOver π’Ÿ fun (q : Question) => qSDDCore ψ (fun (a : OutcomeA) => Matrix.conjTranspose (A q a)) fun (a : OutcomeA) => Matrix.conjTranspose (B q a)) ≀ Ξ³) (hC : βˆ€ (q : Question), βˆ‘ a : OutcomeA, (βˆ‘ b : OutcomeB, C q a b).conjTranspose * βˆ‘ b : OutcomeB, C q a b ≀ 1) :
|(avgOver π’Ÿ fun (q : Question) => βˆ‘ a : OutcomeA, βˆ‘ b : OutcomeB, ev ψ (A q a * C q a b)) - avgOver π’Ÿ fun (q : Question) => βˆ‘ a : OutcomeA, βˆ‘ b : OutcomeB, ev ψ (B q a * C q a b)| ≀ √γ

prop:closeness-of-ip, right-action clause eq:closeness4.