Documentation

Monlib.QuantumGraph.PiMat

noncomputable def PiMat.transposeStarAlgEquiv (ι : Type u_3) (p : ιType u_4) [Fintype ι] [DecidableEq ι] [(i : ι) → DecidableEq (p i)] [(i : ι) → Fintype (p i)] :
Equations
  • One or more equations did not get rendered due to their size.
Instances For
    @[simp]
    theorem PiMat.transposeStarAlgEquiv_symm_apply (ι : Type u_3) (p : ιType u_4) [Fintype ι] [DecidableEq ι] [(i : ι) → DecidableEq (p i)] [(i : ι) → Fintype (p i)] (x : (PiMat ι p)ᵐᵒᵖ) (i : ι) :
    @[simp]
    theorem PiMat.transposeStarAlgEquiv_apply (ι : Type u_3) (p : ιType u_4) [Fintype ι] [DecidableEq ι] [(i : ι) → DecidableEq (p i)] [(i : ι) → Fintype (p i)] (x : PiMat ι p) :
    noncomputable def PiMatTensorProductEquiv {ι₁ : Type u_3} {ι₂ : Type u_4} {p₁ : ι₁Type u_5} {p₂ : ι₂Type u_6} [Fintype ι₁] [DecidableEq ι₁] [Fintype ι₂] [DecidableEq ι₂] [(i : ι₁) → Fintype (p₁ i)] [(i : ι₁) → DecidableEq (p₁ i)] [(i : ι₂) → Fintype (p₂ i)] [(i : ι₂) → DecidableEq (p₂ i)] :
    TensorProduct (PiMat ι₁ p₁) (PiMat ι₂ p₂) ≃⋆ₐ[] PiMat (ι₁ × ι₂) fun (i : ι₁ × ι₂) => p₁ i.1 × p₂ i.2
    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      @[simp]
      theorem PiMatTensorProductEquiv_apply {ι₁ : Type u_3} {ι₂ : Type u_4} {p₁ : ι₁Type u_5} {p₂ : ι₂Type u_6} [Fintype ι₁] [DecidableEq ι₁] [Fintype ι₂] [DecidableEq ι₂] [(i : ι₁) → Fintype (p₁ i)] [(i : ι₁) → DecidableEq (p₁ i)] [(i : ι₂) → Fintype (p₂ i)] [(i : ι₂) → DecidableEq (p₂ i)] (x : TensorProduct (PiMat ι₁ p₁) (PiMat ι₂ p₂)) (i : ι₁ × ι₂) :
      @[simp]
      theorem PiMatTensorProductEquiv_symm_apply {ι₁ : Type u_3} {ι₂ : Type u_4} {p₁ : ι₁Type u_5} {p₂ : ι₂Type u_6} [Fintype ι₁] [DecidableEq ι₁] [Fintype ι₂] [DecidableEq ι₂] [(i : ι₁) → Fintype (p₁ i)] [(i : ι₁) → DecidableEq (p₁ i)] [(i : ι₂) → Fintype (p₂ i)] [(i : ι₂) → DecidableEq (p₂ i)] (x : PiMat (ι₁ × ι₂) fun (i : ι₁ × ι₂) => p₁ i.1 × p₂ i.2) :
      theorem PiMatTensorProductEquiv_tmul_apply {ι₁ : Type u_3} {ι₂ : Type u_4} {p₁ : ι₁Type u_5} {p₂ : ι₂Type u_6} [Fintype ι₁] [DecidableEq ι₁] [Fintype ι₂] [DecidableEq ι₂] [(i : ι₁) → Fintype (p₁ i)] [(i : ι₁) → DecidableEq (p₁ i)] [(i : ι₂) → Fintype (p₂ i)] [(i : ι₂) → DecidableEq (p₂ i)] (x : PiMat ι₁ p₁) (y : PiMat ι₂ p₂) (r : ι₁ × ι₂) (a b : p₁ r.1 × p₂ r.2) :
      PiMatTensorProductEquiv (x ⊗ₜ[] y) r a b = x r.1 a.1 b.1 * y r.2 a.2 b.2
      theorem PiMatTensorProductEquiv_tmul {ι₁ : Type u_3} {ι₂ : Type u_4} {p₁ : ι₁Type u_5} {p₂ : ι₂Type u_6} [Fintype ι₁] [DecidableEq ι₁] [Fintype ι₂] [DecidableEq ι₂] [(i : ι₁) → Fintype (p₁ i)] [(i : ι₁) → DecidableEq (p₁ i)] [(i : ι₂) → Fintype (p₂ i)] [(i : ι₂) → DecidableEq (p₂ i)] (x : PiMat ι₁ p₁) (y : PiMat ι₂ p₂) :
      PiMatTensorProductEquiv (x ⊗ₜ[] y) = fun (r : ι₁ × ι₂) => Matrix.kroneckerMap (fun (x1 x2 : ) => x1 * x2) (x r.1) (y r.2)
      theorem PiMatTensorProductEquiv_tmul_apply' {ι₁ : Type u_3} {ι₂ : Type u_4} {p₁ : ι₁Type u_5} {p₂ : ι₂Type u_6} [Fintype ι₁] [DecidableEq ι₁] [Fintype ι₂] [DecidableEq ι₂] [(i : ι₁) → Fintype (p₁ i)] [(i : ι₁) → DecidableEq (p₁ i)] [(i : ι₂) → Fintype (p₂ i)] [(i : ι₂) → DecidableEq (p₂ i)] (x : PiMat ι₁ p₁) (y : PiMat ι₂ p₂) (r : ι₁ × ι₂) (a c : p₁ r.1) (b d : p₂ r.2) :
      PiMatTensorProductEquiv (x ⊗ₜ[] y) r (a, b) (c, d) = x r.1 a c * y r.2 b d
      @[reducible, inline]
      noncomputable abbrev PiMat_toEuclideanLM {ι : Type u_1} {p : ιType u_2} [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] :
      Equations
      Instances For
        theorem isIdempotentElem_iff {M : Type u_3} [Mul M] {p : M} :
        @[reducible, inline]
        noncomputable abbrev PiMat.traceLinearMap {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] :
        Equations
        Instances For
          @[simp]
          theorem PiMat.traceLinearMap_apply {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] (a✝ : PiMat ι p) :
          theorem QuantumGraph.PiMat_existsSubmoduleIsProj {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph (PiMat ι p) f) (t r : ) :
          ∃ (u : (i : ι × ι) → Submodule (EuclideanSpace (p i.1 × p i.2))), ∀ (i : ι × ι), LinearMap.IsProj (u i) (PiMat_toEuclideanLM (PiMatTensorProductEquiv ((StarAlgEquiv.lTensor (PiMat ι p) (PiMat.transposeStarAlgEquiv ι p).symm) ((QuantumSet.Psi t r) f))) i)
          noncomputable def QuantumGraph.PiMat_submodule {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph (PiMat ι p) f) (t r : ) (i : ι × ι) :
          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem QuantumGraph.PiMat_submoduleIsProj {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph (PiMat ι p) f) (t r : ) (i : ι × ι) :
            theorem QuantumGraph.PiMat_submoduleIsProj_codRestrict {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph (PiMat ι p) f) (t r : ) (i : ι × ι) :
            noncomputable def QuantumGraph.dim_of_piMat_submodule {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph (PiMat ι p) f) :
            Equations
            Instances For
              theorem PiMat.transposeStarAlgEquiv_symm_is_tracePreserving {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] (x : (PiMat ι p)ᵐᵒᵖ) :
              theorem QuantumGraph.dim_of_piMat_submodule_eq_trace {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph (PiMat ι p) f) :
              theorem StarAlgEquiv.lTensor_toLinearMap {R : Type u_3} {A : Type u_4} {B : Type u_5} {C : Type u_6} [RCLike R] [Ring A] [Ring B] [Ring C] [Algebra R A] [Algebra R B] [Algebra R C] [StarAddMonoid A] [StarAddMonoid B] [StarAddMonoid C] [StarModule R A] [StarModule R B] [StarModule R C] [Module.Finite R A] [Module.Finite R B] [Module.Finite R C] (f : A ≃⋆ₐ[R] B) :
              theorem QuantumGraph.dim_of_piMat_submodule_eq_trace_counit {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (hc : CoalgebraStruct.counit = PiMat.traceLinearMap) {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph (PiMat ι p) f) :
              theorem QuantumGraph.dim_of_piMat_submodule_eq_numOfEdges_of_trace_counit {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (hc : CoalgebraStruct.counit = PiMat.traceLinearMap) {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph (PiMat ι p) f) :
              theorem QuantumGraph.dim_of_piMat_submodule_eq_rank_top_iff {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph (PiMat ι p) f) :
              hf.dim_of_piMat_submodule = i : ι × ι, Fintype.card (p i.1) * Fintype.card (p i.2) f = Qam.completeGraph (PiMat ι p) (PiMat ι p)
              theorem QuantumGraph.CompleteGraph_dim_of_piMat_submodule {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] :
              .dim_of_piMat_submodule = i : ι × ι, Fintype.card (p i.1) * Fintype.card (p i.2)
              theorem Algebra.linearMap_adjoint_eq_dual {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] :
              theorem exists_dim_of_piMat_submodule_ne_inner_one_map_one_of_IsFaithfulState {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (hφ₂ : (Module.Dual.pi φ).IsUnital) (hB : 1 < Module.finrank (PiMat ι p)) :
              theorem QuantumGraph.Real.PiMat_isOrthogonalProjection {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) (i : ι × ι) :
              noncomputable def QuantumGraph.Real.PiMat_submodule {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) (i : ι × ι) :
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem QuantumGraph.Real.PiMat_submoduleOrthogonalProjection {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) (i : ι × ι) :
                noncomputable def QuantumGraph.Real.PiMat_orthonormalBasis {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) (i : ι × ι) :
                Equations
                Instances For
                  theorem QuantumSet.PiMat_n {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] :
                  n (PiMat ι p) = ((i : ι) × p i × p i)
                  @[simp]
                  theorem Matrix.ite_kronecker {α : Type u_3} {n : Type u_4} {m : Type u_5} {p : Type u_6} {q : Type u_7} [MulZeroClass α] (x₁ : Matrix n m α) (x₂ : Matrix p q α) (P : Prop) [Decidable P] :
                  kroneckerMap (fun (x1 x2 : α) => x1 * x2) (if P then x₁ else 0) x₂ = if P then kroneckerMap (fun (x1 x2 : α) => x1 * x2) x₁ x₂ else 0
                  @[simp]
                  theorem Matrix.dite_kronecker {α : Type u_3} {n : Type u_4} {m : Type u_5} {p : Type u_6} {q : Type u_7} [MulZeroClass α] (P : Prop) [Decidable P] (x₁ : PMatrix n m α) (x₂ : Matrix p q α) :
                  kroneckerMap (fun (x1 x2 : α) => x1 * x2) (if p : P then x₁ p else 0) x₂ = if p_1 : P then kroneckerMap (fun (x1 x2 : α) => x1 * x2) (x₁ p_1) x₂ else 0
                  @[simp]
                  theorem Matrix.kronecker_ite {α : Type u_3} {n : Type u_4} {m : Type u_5} {p : Type u_6} {q : Type u_7} [MulZeroClass α] (x₁ : Matrix n m α) (x₂ : Matrix p q α) (P : Prop) [Decidable P] :
                  kroneckerMap (fun (x1 x2 : α) => x1 * x2) x₁ (if P then x₂ else 0) = if P then kroneckerMap (fun (x1 x2 : α) => x1 * x2) x₁ x₂ else 0
                  @[simp]
                  theorem Matrix.kronecker_dite {α : Type u_3} {n : Type u_4} {m : Type u_5} {p : Type u_6} {q : Type u_7} [MulZeroClass α] (x₁ : Matrix n m α) (P : Prop) [Decidable P] (x₂ : PMatrix p q α) :
                  kroneckerMap (fun (x1 x2 : α) => x1 * x2) x₁ (if p : P then x₂ p else 0) = if p_1 : P then kroneckerMap (fun (x1 x2 : α) => x1 * x2) x₁ (x₂ p_1) else 0
                  theorem Matrix.vecMulVec_kronecker_vecMulVec {α : Type u_3} {n : Type u_4} {m : Type u_5} {p : Type u_6} {q : Type u_7} [CommSemiring α] (x : nα) (y : mα) (z : pα) (w : qα) :
                  kroneckerMap (fun (x1 x2 : α) => x1 * x2) (vecMulVec x y) (vecMulVec z w) = vecMulVec (reshape (vecMulVec x z)) (reshape (vecMulVec y w))
                  @[simp]
                  theorem Matrix.vecMulVec_toEuclideanLin {n : Type u_3} {m : Type u_4} [Fintype n] [DecidableEq n] [Fintype m] [DecidableEq m] (x : EuclideanSpace n) (y : EuclideanSpace m) :
                  toEuclideanLin (vecMulVec x y) = (((rankOne ) x) (star y))
                  theorem Matrix.vecMulVec_conj {α : Type u_3} {n : Type u_4} {m : Type u_5} [CommSemiring α] [StarMul α] (x : nα) (y : mα) :
                  noncomputable def TensorProduct.chooseFinset {R : Type u_3} {M : Type u_4} {N : Type u_5} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (x : TensorProduct R M N) :
                  Finset (M × N)
                  Equations
                  Instances For
                    theorem TensorProduct.chooseFinset_spec {R : Type u_3} {M : Type u_4} {N : Type u_5} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [Module R M] [Module R N] (x : TensorProduct R M N) :
                    x = sx.chooseFinset, s.1 ⊗ₜ[R] s.2
                    noncomputable def EuclideanSpace.prod_choose {n : Type u_3} {m : Type u_4} [Fintype n] [DecidableEq n] [Fintype m] [DecidableEq m] (x : EuclideanSpace (n × m)) :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem EuclideanSpace.sum_apply {n : Type u_3} [Fintype n] [DecidableEq n] {𝕜 : Type u_4} [RCLike 𝕜] {ι : Type u_5} (s : Finset ι) (x : ιEuclideanSpace 𝕜 n) (j : n) :
                      (∑ is, x i) j = is, x i j
                      theorem Basis.tensorProduct_repr_tmul_apply' {R : Type u_3} {M : Type u_4} {N : Type u_5} {ι : Type u_6} {κ : Type u_7} [CommSemiring R] [AddCommMonoid M] [Module R M] [AddCommMonoid N] [Module R N] (b : Basis ι R M) (c : Basis κ R N) (m : M) (n : N) (i : ι × κ) :
                      ((b.tensorProduct c).repr (m ⊗ₜ[R] n)) i = (c.repr n) i.2 * (b.repr m) i.1
                      theorem EuclideanSpace.prod_choose_spec {n : Type u_3} {m : Type u_4} [Fintype n] [DecidableEq n] [Fintype m] [DecidableEq m] (x : EuclideanSpace (n × m)) :
                      x = s : n × m, euclideanSpaceTensor' ((x.prod_choose s).1 ⊗ₜ[] (x.prod_choose s).2)
                      theorem QuantumGraph.Real.PiMat_eq {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) :
                      let S := fun (i : ι × ι) (j : Fin (Module.finrank (hA.PiMat_submodule i))) => (↑((hA.PiMat_orthonormalBasis i) j)).prod_choose; A = (∑ i : ι × ι, j : Fin (Module.finrank (hA.PiMat_submodule i)), s : p i.1 × p i.2, l : p i.1 × p i.2, ((rankOne ) (Matrix.includeBlock (Matrix.vecMulVec (S i j s).1 (star (S i j l).1)))) ((modAut (-(1 / 2))) (Matrix.includeBlock (Matrix.vecMulVec (S i j s).2 (star (S i j l).2)).conj)))
                      theorem QuantumGraph.trivialGraph {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {d : } [Nonempty ι] [hφ₂ : Fact (∀ (i : ι), (φ i).matrix⁻¹.trace = d)] [∀ (i : ι), Nontrivial (p i)] :
                      theorem PiMat.piAlgEquiv_trace_apply {ι : Type u_1} {p : ιType u_2} [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (f : (i : ι) → Matrix (p i) (p i) ≃ₐ[] Matrix (p i) (p i) ) (x : PiMat ι p) (a : ι) :
                      theorem PiMat.modAut_trace_apply {ι : Type u_1} {p : ιType u_2} [Fintype ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (r : ) (x : PiMat ι p) (a : ι) :
                      theorem PiMat.orthonormalBasis_trace {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (a : n (PiMat ι p)) (i : ι) :
                      Matrix.trace (onb a i) = if a.fst = i then .rpow (-(1 / 2)) a.snd.2 a.snd.1 else 0
                      theorem QuantumGraph.trivialGraph_dim_of_piMat_submodule {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {d : } [Nonempty ι] [hφ₂ : Fact (∀ (i : ι), (φ i).matrix⁻¹.trace = d)] [∀ (i : ι), Nontrivial (p i)] :
                      theorem StarAlgEquiv.piCongrRight_symm {R : Type u_3} {ι : Type u_4} {A₁ : ιType u_5} {A₂ : ιType u_6} [(i : ι) → Add (A₁ i)] [(i : ι) → Add (A₂ i)] [(i : ι) → Mul (A₁ i)] [(i : ι) → Mul (A₂ i)] [(i : ι) → Star (A₁ i)] [(i : ι) → Star (A₂ i)] [(i : ι) → SMul R (A₁ i)] [(i : ι) → SMul R (A₂ i)] (e : (i : ι) → A₁ i ≃⋆ₐ[R] A₂ i) :
                      (piCongrRight e).symm = piCongrRight fun (i : ι) => (e i).symm
                      theorem Matrix.k {n : Type u_3} [Fintype n] [DecidableEq n] {φ : Module.Dual (Matrix n n )} [φ.IsFaithfulPosMap] :
                      theorem unitary.mul_inv_eq_iff {A : Type u_3} [Monoid A] [StarMul A] (U : (unitary A)) (x y : A) :
                      x * U⁻¹ = y x = y * U
                      @[reducible, inline]
                      noncomputable abbrev piInnerAut {ι : Type u_1} {p : ιType u_2} [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] (U : (i : ι) → (Matrix.unitaryGroup (p i) )) :
                      Equations
                      Instances For
                        theorem piInnerAut_apply_dualMatrix_iff' {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} {U : (i : ι) → (Matrix.unitaryGroup (p i) )} :
                        theorem piInnerAut_apply_dualMatrix_iff {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} {U : (i : ι) → (Matrix.unitaryGroup (p i) )} :
                        (piInnerAut U) (Module.Dual.pi.matrixBlock φ) = Module.Dual.pi.matrixBlock φ ∀ (a : ι), (U a) * (φ a).matrix = (φ a).matrix * (U a)
                        theorem innerAutStarAlg_adjoint_eq_symm_of {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {U : (i : ι) → (Matrix.unitaryGroup (p i) )} (hU : (piInnerAut U) (Module.Dual.pi.matrixBlock φ) = Module.Dual.pi.matrixBlock φ) :
                        def QuantumGraph.Real.piMat_conj_unitary {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) {U : (i : ι) → (Matrix.unitaryGroup (p i) )} (hU : (piInnerAut U) (Module.Dual.pi.matrixBlock φ) = Module.Dual.pi.matrixBlock φ) :
                        Equations
                        • =
                        Instances For
                          @[reducible, inline]
                          noncomputable abbrev unitaryTensorEuclidean {ι : Type u_1} {p : ιType u_2} [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] (U : (i : ι) → (Matrix.unitaryGroup (p i) )) (i : ι × ι) :
                          Equations
                          • One or more equations did not get rendered due to their size.
                          Instances For
                            theorem unitaryTensorEuclidean_apply {ι : Type u_1} {p : ιType u_2} [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {U : (i : ι) → (Matrix.unitaryGroup (p i) )} (i : ι × ι) (x : EuclideanSpace (p i.1)) (y : EuclideanSpace (p i.2)) :
                            theorem unitaryTensorEuclidean_apply' {ι : Type u_1} {p : ιType u_2} [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {U : (i : ι) → (Matrix.unitaryGroup (p i) )} (i : ι × ι) (x : EuclideanSpace (p i.1 × p i.2)) :
                            (unitaryTensorEuclidean U i) x = j : p i.1 × p i.2, euclideanSpaceTensor' ((↑(U i.1)).mulVec (x.prod_choose j).1 ⊗ₜ[] (↑(U i.2)).conj.mulVec (x.prod_choose j).2)
                            theorem unitaryTensorEuclidean_symm_apply {ι : Type u_1} {p : ιType u_2} [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {U : (i : ι) → (Matrix.unitaryGroup (p i) )} (i : ι × ι) (x : EuclideanSpace (p i.1)) (y : EuclideanSpace (p i.2)) :
                            theorem QuantumGraph.Real.PiMat_submodule_eq_submodule_iff {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A B : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) (hB : Real (PiMat ι p) B) :
                            (∀ (i : ι × ι), hA.PiMat_submodule i = hB.PiMat_submodule i) A = B
                            theorem Matrix.kronecker_mulVec_euclideanSpaceTensor' {n : Type u_3} {m : Type u_4} [Fintype n] [Fintype m] [DecidableEq n] [DecidableEq m] (A : Matrix n n ) (B : Matrix m m ) (x : EuclideanSpace n) (y : EuclideanSpace m) :
                            (kroneckerMap (fun (x1 x2 : ) => x1 * x2) A B).mulVec ((WithLp.equiv 2 (n × m)) (euclideanSpaceTensor' (x ⊗ₜ[] y))) = (WithLp.equiv 2 ((i : n × m) → (fun (x : n × m) => ) i)) (euclideanSpaceTensor' (A.mulVec x ⊗ₜ[] B.mulVec y))
                            theorem StarAlgEquiv.piCongrRight_apply_includeBlock {ι : Type u_3} {p : ιType u_4} [(i : ι) → Fintype (p i)] [DecidableEq ι] (f : (i : ι) → Matrix (p i) (p i) ≃⋆ₐ[] Matrix (p i) (p i) ) (i : ι) (x : Matrix (p i) (p i) ) :
                            (piCongrRight fun (a : ι) => f a) (Matrix.includeBlock x) = Matrix.includeBlock ((f i) x)
                            theorem Matrix.mul_vecMulVec {n : Type u_3} {m : Type u_4} {R : Type u_5} [Fintype m] [Semiring R] (A : Matrix n m R) (x : mR) (y : nR) :
                            A * vecMulVec x y = vecMulVec (A.mulVec x) y
                            theorem Matrix.vecMulVec_mul {n : Type u_3} {m : Type u_4} {R : Type u_5} [Fintype n] [CommSemiring R] (x : mR) (y : nR) (A : Matrix n m R) :
                            theorem Matrix.innerAutStarAlg_apply_vecMulVec {n : Type u_3} {𝕜 : Type u_4} [Fintype n] [Field 𝕜] [StarRing 𝕜] [DecidableEq n] (U : (unitaryGroup n 𝕜)) (x y : n𝕜) :
                            (innerAutStarAlg U) (vecMulVec x y) = vecMulVec ((↑U).mulVec x) ((↑U).conj.mulVec y)
                            theorem Matrix.innerAutStarAlg_apply_vecMulVec_star {n : Type u_3} {𝕜 : Type u_4} [Fintype n] [Field 𝕜] [StarRing 𝕜] [DecidableEq n] (U : (unitaryGroup n 𝕜)) (x y : n𝕜) :
                            (innerAutStarAlg U) (vecMulVec x (star y)) = vecMulVec ((↑U).mulVec x) (star ((↑U).mulVec y))
                            theorem Matrix.innerAutStarAlg_apply_star_vecMulVec {n : Type u_3} {𝕜 : Type u_4} [Fintype n] [Field 𝕜] [StarRing 𝕜] [DecidableEq n] (U : (unitaryGroup n 𝕜)) (x y : n𝕜) :
                            (innerAutStarAlg U) (vecMulVec (star x) y) = (vecMulVec ((↑U).conj.mulVec x) (star ((↑U).conj.mulVec y))).conj
                            theorem Matrix.PosSemidef.eq_iff_sq_eq_sq {n : Type u_3} {𝕜 : Type u_4} [Fintype n] [RCLike 𝕜] [DecidableEq n] {A : Matrix n n 𝕜} (hA : A.PosSemidef) {B : Matrix n n 𝕜} (hB : B.PosSemidef) :
                            A ^ 2 = B ^ 2 A = B
                            theorem innerAutStarAlg_apply_dualMatrix_eq_iff_eq_sqrt {ι : Type u_1} {p : ιType u_2} [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {i : ι} (U : (Matrix.unitaryGroup (p i) )) :
                            (Matrix.innerAutStarAlg U) (φ i).matrix = (φ i).matrix (Matrix.innerAutStarAlg U) (.rpow (1 / 2)) = .rpow (1 / 2)
                            theorem PiMat.modAut {ι : Type u_1} {p : ιType u_2} [Fintype ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {r : } :
                            theorem PiMat.counit_eq_dual {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] :
                            theorem modAut_eq_id_iff {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (r : ) :
                            theorem unitary.mul_inj {A : Type u_3} [Monoid A] [StarMul A] (U : (unitary A)) (x y : A) :
                            U * x = U * y x = y
                            theorem piInnerAut_modAut_commutes_of {ι : Type u_1} {p : ιType u_2} [Fintype ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {U : (i : ι) → (Matrix.unitaryGroup (p i) )} {r : } (h : ∀ (i : ι), (Matrix.innerAutStarAlg (U i)) (.rpow r) = .rpow r) (x : PiMat ι p) :
                            (piInnerAut U) ((modAut (-r)) x) = (modAut (-r)) ((piInnerAut U) x)
                            theorem QuantumGraph.Real.PiMat_applyConjInnerAut {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) {U : (i : ι) → (Matrix.unitaryGroup (p i) )} (hU : (piInnerAut U) (Module.Dual.pi.matrixBlock φ) = Module.Dual.pi.matrixBlock φ) :
                            let S := fun (i : ι × ι) (j : Fin (Module.finrank (hA.PiMat_submodule i))) => (↑((hA.PiMat_orthonormalBasis i) j)).prod_choose; (piInnerAut U).toLinearMap ∘ₗ A ∘ₗ LinearMap.adjoint (piInnerAut U).toLinearMap = (∑ i : ι × ι, j : Fin (Module.finrank (hA.PiMat_submodule i)), s : p i.1 × p i.2, l : p i.1 × p i.2, ((rankOne ) (Matrix.includeBlock (Matrix.vecMulVec ((↑(U i.1)).mulVec (S i j s).1) (star ((↑(U i.1)).mulVec (S i j l).1))))) ((modAut (-(1 / 2))) (Matrix.includeBlock (Matrix.vecMulVec ((↑(U i.2)).conj.mulVec (S i j s).2) (star ((↑(U i.2)).conj.mulVec (S i j l).2))).conj)))
                            theorem QuantumGraph.Real.PiMat_conj_unitary_submodule_eq_map {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) {U : (i : ι) → (Matrix.unitaryGroup (p i) )} (hU : (piInnerAut U) (Module.Dual.pi.matrixBlock φ) = Module.Dual.pi.matrixBlock φ) (i : ι × ι) :
                            theorem LinearMap.proj_apply_includeBlock {ι : Type u_1} {p : ιType u_2} [DecidableEq ι] (i j : ι) (x : Matrix (p j) (p j) ) :
                            (proj i) (Matrix.includeBlock x) = if h : j = i then .mpr x else 0
                            theorem PiMat.modAut_includeBlock {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (r : ) (j : ι) (x : Matrix (p j) (p j) ) :
                            theorem PiMat.modAut_proj {ι : Type u_1} {p : ιType u_2} [Fintype ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (r : ) (j : ι) (x : PiMat ι p) :
                            theorem EuclideanSpace.prod_choose_zero_fst {n : Type u_3} {m : Type u_4} [Fintype n] [DecidableEq n] [Fintype m] [DecidableEq m] (i : n × m) :
                            (prod_choose 0 i).1 = 0
                            theorem Matrix.vecMulVec_zero {m : Type u_3} {n : Type u_4} {α : Type u_5} [MulZeroClass α] (w : mα) :
                            vecMulVec w 0 = 0
                            theorem Matrix.zero_vecMulVec {m : Type u_3} {n : Type u_4} {α : Type u_5} [MulZeroClass α] (w : nα) :
                            vecMulVec 0 w = 0
                            theorem QuantumGraph.Real.PiMat_submodule_eq_bot_iff_proj_comp_adjoint_proj_eq_zero {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) {i : ι × ι} :
                            theorem QuantumGraph.Real.PiMat_submodule_eq_top_iff_proj_comp_adjoint_proj_eq_rankOne_one_one {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) {i : ι × ι} :
                            theorem Matrix.trace_piMatTensorProductEquiv_lTensor_unop_map_modAut {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (x : TensorProduct (PiMat ι p) (PiMat ι p)ᵐᵒᵖ) (i : ι × ι) :
                            theorem Matrix.trace_piMatTensorProductEquiv_lTensor_unop_tenSwap {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] (x : TensorProduct (PiMat ι p) (PiMat ι p)ᵐᵒᵖ) (i : ι × ι) :
                            def LinearIsometryEquiv.of_linearEquiv {𝕜 : Type u_3} {E : Type u_4} {F : Type u_5} [RCLike 𝕜] [NormedAddCommGroup E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 E] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] (f : E ≃ₗ[𝕜] F) (hf : LinearMap.adjoint f = f.symm) :
                            E ≃ₗᵢ[𝕜] F
                            Equations
                            Instances For
                              theorem LinearIsometryEquiv.of_linearEquiv_apply {𝕜 : Type u_3} {E : Type u_4} {F : Type u_5} [RCLike 𝕜] [NormedAddCommGroup E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 E] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] (f : E ≃ₗ[𝕜] F) (hf : LinearMap.adjoint f = f.symm) (x : E) :
                              (of_linearEquiv f hf) x = f x
                              theorem TensorProduct.comm_linearIsometryEquiv_apply {𝕜 : Type u_3} {E : Type u_4} {F : Type u_5} [RCLike 𝕜] [NormedAddCommGroup E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 E] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] (x : E) (y : F) :
                              (comm_linearIsometryEquiv 𝕜 E F) (x ⊗ₜ[𝕜] y) = y ⊗ₜ[𝕜] x
                              theorem QuantumGraph.Real.piMat_submodule_finrank_eq_swap_of_adjoint {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : Real (PiMat ι p) f) (hf₂ : LinearMap.adjoint f = f) (i : ι × ι) :
                              theorem QuantumGraph.Real.PiMat_submodule_eq_bot_iff_swap_eq_bot_of_adjoint {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) (hA₂ : LinearMap.adjoint A = A) (i : ι × ι) :
                              theorem QuantumGraph.Real.PiMat_submodule_eq_top_iff_swap_eq_top_of_adjoint {ι : Type u_1} {p : ιType u_2} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : Real (PiMat ι p) A) (hA₂ : LinearMap.adjoint A = A) (i : ι × ι) :