Actual arbitrary-qubit local phase and Hadamard actions on amplitudes.
@[simp]
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.update_sub
{ι : Type u_1}
[DecidableEq ι]
(x u : Measurement.Bits ι)
(i : ι)
(b : ZMod 2)
:
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.sub_update
{ι : Type u_1}
[DecidableEq ι]
(x u : Measurement.Bits ι)
(i : ι)
(b : ZMod 2)
:
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.update_as_add_single
{ι : Type u_1}
[DecidableEq ι]
(x : Measurement.Bits ι)
(i : ι)
(b : ZMod 2)
:
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.dot_update_left
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(u v : Measurement.Bits ι)
(i : ι)
(b : ZMod 2)
:
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.dot_update_right
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(u v : Measurement.Bits ι)
(i : ι)
(b : ZMod 2)
:
def
LeanPool.SingleCopyStabilizer.CliffordAction.localPhase
{ι : Type u_1}
(i : ι)
(ψ : Measurement.Amplitude ι)
(x : Measurement.Bits ι)
:
Apply S at one site of the full register amplitude.
Equations
Instances For
def
LeanPool.SingleCopyStabilizer.CliffordAction.phaseZLabel
{ι : Type u_1}
[DecidableEq ι]
(i : ι)
(u v : Measurement.Bits ι)
:
The Z-label update under conjugation by a local S gate.
Equations
- LeanPool.SingleCopyStabilizer.CliffordAction.phaseZLabel i u v = v + u i • Pi.single i 1
Instances For
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localPhase_bornWeight
{ι : Type u_1}
(i : ι)
(ψ : Measurement.Amplitude ι)
(x : Measurement.Bits ι)
:
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localPhase_normalized
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(i : ι)
(ψ : Measurement.Amplitude ι)
(hψ : Measurement.IsNormalized ψ)
:
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localPhase_covariance
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(i : ι)
(u v : Measurement.Bits ι)
(ψ : Measurement.Amplitude ι)
(x : Measurement.Bits ι)
:
Measurement.pauliAction u (phaseZLabel i u v) (localPhase i ψ) x = star (phaseBit (u i)) * localPhase i (Measurement.pauliAction u v ψ) x
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localPhase_eigenvector
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(i : ι)
(ψ : Measurement.Amplitude ι)
(u v : Measurement.Bits ι)
(ζ : ℂ)
(heig : Measurement.IsPauliEigenvector ψ u v ζ)
:
Measurement.IsPauliEigenvector (localPhase i ψ) u (phaseZLabel i u v) (star (phaseBit (u i)) * ζ)
noncomputable def
LeanPool.SingleCopyStabilizer.CliffordAction.localHadamard
{ι : Type u_1}
[DecidableEq ι]
(i : ι)
(ψ : Measurement.Amplitude ι)
(x : Measurement.Bits ι)
:
Apply H at one site through its two-term amplitude formula.
Equations
- One or more equations did not get rendered due to their size.
Instances For
def
LeanPool.SingleCopyStabilizer.CliffordAction.hadamardXLabel
{ι : Type u_1}
[DecidableEq ι]
(i : ι)
(u v : Measurement.Bits ι)
:
Replace the selected X label by its old Z label.
Equations
Instances For
def
LeanPool.SingleCopyStabilizer.CliffordAction.hadamardZLabel
{ι : Type u_1}
[DecidableEq ι]
(i : ι)
(u v : Measurement.Bits ι)
:
Replace the selected Z label by its old X label.
Equations
Instances For
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localHadamard_covariance
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(i : ι)
(u v : Measurement.Bits ι)
(ψ : Measurement.Amplitude ι)
(x : Measurement.Bits ι)
:
Measurement.pauliAction (hadamardXLabel i u v) (hadamardZLabel i u v) (localHadamard i ψ) x = Measurement.paritySign (u i * v i) * localHadamard i (Measurement.pauliAction u v ψ) x
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localHadamard_eigenvector
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(i : ι)
(ψ : Measurement.Amplitude ι)
(u v : Measurement.Bits ι)
(ζ : ℂ)
(heig : Measurement.IsPauliEigenvector ψ u v ζ)
:
Measurement.IsPauliEigenvector (localHadamard i ψ) (hadamardXLabel i u v) (hadamardZLabel i u v)
(Measurement.paritySign (u i * v i) * ζ)
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.hadamard_pair_norm
(a b : ℂ)
:
Complex.normSq (QubitGates.hadamardCoefficient * (a + b)) + Complex.normSq (QubitGates.hadamardCoefficient * (a - b)) = Complex.normSq a + Complex.normSq b
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localHadamard_pair_bornWeight
{ι : Type u_1}
[DecidableEq ι]
(i : ι)
(ψ : Measurement.Amplitude ι)
(x : Measurement.Bits ι)
:
Measurement.bornWeight (localHadamard i ψ) (Function.update x i 0) + Measurement.bornWeight (localHadamard i ψ) (Function.update x i 1) = Measurement.bornWeight ψ (Function.update x i 0) + Measurement.bornWeight ψ (Function.update x i 1)
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.flip_eq_update
{ι : Type u_1}
[DecidableEq ι]
(i : ι)
(x : Measurement.Bits ι)
:
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.sum_update_pair
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(i : ι)
(f : Measurement.Bits ι → ℝ)
:
∑ x : ι → ZMod 2, (f (Function.update x i 0) + f (Function.update x i 1)) = 2 * ∑ x : Measurement.Bits ι, f x
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localHadamard_norm_preserving
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(i : ι)
(ψ : Measurement.Amplitude ι)
:
∑ x : Measurement.Bits ι, Measurement.bornWeight (localHadamard i ψ) x = ∑ x : Measurement.Bits ι, Measurement.bornWeight ψ x
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localHadamard_normalized
{ι : Type u_1}
[Fintype ι]
[DecidableEq ι]
(i : ι)
(ψ : Measurement.Amplitude ι)
(hψ : Measurement.IsNormalized ψ)
:
def
LeanPool.SingleCopyStabilizer.CliffordAction.localPhaseInverse
{ι : Type u_1}
(i : ι)
(ψ : Measurement.Amplitude ι)
(x : Measurement.Bits ι)
:
The adjoint S action on amplitudes.
Equations
Instances For
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localPhaseInverse_localPhase
{ι : Type u_1}
(i : ι)
(ψ : Measurement.Amplitude ι)
:
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localPhase_localPhaseInverse
{ι : Type u_1}
(i : ι)
(ψ : Measurement.Amplitude ι)
:
theorem
LeanPool.SingleCopyStabilizer.CliffordAction.localHadamard_involutive
{ι : Type u_1}
[DecidableEq ι]
(i : ι)
(ψ : Measurement.Amplitude ι)
:
noncomputable def
LeanPool.SingleCopyStabilizer.CliffordAction.localHadamardEquiv
{ι : Type u_1}
[DecidableEq ι]
(i : ι)
:
H is a bijection on the full amplitude space, with itself as inverse.
Equations
- One or more equations did not get rendered due to their size.
Instances For
S is a bijection on the full amplitude space with the explicit S† inverse.
Equations
- One or more equations did not get rendered due to their size.
Instances For
noncomputable def
LeanPool.SingleCopyStabilizer.CliffordAction.localHadamardLinearEquiv
{ι : Type u_1}
[DecidableEq ι]
(i : ι)
:
The complex-linear involution induced by H at a selected site.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The complex-linear equivalence induced by S at a selected site.
Equations
- One or more equations did not get rendered due to their size.