Documentation

Monlib.QuantumGraph.PiMatFinTwo

def MatProd_algEquiv_PiMat (n' : Fin 2Type u_1) [(i : Fin 2) → Fintype (n' i)] [(i : Fin 2) → DecidableEq (n' i)] :
(Matrix (n' 0) (n' 0) × Matrix (n' 1) (n' 1) ) ≃ₐ[] PiMat (Fin 2) n'
Equations
Instances For
    @[reducible, inline]
    abbrev PiFinTwo.swap (n' : Fin 2Type u_1) :
    Fin 2Type u_1
    Equations
    Instances For
      instance instFintypeSwap {n' : Fin 2Type u_1} [(i : Fin 2) → Fintype (n' i)] (i : Fin 2) :
      Equations
      instance instDecidableEqSwap {n' : Fin 2Type u_1} [(i : Fin 2) → DecidableEq (n' i)] (i : Fin 2) :
      Equations
      def MatProd_algEquiv_PiMat_swap (n' : Fin 2Type u_1) [(i : Fin 2) → Fintype (n' i)] [(i : Fin 2) → DecidableEq (n' i)] :
      (Matrix (n' 1) (n' 1) × Matrix (n' 0) (n' 0) ) ≃ₐ[] PiMat (Fin 2) (PiFinTwo.swap n')
      Equations
      Instances For
        def Prod.swap_algEquiv (α : Type u_1) (β : Type u_2) [Semiring α] [Semiring β] [Algebra α] [Algebra β] :
        (α × β) ≃ₐ[] β × α
        Equations
        • Prod.swap_algEquiv α β = { toFun := fun (x : α × β) => x.swap, invFun := fun (x : β × α) => x.swap, left_inv := , right_inv := , map_mul' := , map_add' := , commutes' := }
        Instances For
          @[simp]
          theorem Prod.swap_algEquiv_apply (α : Type u_1) (β : Type u_2) [Semiring α] [Semiring β] [Algebra α] [Algebra β] (x : α × β) :
          (Prod.swap_algEquiv α β) x = x.swap
          @[simp]
          theorem Prod.swap_algEquiv_symm_apply (α : Type u_1) (β : Type u_2) [Semiring α] [Semiring β] [Algebra α] [Algebra β] (x : β × α) :
          (Prod.swap_algEquiv α β).symm x = x.swap
          def PiMat_finTwo_swapAlgEquiv {n' : Fin 2Type u_1} [(i : Fin 2) → Fintype (n' i)] [(i : Fin 2) → DecidableEq (n' i)] :
          Equations
          Instances For
            @[reducible, inline]
            abbrev PiFinTwo_same (n : Type u_1) :
            Fin 2Type u_1
            Equations
            Instances For
              instance instFintypePiFinTwo_same {n : Type u_1} [Fintype n] (i : Fin 2) :
              Equations
              theorem PiMat_finTwo_swapAlgEquiv_apply {n' : Fin 2Type u_1} [(i : Fin 2) → Fintype (n' i)] [(i : Fin 2) → DecidableEq (n' i)] (x : Matrix (n' 0) (n' 0) ) (y : Matrix (n' 1) (n' 1) ) :
              PiMat_finTwo_swapAlgEquiv ((MatProd_algEquiv_PiMat n') (x, y)) = (MatProd_algEquiv_PiMat (PiFinTwo.swap n')) (y, x)
              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem PiMat_finTwo_same_swapAlgEquiv_apply {n : Type u_1} [Fintype n] [DecidableEq n] (x : Matrix n n ) (y : Matrix n n ) :
                PiMat_finTwo_same_swapAlgEquiv ((MatProd_algEquiv_PiMat (PiFinTwo_same n)) (x, y)) = (MatProd_algEquiv_PiMat (PiFinTwo_same n)) (y, x)
                theorem AlgEquiv.prod_map_inner_of {K : Type u_2} {R₁ : Type u_3} {R₂ : Type u_4} [CommSemiring K] [Semiring R₁] [Semiring R₂] [Algebra K R₁] [Algebra K R₂] {f : R₁ ≃ₐ[K] R₁} (hf : f.IsInner) {g : R₂ ≃ₐ[K] R₂} (hg : g.IsInner) :
                (f.prod_map g).IsInner
                Equations
                theorem AlgEquiv.PiMat_finTwo_same {n : Type u_1} [Fintype n] [DecidableEq n] (f : PiMat (Fin 2) (PiFinTwo_same n) ≃ₐ[] PiMat (Fin 2) (PiFinTwo_same n)) :
                f.IsInner ∃ (g : PiMat (Fin 2) (PiFinTwo_same n) ≃ₐ[] PiMat (Fin 2) (PiFinTwo_same n)) (_ : g.IsInner), f = PiMat_finTwo_same_swapAlgEquiv.trans g
                theorem PiMat.trace_eq_linearMap_trace_toEuclideanLM {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] (y : PiMat (ι × ι) fun (i : ι × ι) => p i.1 × p i.2) :
                PiMat.traceLinearMap y = x : ι × ι, (LinearMap.trace (EuclideanSpace (p x.1 × p x.2))) (PiMat_toEuclideanLM y x)
                theorem QuantumGraph.Real.dim_of_piMat_submodule_eq {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {A : PiMat ι p →ₗ[] PiMat ι p} (hA : QuantumGraph.Real (PiMat ι p) A) :
                .dim_of_piMat_submodule = i : ι × ι, Module.finrank (hA.PiMat_submodule i)
                theorem Module.Dual.pi.IsFaithfulPosMap.includeBlock_right_inner {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {i : ι} (x : PiMat ι p) (y : Matrix (p i) (p i) ) :
                inner x (Matrix.includeBlock y) = inner (x i) y
                theorem LinearMap.proj_adjoint_apply {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (i : ι) (x : Matrix (p i) (p i) ) :
                (LinearMap.adjoint (LinearMap.proj i)) x = Matrix.includeBlock x
                theorem LinearMap.proj_adjoint {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (i : ι) :
                LinearMap.adjoint (LinearMap.proj i) = LinearMap.single (fun (r : ι) => Mat (p r)) i
                theorem LinearMap.single_adjoint {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (i : ι) :
                LinearMap.adjoint (LinearMap.single (fun (r : ι) => Mat (p r)) i) = LinearMap.proj i
                theorem LinearMap.eq_sum_conj_adjoint_proj_comp_proj {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (A : PiMat ι p →ₗ[] PiMat ι p) :
                A = i : ι × ι, LinearMap.adjoint (LinearMap.proj i.1) ∘ₗ (LinearMap.proj i.1 ∘ₗ A ∘ₗ LinearMap.adjoint (LinearMap.proj i.2)) ∘ₗ LinearMap.proj i.2
                theorem QuantumGraph.Real.piFinTwo_same_exists_matrix_map_eq_map_of_adjoint_and_dim_eq_one {n : Type u_1} [Fintype n] [DecidableEq n] {ψ : (i : Fin 2) → Module.Dual (Matrix (PiFinTwo_same n i) (PiFinTwo_same n i) )} [hψ : ∀ (i : Fin 2), (ψ i).IsFaithfulPosMap] {A : PiMat (Fin 2) (PiFinTwo_same n) →ₗ[] PiMat (Fin 2) (PiFinTwo_same n)} (hA : QuantumGraph.Real (PiMat (Fin 2) (PiFinTwo_same n)) A) (hA₂ : LinearMap.adjoint A = A) (hd : .dim_of_piMat_submodule = 1) :
                LinearMap.adjoint (LinearMap.proj 0) ∘ₗ LinearMap.proj 0 ∘ₗ A ∘ₗ LinearMap.adjoint (LinearMap.proj 0) ∘ₗ LinearMap.proj 0 = A LinearMap.adjoint (LinearMap.proj 1) ∘ₗ LinearMap.proj 1 ∘ₗ A ∘ₗ LinearMap.adjoint (LinearMap.proj 1) ∘ₗ LinearMap.proj 1 = A
                def AlgHom.proj (R : Type u_4) {ι : Type u_5} [CommSemiring R] {φ : ιType u_6} [(i : ι) → Semiring (φ i)] [(i : ι) → Algebra R (φ i)] (i : ι) :
                ((i : ι) → φ i) →ₐ[R] φ i
                Equations
                • AlgHom.proj R i = { toFun := fun (x : (i : ι) → φ i) => x i, map_one' := , map_mul' := , map_zero' := , map_add' := , commutes' := }
                Instances For
                  theorem AlgHom.proj_apply {R : Type u_4} {ι : Type u_5} [CommSemiring R] {φ : ιType u_6} [(i : ι) → Semiring (φ i)] [(i : ι) → Algebra R (φ i)] (x : (i : ι) → φ i) (i : ι) :
                  (AlgHom.proj R i) x = x i
                  theorem AlgHom.proj_toLinearMap {R : Type u_4} {ι : Type u_5} [CommSemiring R] {φ : ιType u_6} [(i : ι) → Semiring (φ i)] [(i : ι) → Algebra R (φ i)] (i : ι) :
                  (AlgHom.proj R i).toLinearMap = LinearMap.proj i
                  def NonUnitalAlgHom.single (R : Type u_4) {ι : Type u_5} [CommSemiring R] [DecidableEq ι] (φ : ιType u_6) [(i : ι) → Semiring (φ i)] [(i : ι) → Algebra R (φ i)] (i : ι) :
                  φ i →ₙₐ[R] (i : ι) → φ i
                  Equations
                  Instances For
                    theorem NonUnitalAlgHom.single_apply {R : Type u_4} {ι : Type u_5} [CommSemiring R] [DecidableEq ι] {φ : ιType u_6} [(i : ι) → Semiring (φ i)] [(i : ι) → Algebra R (φ i)] (i : ι) (x : φ i) :
                    theorem NonUnitalAlgHom.single_toLinearMap {R : Type u_4} {ι : Type u_5} [CommSemiring R] [DecidableEq ι] {φ : ιType u_6} [(i : ι) → Semiring (φ i)] [(i : ι) → Algebra R (φ i)] (i : ι) :
                    (NonUnitalAlgHom.single R φ i).toLinearMap = LinearMap.single R φ i
                    theorem LinearMap.single_isReal {R : Type u_4} {ι : Type u_5} [DecidableEq ι] [Semiring R] {φ : ιType u_6} [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [(i : ι) → StarAddMonoid (φ i)] (i : ι) :
                    theorem LinearMap.proj_isReal {R : Type u_4} {ι : Type u_5} [DecidableEq ι] [Semiring R] {φ : ιType u_6} [(i : ι) → AddCommMonoid (φ i)] [(i : ι) → Module R (φ i)] [(i : ι) → StarAddMonoid (φ i)] (i : ι) :
                    theorem LinearMap.single_comp_inj {R : Type u_4} {ι : Type u_5} {B : Type u_6} [Semiring R] {φ : ιType u_7} [(i : ι) → AddCommMonoid (φ i)] [AddCommMonoid B] [Module R B] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i : ι) (f : B →ₗ[R] φ i) (g : B →ₗ[R] φ i) :
                    LinearMap.single R φ i ∘ₗ f = LinearMap.single R φ i ∘ₗ g f = g
                    theorem LinearMap.comp_proj_inj {R : Type u_4} {ι : Type u_5} {B : Type u_6} [Semiring R] {φ : ιType u_7} [(i : ι) → AddCommMonoid (φ i)] [AddCommMonoid B] [Module R B] [(i : ι) → Module R (φ i)] [DecidableEq ι] (i : ι) (f : φ i →ₗ[R] B) (g : φ i →ₗ[R] B) :
                    f ∘ₗ LinearMap.proj i = g ∘ₗ LinearMap.proj i f = g
                    theorem LinearMap.proj_comp_inj {R : Type u_4} {ι : Type u_5} {B : Type u_6} [Semiring R] {φ : ιType u_7} [(i : ι) → AddCommMonoid (φ i)] [AddCommMonoid B] [Module R B] [(i : ι) → Module R (φ i)] [DecidableEq ι] (f : B →ₗ[R] (r : ι) → φ r) (g : B →ₗ[R] (r : ι) → φ r) :
                    (∀ (i : ι), LinearMap.proj i ∘ₗ f = LinearMap.proj i ∘ₗ g) f = g
                    theorem QuantumGraph.isReal_iff_conj_proj_adjoint_isReal {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] (i : ι) (f : Mat (p i) →ₗ[] Mat (p i)) :
                    QuantumGraph.Real (Mat (p i)) f QuantumGraph.Real (PiMat ι p) (LinearMap.adjoint (LinearMap.proj i) ∘ₗ f ∘ₗ LinearMap.proj i)
                    theorem QuantumGraph.Real.conj_proj_isReal {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph.Real (PiMat ι p) f) (i : ι) :
                    QuantumGraph.Real (Mat (p i)) (LinearMap.proj i ∘ₗ f ∘ₗ LinearMap.adjoint (LinearMap.proj i))
                    theorem schurMul_proj_adjoint_comp {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {B : Type u_4} [starAlgebra B] [QuantumSet B] (i : ι) (f : B →ₗ[] Mat (p i)) (g : B →ₗ[] Mat (p i)) :
                    (LinearMap.adjoint (LinearMap.proj i) ∘ₗ f) •ₛ LinearMap.adjoint (LinearMap.proj i) ∘ₗ g = LinearMap.adjoint (LinearMap.proj i) ∘ₗ f •ₛ g
                    theorem schurMul_proj_comp {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {B : Type u_4} [starAlgebra B] [QuantumSet B] (f : B →ₗ[] PiMat ι p) (g : B →ₗ[] PiMat ι p) (i : ι) :
                    (LinearMap.proj i ∘ₗ f) •ₛ LinearMap.proj i ∘ₗ g = LinearMap.proj i ∘ₗ f •ₛ g
                    theorem schurMul_comp_proj {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {B : Type u_4} [starAlgebra B] [QuantumSet B] (i : ι) (f : Mat (p i) →ₗ[] B) (g : Mat (p i) →ₗ[] B) :
                    (f ∘ₗ LinearMap.proj i) •ₛ g ∘ₗ LinearMap.proj i = (f •ₛ g) ∘ₗ LinearMap.proj i
                    theorem schurMul_comp_proj_adjoint {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {B : Type u_4} [starAlgebra B] [QuantumSet B] (f : PiMat ι p →ₗ[] B) (g : PiMat ι p →ₗ[] B) (i : ι) :
                    (f ∘ₗ LinearMap.adjoint (LinearMap.proj i)) •ₛ g ∘ₗ LinearMap.adjoint (LinearMap.proj i) = (f •ₛ g) ∘ₗ LinearMap.adjoint (LinearMap.proj i)
                    theorem QuantumGraph.Real.proj_adjoint_comp_proj_conj_isRealQuantumGraph {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph.Real (PiMat ι p) f) (i : ι × ι) :
                    QuantumGraph.Real (PiMat ι p) (LinearMap.adjoint (LinearMap.proj i.1) ∘ₗ LinearMap.proj i.1 ∘ₗ f ∘ₗ LinearMap.adjoint (LinearMap.proj i.2) ∘ₗ LinearMap.proj i.2)
                    theorem schurMul_proj_adjoint_comp_of_ne_eq_zero {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {B : Type u_4} [starAlgebra B] [QuantumSet B] {i : ι} {j : ι} (hij : i j) (f : B →ₗ[] Mat (p i)) (g : B →ₗ[] Mat (p j)) :
                    (LinearMap.adjoint (LinearMap.proj i) ∘ₗ f) •ₛ LinearMap.adjoint (LinearMap.proj j) ∘ₗ g = 0
                    theorem schurMul_comp_proj_of_ne_eq_zero {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {B : Type u_4} [starAlgebra B] [QuantumSet B] {i : ι} {j : ι} (hij : i j) (f : Mat (p i) →ₗ[] B) (g : Mat (p j) →ₗ[] B) :
                    (f ∘ₗ LinearMap.proj i) •ₛ g ∘ₗ LinearMap.proj j = 0
                    theorem piMat_isRealQuantumGraph_iff_forall_conj_adjoint_proj_comp_proj {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} :
                    QuantumGraph.Real (PiMat ι p) f ∀ (i : ι × ι), QuantumGraph.Real (PiMat ι p) (LinearMap.adjoint (LinearMap.proj i.1) ∘ₗ LinearMap.proj i.1 ∘ₗ f ∘ₗ LinearMap.adjoint (LinearMap.proj i.2) ∘ₗ LinearMap.proj i.2)
                    theorem PiMat_finTwo_same_swap_swap {n : Type u_1} [Fintype n] [DecidableEq n] (x : PiMat (Fin 2) (PiFinTwo_same n)) :
                    PiMat_finTwo_same_swapAlgEquiv (PiMat_finTwo_same_swapAlgEquiv x) = x
                    theorem PiMat_finTwo_same_swapAlgEquiv_apply_piSingle_zero {n : Type u_1} [Fintype n] [DecidableEq n] (x : Matrix n n ) :
                    PiMat_finTwo_same_swapAlgEquiv (Pi.single 0 x) = Pi.single 1 x
                    theorem PiMat_finTwo_same_swapAlgEquiv_comp_linearMapSingle_zero {n : Type u_1} [Fintype n] [DecidableEq n] :
                    PiMat_finTwo_same_swapAlgEquiv.toLinearMap ∘ₗ LinearMap.single (fun (j : Fin 2) => Mat (PiFinTwo_same n j)) 0 = LinearMap.single (fun (j : Fin 2) => Mat (PiFinTwo_same n j)) 1
                    theorem PiMat_finTwo_same_swapAlgEquiv_apply_piSingle_one {n : Type u_1} [Fintype n] [DecidableEq n] (x : Matrix n n ) :
                    PiMat_finTwo_same_swapAlgEquiv (Pi.single 1 x) = Pi.single 0 x
                    theorem PiMat_finTwo_same_swapAlgEquiv_comp_linearMapSingle_one {n : Type u_1} [Fintype n] [DecidableEq n] :
                    PiMat_finTwo_same_swapAlgEquiv.toLinearMap ∘ₗ LinearMap.single (fun (j : Fin 2) => Mat (PiFinTwo_same n j)) 1 = LinearMap.single (fun (j : Fin 2) => Mat (PiFinTwo_same n j)) 0
                    theorem QuantumGraph.Real.schurProjection_proj_conj {ι : Type u_2} {p : ιType u_3} [Fintype ι] [DecidableEq ι] [(i : ι) → Fintype (p i)] [(i : ι) → DecidableEq (p i)] {φ : (i : ι) → Module.Dual (Matrix (p i) (p i) )} [hφ : ∀ (i : ι), (φ i).IsFaithfulPosMap] {f : PiMat ι p →ₗ[] PiMat ι p} (hf : QuantumGraph.Real (PiMat ι p) f) (i : ι × ι) :
                    schurProjection (LinearMap.proj i.1 ∘ₗ f ∘ₗ LinearMap.adjoint (LinearMap.proj i.2))