Documentation

MIPRE.Foundations.BipartiteModel

The bipartite model: a state and two commuting representations #

The stage analyses of compression are bipartite and vector-state: a unit vector, the first player's operators and the second player's, the two families commuting, and never a trace (reports/co-generalization-audit.md). Their common generalization, the model of Phase 1 of planning/mipco-track.md, is a bipartite model (BipartiteModel): a state model (MIPRE/Foundations/StateModel.lean: a Hilbert space H, a state ψ, and a ⋆-algebra 𝒞 represented on H) with two ⋆-algebras 𝒜 (the first player's) and ℬ (the second player's) mapped into 𝒞 by ⋆-homomorphisms πA and πB whose images commute. That ψ is a unit vector is a hypothesis of the results that need it, as in the matrix calculus.

The players' operators are elements of 𝒜 and of ℬ. So a product, a sum or an adjoint of one player's operators is again one of that player's, and it commutes with the other player's for free: this is what the matrix analyses get from writing the two players' operators on the two factors of a tensor product, and what lets them be read in this model unchanged. There are two instances.

structure MIPRE.BipartiteModel (𝒞 : Type v) (𝒜 : Type w) (ℬ : Type x) [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] extends MIPRE.StateModel 𝒞 :
Type (max (max (max (u + 1) v) w) x)

A bipartite model: a state model, and two ⋆-algebras, the first player's and the second player's, mapped into its algebra by ⋆-homomorphisms with commuting images.

Instances For
    def MIPRE.BipartiteModel.swap {𝒞 : Type v} {𝒜 : Type w} {ℬ : Type x} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :
    BipartiteModel 𝒞 ℬ 𝒜

    The model with the two players exchanged.

    Equations
    Instances For
      @[simp]
      theorem MIPRE.BipartiteModel.swap_toStateModel {𝒞 : Type v} {𝒜 : Type w} {ℬ : Type x} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :
      @[simp]
      theorem MIPRE.BipartiteModel.swap_πA {𝒞 : Type v} {𝒜 : Type w} {ℬ : Type x} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :
      @[simp]
      theorem MIPRE.BipartiteModel.swap_πB {𝒞 : Type v} {𝒜 : Type w} {ℬ : Type x} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :
      @[simp]
      theorem MIPRE.BipartiteModel.swap_swap {𝒞 : Type v} {𝒜 : Type w} {ℬ : Type x} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) :
      M.swap.swap = M
      theorem MIPRE.BipartiteModel.bnd_πA_of_isStarProjection {𝒞 : Type v} {𝒜 : Type w} {ℬ : Type x} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) {p : 𝒜} (hp : IsStarProjection p) :
      M.Bnd (M.πA p) 1

      A self-adjoint idempotent of the first player's algebra is bounded by one.

      theorem MIPRE.BipartiteModel.bnd_πB_of_isStarProjection {𝒞 : Type v} {𝒜 : Type w} {ℬ : Type x} [Ring 𝒞] [StarRing 𝒞] [Algebra ℂ 𝒞] [Ring 𝒜] [StarRing 𝒜] [Algebra ℂ 𝒜] [Ring ℬ] [StarRing ℬ] [Algebra ℂ ℬ] (M : BipartiteModel 𝒞 𝒜 ℬ) {q : ℬ} (hq : IsStarProjection q) :
      M.Bnd (M.πB q) 1

      A self-adjoint idempotent of the second player's algebra is bounded by one.

      The tensor-product model #

      noncomputable def MIPRE.BipartiteModel.aOpStarAlgHom {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] :
      Matrix dA dA ℂ →⋆ₐ[ℂ] Matrix (dA × dB) (dA × dB) ℂ

      X ↦ X ⊗ 1, the first factor's matrices acting on the product, as a ⋆-algebra homomorphism.

      Equations
      Instances For
        noncomputable def MIPRE.BipartiteModel.bOpStarAlgHom {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] :
        Matrix dB dB ℂ →⋆ₐ[ℂ] Matrix (dA × dB) (dA × dB) ℂ

        Y ↦ 1 ⊗ Y, the second factor's matrices acting on the product, as a ⋆-algebra homomorphism.

        Equations
        Instances For
          @[simp]
          theorem MIPRE.BipartiteModel.aOpStarAlgHom_apply {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (X : Matrix dA dA ℂ) :
          @[simp]
          theorem MIPRE.BipartiteModel.bOpStarAlgHom_apply {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (Y : Matrix dB dB ℂ) :
          noncomputable def MIPRE.BipartiteModel.tensor {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (ψ : dA × dB → ℂ) :
          BipartiteModel (Matrix (dA × dB) (dA × dB) ℂ) (Matrix dA dA ℂ) (Matrix dB dB ℂ)

          The tensor-product model of a vector ψ on ℂ^{dA × dB}: the first player's matrices act as X ⊗ 1, the second player's as 1 ⊗ Y, and the product's matrices act on EuclideanSpace ℂ (dA × dB).

          Equations
          Instances For
            @[simp]
            theorem MIPRE.BipartiteModel.tensor_toStateModel {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (ψ : dA × dB → ℂ) :
            @[simp]
            theorem MIPRE.BipartiteModel.tensor_πA {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (ψ : dA × dB → ℂ) (X : Matrix dA dA ℂ) :
            (tensor ψ).πA X = aOp X
            @[simp]
            theorem MIPRE.BipartiteModel.tensor_πB {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (ψ : dA × dB → ℂ) (Y : Matrix dB dB ℂ) :
            (tensor ψ).πB Y = bOp Y
            theorem MIPRE.BipartiteModel.snorm_tensor {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (ψ : dA × dB → ℂ) (T : Matrix (dA × dB) (dA × dB) ℂ) :
            (tensor ψ).snorm T = snorm ψ T

            The matrix state norm is the state norm of the tensor-product model, by definition.

            theorem MIPRE.BipartiteModel.qform_tensor {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (ψ : dA × dB → ℂ) (T : Matrix (dA × dB) (dA × dB) ℂ) :
            (tensor ψ).qform T = qform ψ T

            The matrix quadratic form is the quadratic form of the tensor-product model.

            theorem MIPRE.BipartiteModel.bnd_tensor {dA : Type u_1} {dB : Type u_2} [Fintype dA] [DecidableEq dA] [Fintype dB] [DecidableEq dB] (ψ : dA × dB → ℂ) {T : Matrix (dA × dB) (dA × dB) ℂ} {K : ℝ} :
            (tensor ψ).Bnd T K ↔ Bnd T K

            The matrix bound is the bound of the tensor-product model.

            Positive contractions #

            The facts about an operator between 0 and 1 that the measurements of the analyses need. Each is a product of two commuting positive operators, which is where the functional calculus of B(H) enters; the players' algebras need not have one.

            theorem MIPRE.Op.mul_self_le_self {H : Type u_1} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H] {P : H →L[ℂ] H} (h0 : 0 ≤ P) (h1 : P ≤ 1) :
            P * P ≤ P

            P² ≤ P for 0 ≤ P ≤ 1: P (1 - P) is a product of commuting positive operators.

            theorem MIPRE.Op.bnd_one_of_nonneg_of_le_one {H : Type u_1} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H] {P : H →L[ℂ] H} (h0 : 0 ≤ P) (h1 : P ≤ 1) :
            Bnd P 1

            An operator between 0 and 1 is a contraction.

            theorem MIPRE.Op.bnd_one_of_sub {H : Type u_1} [NormedAddCommGroup H] [InnerProductSpace ℂ H] [CompleteSpace H] {P Q : H →L[ℂ] H} (hP0 : 0 ≤ P) (hP1 : P ≤ 1) (hQ0 : 0 ≤ Q) (hQ1 : Q ≤ 1) :
            Bnd (P - Q) 1

            The difference of two operators between 0 and 1 is a contraction: 1 - (P - Q) and 1 + (P - Q) are commuting positive operators, and their product is 1 - (P - Q)².

            The commutant of a set of operators is ordered #

            A commutant of operators is a star-ordered ring with the order of B(H): a positive element is the square of its square root, which commutes with everything the element commutes with and so lies in the commutant.

            The commuting-operator model #

            noncomputable def MIPRE.CommutingOperatorStrategy.aliceAlg {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (S : CommutingOperatorStrategy X Y A B) :

            The first player's algebra: the commutant of the second player's operators.

            Equations
            Instances For
              noncomputable def MIPRE.CommutingOperatorStrategy.bobAlg {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (S : CommutingOperatorStrategy X Y A B) :

              The second player's algebra: the commutant of the first player's algebra.

              Equations
              Instances For
                theorem MIPRE.CommutingOperatorStrategy.E_mem_aliceAlg {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (S : CommutingOperatorStrategy X Y A B) (x : X) (a : A) :
                S.E x a ∈ S.aliceAlg
                theorem MIPRE.CommutingOperatorStrategy.F_mem_bobAlg {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (S : CommutingOperatorStrategy X Y A B) (y : Y) (b : B) :
                S.F y b ∈ S.bobAlg
                theorem MIPRE.CommutingOperatorStrategy.commute_of_mem {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (S : CommutingOperatorStrategy X Y A B) {a b : S.H →L[ℂ] S.H} (ha : a ∈ S.aliceAlg) (hb : b ∈ S.bobAlg) :

                The two players' algebras commute, by construction.

                noncomputable def MIPRE.CommutingOperatorStrategy.toModel {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (S : CommutingOperatorStrategy X Y A B) :

                The commuting-operator model of a strategy: its space and state, with B(H) as the algebra, the commutant of the second player's operators as the first player's algebra, and the commutant of that as the second player's.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem MIPRE.CommutingOperatorStrategy.toModel_ψ_norm {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (S : CommutingOperatorStrategy X Y A B) :
                  @[simp]
                  theorem MIPRE.CommutingOperatorStrategy.toModel_πA {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (S : CommutingOperatorStrategy X Y A B) (a : ↥S.aliceAlg) :
                  S.toModel.πA a = ↑a
                  @[simp]
                  theorem MIPRE.CommutingOperatorStrategy.toModel_πB {X : Type u_1} {Y : Type u_2} {A : Type u_3} {B : Type u_4} [Fintype X] [Fintype Y] [Fintype A] [Fintype B] (S : CommutingOperatorStrategy X Y A B) (b : ↥S.bobAlg) :
                  S.toModel.πB b = ↑b