Documentation

MIPRE.Background.Repetition.PauliAlgebra

The twisted Pauli algebra: a standard tracial algebra with unital dyadic matrix units #

Work package T4 of C6b (planning/c6b-plan.md; reports/c6b-paper-proofs.md, §3.8). The value lemma's amplification (Theorems A and T of the report, §3) tensors a finite pair with a standard tracial algebra B whose ⋆-algebra B.A has unital 2ⁿ × 2ⁿ matrix units for every n (HasDyadicUnits, MIPRE/Foundations/MatUnits.lean). This file constructs one, the twisted Pauli algebra (pauliStd, pauliStd_hasDyadicUnits), in the interface CommutingRepetition.StdTracialAlgebra of the vendored commuting-repetition development.

Names that would shadow the fields of StdTracialAlgebra are spelled out: the algebra is pauliA, its trace pauliTrace, the Hilbert space PauliSpace, the GNS map pauliEmbed and the right action pauliRight.

The interface imports all of Mathlib, but the file names the two Mathlib modules it needs, and compiles with only those: ℓ², and the C⋆-algebra of operators on a Hilbert space. The second is there for instance search rather than for a lemma: without it, Algebra ℂ B(ℓ²(Label)) and its scalar-tower instances are searched through the metric structure of the carrier of lp and run out of budget.

Pauli labels and the phase cocycle #

@[reducible, inline]

Pauli labels: finitely supported sequences of pairs (x-bit, z-bit).

Equations
Instances For

    The twist β(g, h) = ∑ᵢ z(g)ᵢ x(h)ᵢ, the half of the symplectic form that defines the phase.

    Equations
    Instances For
      theorem MIPRE.Repetition.Pauli.twist_add_left (g g' h : Label) :
      twist (g + g') h = twist g h + twist g' h

      The twist is additive in its first argument.

      theorem MIPRE.Repetition.Pauli.twist_add_right (g h h' : Label) :
      twist g (h + h') = twist g h + twist g h'

      The twist is additive in its second argument.

      @[simp]

      β(0, h) = 0.

      @[simp]

      β(g, 0) = 0.

      theorem MIPRE.Repetition.Pauli.twist_single (k l : ℕ) (u v : ZMod 2 × ZMod 2) :
      (twist (fun₀ | k => u) fun₀ | l => v) = u.2 * if l = k then v.1 else 0

      The twist of two single-site labels.

      Every label is its own inverse.

      The sign character ZMod 2 → {±1}.

      Equations
      Instances For
        @[simp]

        (-1)⁰ = 1.

        @[simp]

        (-1)¹ = -1.

        The sign character is a character.

        The sign character squares to 1.

        The sign character is unimodular.

        The sign character is real.

        The phase ω(g, h) = (-1)^{β(g, h)}.

        Equations
        Instances For
          theorem MIPRE.Repetition.Pauli.phase_cocycle (g h k : Label) :
          phase g (k + g) * phase h (k + (g + h)) = phase g h * phase (g + h) (k + (g + h))

          The cocycle identity of the phase, in the form W g W h = ω(g, h) W (g + h) needs at the coordinate k.

          The phase is unimodular.

          The phase squares to 1.

          The phase is real.

          theorem MIPRE.Repetition.Pauli.phase_single (k l : ℕ) (u v : ZMod 2 × ZMod 2) :
          (phase (fun₀ | k => u) fun₀ | l => v) = signChar (u.2 * if l = k then v.1 else 0)

          The phase of two single-site labels.

          ℓ²(Label) and weighted permutations #

          @[reducible, inline]

          The Hilbert space ℓ²(Label).

          Equations
          Instances For
            def MIPRE.Repetition.Pauli.weightedPermFun (e : Label ≃ Label) (φ : Label → ℂ) (hφ : ∀ (k : Label), ‖φ k‖ = 1) (ξ : PauliSpace) :

            The vector k ↦ φ k * ξ (e k), for a unimodular weight φ and a permutation e.

            Equations
            Instances For
              @[simp]
              theorem MIPRE.Repetition.Pauli.weightedPermFun_apply (e : Label ≃ Label) (φ : Label → ℂ) (hφ : ∀ (k : Label), ‖φ k‖ = 1) (ξ : PauliSpace) (k : Label) :
              ↑(weightedPermFun e φ hφ ξ) k = φ k * ↑ξ (e k)

              The coordinates of a weighted permutation of a vector.

              theorem MIPRE.Repetition.Pauli.norm_weightedPermFun (e : Label ≃ Label) (φ : Label → ℂ) (hφ : ∀ (k : Label), ‖φ k‖ = 1) (ξ : PauliSpace) :

              A weighted permutation preserves the norm.

              noncomputable def MIPRE.Repetition.Pauli.weightedPerm (e : Label ≃ Label) (φ : Label → ℂ) (hφ : ∀ (k : Label), ‖φ k‖ = 1) :

              A weighted permutation ξ ↦ (k ↦ φ k * ξ (e k)), as a bounded operator (an isometry).

              Equations
              Instances For
                @[simp]
                theorem MIPRE.Repetition.Pauli.weightedPerm_apply (e : Label ≃ Label) (φ : Label → ℂ) (hφ : ∀ (k : Label), ‖φ k‖ = 1) (ξ : PauliSpace) (k : Label) :
                ↑((weightedPerm e φ hφ) ξ) k = φ k * ↑ξ (e k)

                The coordinates of the image under a weighted permutation.

                theorem MIPRE.Repetition.Pauli.norm_weightedPerm (e : Label ≃ Label) (φ : Label → ℂ) (hφ : ∀ (k : Label), ‖φ k‖ = 1) (ξ : PauliSpace) :
                ‖(weightedPerm e φ hφ) ξ‖ = ‖ξ‖

                A weighted permutation is an isometry.

                The twisted Pauli unitaries W g #

                The twisted Pauli unitary W g, with W g δ_h = ω(g, h) δ_{g+h}.

                Equations
                Instances For
                  @[simp]
                  theorem MIPRE.Repetition.Pauli.W_apply (g : Label) (ξ : PauliSpace) (k : Label) :
                  ↑((W g) ξ) k = phase g (k + g) * ↑ξ (k + g)

                  The coordinates of W g ξ: (W g ξ)ₖ = ω(g, k + g) ξ_{k+g}.

                  W g is an isometry.

                  theorem MIPRE.Repetition.Pauli.W_mul (g h : Label) :
                  W g * W h = phase g h • W (g + h)

                  W g W h = ω(g, h) W (g + h).

                  (W g)² = ω(g, g).

                  (W g)⋆ = ω(g, g) W g.

                  Basis vectors #

                  The basis vector δ_h.

                  Equations
                  Instances For

                    The coordinates of δ_h.

                    W g δ_h = ω(g, h) δ_{g+h}.

                    W g δ₀ = δ_g.

                    ⟪δ₀, δ_h⟫ = [h = 0].

                    The algebra #

                    Each W g lies in the span.

                    The span is closed under multiplication.

                    The span is closed under the adjoint.

                    The twisted Pauli ⋆-algebra (lem:pauli-algebra): the linear span of the W g inside B(ℓ²(Label)).

                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For

                      Membership in pauliA is membership in the span.

                      noncomputable def MIPRE.Repetition.Pauli.w (g : Label) :

                      W g as an element of pauliA.

                      Equations
                      Instances For
                        theorem MIPRE.Repetition.Pauli.pauliA_induction {p : ↥pauliA → Prop} (hw : ∀ (g : Label), p (w g)) (h0 : p 0) (hadd : ∀ (a b : ↥pauliA), p a → p b → p (a + b)) (hsmul : ∀ (c : ℂ) (a : ↥pauliA), p a → p (c • a)) (a : ↥pauliA) :
                        p a

                        Induction over the span, for elements of pauliA.

                        The trace and the GNS data #

                        The trace of pauliA: the vector state at δ₀.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          The trace is the vector state at δ₀.

                          The trace is normalized.

                          The trace commutes with the adjoint.

                          The trace is tracial on the unitaries W g.

                          The trace is tracial.

                          The GNS map a ↦ a δ₀.

                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For

                            The GNS map is evaluation at δ₀.

                            The GNS map sends w g to δ_g.

                            The GNS map realizes the trace: ⟪a δ₀, b δ₀⟫ = τ(a⋆ b).

                            The GNS map has dense range: its image contains every δ_g.

                            The GNS map intertwines left multiplication with the operator.

                            The modular conjugation J and the right action #

                            The modular conjugation (J ξ)ₖ = ω(k, k) conj(ξₖ): the antiunitary with J (a δ₀) = a⋆ δ₀.

                            Equations
                            Instances For
                              @[simp]
                              theorem MIPRE.Repetition.Pauli.J_apply (ξ : PauliSpace) (k : Label) :
                              ↑(J ξ) k = phase k k * (starRingEnd ((fun (x : Label) => ℂ) k)) (↑ξ k)

                              The coordinates of J ξ.

                              theorem MIPRE.Repetition.Pauli.J_add (ξ η : PauliSpace) :
                              J (ξ + η) = J ξ + J η

                              J is additive.

                              theorem MIPRE.Repetition.Pauli.J_smul (c : ℂ) (ξ : PauliSpace) :
                              J (c • ξ) = (starRingEnd ℂ) c • J ξ

                              J is conjugate-linear.

                              theorem MIPRE.Repetition.Pauli.J_J (ξ : PauliSpace) :
                              J (J ξ) = ξ

                              J is an involution.

                              theorem MIPRE.Repetition.Pauli.inner_J_J (ξ η : PauliSpace) :
                              inner ℂ (J ξ) (J η) = inner ℂ η ξ

                              J is antiunitary: ⟪J ξ, J η⟫ = ⟪η, ξ⟫.

                              ⟪J u, v⟫ = ⟪J v, u⟫.

                              Conjugation by J: T ↦ J T J, a complex-antilinear ⋆-preserving ring map.

                              Equations
                              • One or more equations did not get rendered due to their size.
                              Instances For
                                @[simp]

                                (J T J) ξ = J (T (J ξ)).

                                Conjugation by J is multiplicative.

                                Conjugation by J is unital.

                                Conjugation by J is additive.

                                Conjugation by J is conjugate-linear.

                                Conjugation by J sends 0 to 0.

                                Conjugation by J commutes with the adjoint.

                                J δ_g = ω(g, g) δ_g.

                                Tomita's identity on pauliA: J (a δ₀) = a⋆ δ₀.

                                The right action of pauliA: op a ↦ J a⋆ J.

                                Equations
                                • One or more equations did not get rendered due to their size.
                                Instances For

                                  The right action of op a is J a⋆ J.

                                  The right action multiplies on the right: R(op a) (b δ₀) = (b a) δ₀.

                                  The left and right actions commute, checked on the dense range of the GNS map.

                                  The twisted Pauli algebra as a standard tracial algebra (lem:pauli-algebra): pauliA with the vector trace at δ₀, on ℓ²(Label), acting on the left by inclusion and on the right through J.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    The Pauli sites and the dyadic units #

                                    noncomputable def MIPRE.Repetition.Pauli.xLabel (k : ℕ) :

                                    The label of X at site k.

                                    Equations
                                    Instances For
                                      noncomputable def MIPRE.Repetition.Pauli.zLabel (k : ℕ) :

                                      The label of Z at site k.

                                      Equations
                                      Instances For

                                        The X labels carry no z-bits, so their phase on the left is trivial.

                                        The Z labels carry no x-bits, so their phase on the right is trivial.

                                        Z_k and X_l anticommute exactly when k = l.

                                        theorem MIPRE.Repetition.Pauli.w_mul_of_phase_eq_one {g h : Label} (hgh : phase g h = 1) :
                                        w g * w h = w (g + h)

                                        w g w h = w (g + h) when the phase is trivial. The three w-lemmas below are proved in the operators, where the scalar actions are found much faster than on the subalgebra.

                                        theorem MIPRE.Repetition.Pauli.w_mul_of_phase_eq_neg_one {g h : Label} (hgh : phase g h = -1) :
                                        w g * w h = -w (g + h)

                                        w g w h = -w (g + h) when the phase is -1.

                                        w g is self-adjoint when ω(g, g) = 1.

                                        The Pauli sites of pauliA: x k = W (X_k), z k = W (Z_k).

                                        Equations
                                        • One or more equations did not get rendered due to their size.
                                        Instances For

                                          The twisted Pauli algebra has unital dyadic matrix units (lem:pauli-algebra), in pauliStd.A itself: the units of its Pauli sites (MIPRE.PauliSites.hasDyadicUnits).