Documentation

Monlib.QuantumGraph.Basic

theorem symmMap_apply_schurMul {A : Type u_1} {B : Type u_2} [starAlgebra A] [starAlgebra B] [hA : QuantumSet A] [QuantumSet B] (f : A →ₗ[] B) (g : A →ₗ[] B) :
(symmMap A B) (f •ₛ g) = (symmMap A B) g •ₛ (symmMap A B) f
theorem QuantumSet.modAut_star {A : Type u_1} [self : starAlgebra A] (r : ) (x : A) :
star ((modAut r) x) = (modAut (-r)) (star x)

Alias of starAlgebra.modAut_star.


applying star to modAut r x will give modAut (-r) (star x)

theorem Psi_apply_linearMap_comp_linearMap_of_commute_modAut {A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hc : starAlgebra C] [hd : starAlgebra D] [hA : QuantumSet A] [hB : QuantumSet B] [hC : QuantumSet C] [hD : QuantumSet D] {f : A →ₗ[] B} {g : D →ₗ[] C} (t : ) (r : ) (hf : (modAut t).toLinearMap ∘ₗ f = f ∘ₗ (modAut t).toLinearMap) (hg : (modAut r).toLinearMap ∘ₗ g = g ∘ₗ (modAut r).toLinearMap) (x : C →ₗ[] A) :
(QuantumSet.Psi t r) (f ∘ₗ x ∘ₗ g) = (TensorProduct.map f ((symmMap C D).symm g).op) ((QuantumSet.Psi t r) x)
theorem symmMap_symm_comp {A : Type u_1} {B : Type u_2} {C : Type u_3} [starAlgebra A] [starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] [starAlgebra C] [QuantumSet C] (x : A →ₗ[] B) (y : C →ₗ[] A) :
(symmMap B C).symm (x ∘ₗ y) = (symmMap A C).symm y ∘ₗ (symmMap B A).symm x
theorem linearMap_map_Psi_of_commute_modAut {A : Type u_1} {B : Type u_2} {C : Type u_3} {D : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hc : starAlgebra C] [hd : starAlgebra D] [hA : QuantumSet A] [hB : QuantumSet B] [hC : QuantumSet C] [hD : QuantumSet D] {f : A →ₗ[] B} {g : Cᵐᵒᵖ →ₗ[] Dᵐᵒᵖ} (t : ) (r : ) (hf : (modAut t).toLinearMap ∘ₗ f = f ∘ₗ (modAut t).toLinearMap) (hg : (modAut r).toLinearMap ∘ₗ g.unop = g.unop ∘ₗ (modAut r).toLinearMap) (x : C →ₗ[] A) :
(TensorProduct.map f g) ((QuantumSet.Psi t r) x) = (QuantumSet.Psi t r) (f ∘ₗ x ∘ₗ (symmMap C D) g.unop)
@[simp]
theorem LinearMap.op_real {K : Type u_1} {E : Type u_2} {F : Type u_3} [AddCommMonoid E] [StarAddMonoid E] [AddCommMonoid F] [StarAddMonoid F] [Semiring K] [Module K E] [Module K F] [InvolutiveStar K] [StarModule K E] [StarModule K F] (φ : E →ₗ[K] F) :
φ.op.real = φ.real.op
theorem modAut_map_comp_Psi {A : Type u_1} {B : Type u_2} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t₁ : ) (r₁ : ) (t₂ : ) (r₂ : ) :
TensorProduct.map (modAut t₁).toLinearMap (AlgEquiv.op (modAut r₁)).toLinearMap ∘ₗ (QuantumSet.Psi t₂ r₂) = (QuantumSet.Psi (t₁ + t₂) (-r₁ + r₂))
theorem lTensor_modAut_comp_Psi {A : Type u_1} {B : Type u_2} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t₂ : ) (r₁ : ) (r₂ : ) :
LinearMap.lTensor B (AlgEquiv.op (modAut r₁)).toLinearMap ∘ₗ (QuantumSet.Psi t₂ r₂) = (QuantumSet.Psi t₂ (-r₁ + r₂))
theorem rTensor_modAut_comp_Psi {A : Type u_1} {B : Type u_2} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t₁ : ) (t₂ : ) (r₂ : ) :
LinearMap.rTensor Aᵐᵒᵖ (modAut t₁).toLinearMap ∘ₗ (QuantumSet.Psi t₂ r₂) = (QuantumSet.Psi (t₁ + t₂) r₂)
theorem rmulMapLmul_apply_Upsilon_apply {A : Type u_1} {B : Type u_2} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (x : A →ₗ[] B) (y : TensorProduct A B) :
(rmulMapLmul (Upsilon x)) y = Upsilon (x •ₛ Upsilon.symm y)
theorem QuantumSet.comm_op_modAut_map_comul_one_eq_Psi {A : Type u_1} {B : Type u_2} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (r : ) (f : A →ₗ[] B) :
(TensorProduct.comm Aᵐᵒᵖ B) ((TensorProduct.map ((op ) ∘ₗ (modAut r).toLinearMap) f) (Coalgebra.comul 1)) = (QuantumSet.Psi 0 (k A + 1 - r)) f
@[simp]
theorem AlgEquiv.symm_one {R : Type u_3} {A : Type u_4} [CommSemiring R] [Semiring A] [Algebra R A] :
theorem LinearMap.lTensor_eq {R : Type u_3} {M : Type u_4} {N : Type u_5} {P : Type u_6} [CommSemiring R] [AddCommMonoid M] [AddCommMonoid N] [AddCommMonoid P] [Module R M] [Module R N] [Module R P] (f : N →ₗ[R] P) :
theorem AlgEquiv.symm_op {R : Type u_3} {A : Type u_4} {B : Type u_5} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] (f : A ≃ₐ[R] B) :
(AlgEquiv.op f).symm = AlgEquiv.op f.symm
theorem QuantumSet.modAut_trans {A : Type u_1} [self : starAlgebra A] (r : ) (s : ) :
(modAut r).trans (modAut s) = modAut (r + s)

Alias of starAlgebra.modAut_trans.


the modular automorphism is an additive homomorphism from to (A ≃ₐ[ℂ] A, add := · * ·, zero := 1)

theorem isReal_iff_Psi {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (f : A →ₗ[] B) (t : ) (r : ) :
LinearMap.IsReal f star ((QuantumSet.Psi t r) f) = (QuantumSet.Psi (-t) (2 * k A + 1 - r)) f
theorem isReal_iff_Psi_isSelfAdjoint {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (f : A →ₗ[] B) :
theorem real_Upsilon_toBimodule {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] {f : A →ₗ[] B} (gns₁ : k A = 0) (gns₂ : k B = 0) :
(TensorProduct.toIsBimoduleMap (Upsilon f.real)) = LinearMap.adjoint (TensorProduct.toIsBimoduleMap (Upsilon f))
class schurProjection {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (f : A →ₗ[] B) :
Instances
    theorem schurProjection.isIdempotentElem {A : Type u_3} {B : Type u_4} {ha : starAlgebra A} {hb : starAlgebra B} {hA : QuantumSet A} {hB : QuantumSet B} {f : A →ₗ[] B} [self : schurProjection f] :
    f •ₛ f = f
    theorem schurProjection.isReal {A : Type u_3} {B : Type u_4} {ha : starAlgebra A} {hb : starAlgebra B} {hA : QuantumSet A} {hB : QuantumSet B} {f : A →ₗ[] B} [self : schurProjection f] :
    theorem Coalgebra.comul_mul_of_gns {A : Type u_3} [ha : starAlgebra A] [hA : QuantumSet A] (gns : k A = 0) (a : A) (b : A) :
    Coalgebra.comul (a * b) = i : n A, (a * onb i) ⊗ₜ[] (star (onb i) * b)
    theorem QuantumSet.counit_isReal {A : Type u_5} [starAlgebra A] [QuantumSet A] :
    LinearMap.IsReal Coalgebra.counit
    theorem QuantumSet.innerOne_map_one_isReal_ofReal {A : Type u_5} {B : Type u_6} [starAlgebra A] [starAlgebra B] [QuantumSet A] [QuantumSet B] {f : A →ₗ[] B} (hf : LinearMap.IsReal f) :
    inner 1 (f 1) = (inner 1 (f 1)).re
    Equations
    Instances For
      Equations
      Instances For
        noncomputable instance QuantumSet.mulOpposite {A : Type u_5} [starAlgebra A] [QuantumSet A] [kms : Fact (k A = -(1 / 2))] :
        Equations
        • QuantumSet.mulOpposite = QuantumSet.mk (k A) (n A) QuantumSet.n_isFintype QuantumSet.n_isDecidableEq onb.mulOpposite
        Equations
        • One or more equations did not get rendered due to their size.
        theorem Coalgebra.counit_mulOpposite_eq {A : Type u_5} [Semiring A] [Algebra A] [CoalgebraStruct A] (a : Aᵐᵒᵖ) :
        Coalgebra.counit a = Coalgebra.counit (MulOpposite.unop a)
        def Module.Dual.op {R : Type u_5} {A : Type u_6} [CommSemiring R] [AddCommMonoid A] [Module R A] (f : Module.Dual R A) :
        Equations
        Instances For
          theorem Module.Dual.op_apply {R : Type u_5} {A : Type u_6} [CommSemiring R] [AddCommMonoid A] [Module R A] (f : Module.Dual R A) (x : Aᵐᵒᵖ) :
          f.op x = f (MulOpposite.unop x)
          theorem Coalgebra.counit_moduleDualOp_eq {A : Type u_5} [Semiring A] [Algebra A] [CoalgebraStruct A] :
          Module.Dual.op Coalgebra.counit = Coalgebra.counit
          Equations
          Instances For
            theorem Module.Dual.op_isFaithful_iff {𝕜 : Type u_5} {A : Type u_6} [RCLike 𝕜] [NonUnitalSemiring A] [StarRing A] [Module 𝕜 A] (φ : Module.Dual 𝕜 A) :
            φ.IsFaithful φ.op.IsFaithful
            noncomputable instance QuantumSet.tensorOp_self {A : Type u_5} [starAlgebra A] [QuantumSet A] [kms : Fact (k A = -(1 / 2))] :
            Equations
            • QuantumSet.tensorOp_self = QuantumSet.tensorProduct
            theorem Coalgebra.comul_mul {A : Type u_3} [ha : starAlgebra A] [hA : QuantumSet A] (a : A) (b : A) :
            Coalgebra.comul (a * b) = i : n A, (a * (modAut (k A / 2)) (onb i)) ⊗ₜ[] (star ((modAut (k A / 2)) (onb i)) * b)
            theorem schurProjection.isPosMap {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] [PartialOrder A] [PartialOrder B] [StarOrderedRing B] (h₁ : ∀ ⦃a : A⦄, 0 a ∃ (b : A), a = star b * b) {f : A →ₗ[] B} (hf : schurProjection f) :
            theorem schurIdempotent.isSchurProjection_iff_isPosMap {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] [PartialOrder A] [PartialOrder B] [StarOrderedRing A] [StarOrderedRing B] (h₁ : ∀ ⦃a : A⦄, 0 a ∃ (b : A), a = star b * b) (hh : isEquivToPiMat A) {f : A →ₗ[] B} (hf : f •ₛ f = f) :
            class QuantumGraph (A : Type u_5) [starAlgebra A] [hA : QuantumSet A] (f : A →ₗ[] A) :
            • isIdempotentElem : f •ₛ f = f
            Instances
              theorem QuantumGraph.isIdempotentElem {A : Type u_5} :
              ∀ {inst : starAlgebra A} {hA : QuantumSet A} {f : A →ₗ[] A} [self : QuantumGraph A f], f •ₛ f = f
              class QuantumGraph.IsReal {A : Type u_5} [starAlgebra A] [hA : QuantumSet A] {f : A →ₗ[] A} (h : QuantumGraph A f) :
              Instances
                theorem QuantumGraph.IsReal.isReal {A : Type u_5} :
                ∀ {inst : starAlgebra A} {hA : QuantumSet A} {f : A →ₗ[] A} (h : QuantumGraph A f) [self : h.IsReal], LinearMap.IsReal f
                class QuantumGraph.Real (A : Type u_5) [starAlgebra A] [hA : QuantumSet A] (f : A →ₗ[] A) :
                Instances
                  theorem QuantumGraph.Real.isIdempotentElem {A : Type u_5} :
                  ∀ {inst : starAlgebra A} {hA : QuantumSet A} {f : A →ₗ[] A} [self : QuantumGraph.Real A f], f •ₛ f = f
                  theorem QuantumGraph.Real.isReal {A : Type u_5} :
                  ∀ {inst : starAlgebra A} {hA : QuantumSet A} {f : A →ₗ[] A} [self : QuantumGraph.Real A f], LinearMap.IsReal f
                  theorem schurMul_Upsilon_toBimodule {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] {f : A →ₗ[] B} {g : A →ₗ[] B} :
                  (TensorProduct.toIsBimoduleMap (Upsilon (f •ₛ g))) = (TensorProduct.toIsBimoduleMap (Upsilon f)) * (TensorProduct.toIsBimoduleMap (Upsilon g))
                  theorem quantumGraphReal_iff_Upsilon_toBimodule_orthogonalProjection {A : Type u_3} [ha : starAlgebra A] [hA : QuantumSet A] {f : A →ₗ[] A} (gns : k A = 0) :
                  QuantumGraph.Real A f (LinearMap.toContinuousLinearMap (TensorProduct.toIsBimoduleMap (Upsilon f))).IsOrthogonalProjection
                  theorem StarAlgEquiv.toAlgEquiv_toAlgHom_toLinearMap {R : Type u_5} {A : Type u_6} {B : Type u_7} [CommSemiring R] [Semiring A] [Semiring B] [Algebra R A] [Algebra R B] [Star A] [Star B] (f : A ≃⋆ₐ[R] B) :
                  (↑f.toAlgEquiv).toLinearMap = f.toLinearMap
                  def QuantumGraph.Real_conj_starAlgEquiv {A : Type u_5} {B : Type u_6} [starAlgebra A] [starAlgebra B] [QuantumSet A] [QuantumSet B] {x : A →ₗ[] A} (hx : QuantumGraph.Real A x) {f : A ≃⋆ₐ[] B} (hf : Isometry f) :
                  QuantumGraph.Real B (f.toLinearMap ∘ₗ x ∘ₗ LinearMap.adjoint f.toLinearMap)
                  Equations
                  • =
                  Instances For
                    theorem Submodule.adjoint_subtype {E : Type u_5} [NormedAddCommGroup E] [InnerProductSpace E] [FiniteDimensional E] {U : Submodule E} :
                    LinearMap.adjoint U.subtype = (orthogonalProjection U)
                    theorem OrthonormalBasis.orthogonalProjection_eq_sum_rankOne {ι : Type u_5} {𝕜 : Type u_6} [RCLike 𝕜] {E : Type u_7} [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [Fintype ι] {U : Submodule 𝕜 E} [CompleteSpace U] (b : OrthonormalBasis ι 𝕜 U) :
                    orthogonalProjection U = i : ι, ((rankOne 𝕜) (b i)) (b i)
                    theorem orthogonalProjection_submoduleMap {E : Type u_5} {E' : Type u_6} [NormedAddCommGroup E] [InnerProductSpace E] [NormedAddCommGroup E'] [InnerProductSpace E'] {U : Submodule E} [FiniteDimensional E] [FiniteDimensional E'] (f : E ≃ₗᵢ[] E') :
                    (orthogonalProjection' (Submodule.map f U)) = f.toLinearEquiv ∘ₗ (orthogonalProjection' U) ∘ₗ f.symm.toLinearEquiv
                    instance StarAlgEquivClass.instLinearMapClass {R : Type u_5} {A : Type u_6} {B : Type u_7} [Semiring R] [AddCommMonoid A] [AddCommMonoid B] [Mul A] [Mul B] [Module R A] [Module R B] [Star A] [Star B] {F : Type u_8} [EquivLike F A B] [NonUnitalAlgEquivClass F R A B] [StarHomClass F A B] :
                    Equations
                    • =
                    theorem orthogonalProjection_submoduleMap_isometry_starAlgEquiv {E : Type u_5} {E' : Type u_6} [NormedAddCommGroup E] [InnerProductSpace E] [NormedAddCommGroup E'] [InnerProductSpace E'] {U : Submodule E} [Mul E] [Mul E'] [Star E] [Star E'] [FiniteDimensional E] [FiniteDimensional E'] {f : E ≃⋆ₐ[] E'} (hf : Isometry f) :
                    (orthogonalProjection' (Submodule.map f U)) = f.toLinearMap ∘ₗ (orthogonalProjection' U) ∘ₗ f.symm.toLinearMap
                    theorem orthogonalProjection_submoduleMap' {E : Type u_5} {E' : Type u_6} [NormedAddCommGroup E] [InnerProductSpace E] [NormedAddCommGroup E'] [InnerProductSpace E'] {U : Submodule E} [FiniteDimensional E] [FiniteDimensional E'] (f : E' ≃ₗᵢ[] E) :
                    (orthogonalProjection' (Submodule.map f.symm U)) = f.symm.toLinearEquiv ∘ₗ (orthogonalProjection' U) ∘ₗ f.toLinearEquiv
                    noncomputable def QuantumGraph.Real.upsilonSubmodule {A : Type u_3} [ha : starAlgebra A] [hA : QuantumSet A] {f : A →ₗ[] A} (gns : k A = 0) (hf : QuantumGraph.Real A f) :
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem QuantumGraph.Real.upsilonOrthogonalProjection {A : Type u_3} [ha : starAlgebra A] [hA : QuantumSet A] {f : A →ₗ[] A} (gns : k A = 0) (hf : QuantumGraph.Real A f) :
                      orthogonalProjection' (QuantumGraph.Real.upsilonSubmodule gns hf) = LinearMap.toContinuousLinearMap (TensorProduct.toIsBimoduleMap (Upsilon f))
                      @[simp]
                      theorem OrthonormalBasis.tensorProduct_toBasis {𝕜 : Type u_5} {E : Type u_6} {F : Type u_7} [RCLike 𝕜] [NormedAddCommGroup E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 E] [InnerProductSpace 𝕜 F] [FiniteDimensional 𝕜 E] [FiniteDimensional 𝕜 F] {ι₁ : Type u_8} {ι₂ : Type u_9} [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] [DecidableEq ι₂] (b₁ : OrthonormalBasis ι₁ 𝕜 E) (b₂ : OrthonormalBasis ι₂ 𝕜 F) :
                      (b₁.tensorProduct b₂).toBasis = b₁.toBasis.tensorProduct b₂.toBasis
                      theorem TensorProduct.of_orthonormalBasis_eq_span {𝕜 : Type u_5} {E : Type u_6} {F : Type u_7} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (x : TensorProduct 𝕜 E F) {ι₁ : Type u_8} {ι₂ : Type u_9} [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] [DecidableEq ι₂] (b₁ : OrthonormalBasis ι₁ 𝕜 E) (b₂ : OrthonormalBasis ι₂ 𝕜 F) :
                      x = i : ι₁, j : ι₂, (b₁.tensorProduct b₂).repr x (i, j) b₁ i ⊗ₜ[𝕜] b₂ j
                      noncomputable def TensorProduct.of_orthonormalBasis_prod {𝕜 : Type u_5} {E : Type u_6} {F : Type u_7} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (x : TensorProduct 𝕜 E F) {ι₁ : Type u_8} {ι₂ : Type u_9} [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] [DecidableEq ι₂] (b₁ : OrthonormalBasis ι₁ 𝕜 E) (b₂ : OrthonormalBasis ι₂ 𝕜 F) :
                      ι₁ × ι₂E × F
                      Equations
                      • x.of_orthonormalBasis_prod b₁ b₂ (i, j) = ((b₁.tensorProduct b₂).repr x (i, j) b₁ i, b₂ j)
                      Instances For
                        @[simp]
                        theorem TensorProduct.of_othonormalBasis_prod_eq {𝕜 : Type u_5} {E : Type u_6} {F : Type u_7} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (x : TensorProduct 𝕜 E F) {ι₁ : Type u_8} {ι₂ : Type u_9} [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] [DecidableEq ι₂] (b₁ : OrthonormalBasis ι₁ 𝕜 E) (b₂ : OrthonormalBasis ι₂ 𝕜 F) :
                        i : ι₁ × ι₂, (x.of_orthonormalBasis_prod b₁ b₂ i).1 ⊗ₜ[𝕜] (x.of_orthonormalBasis_prod b₁ b₂ i).2 = x
                        @[simp]
                        theorem TensorProduct.of_othonormalBasis_prod_eq' {𝕜 : Type u_5} {E : Type u_6} {F : Type u_7} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] (x : TensorProduct 𝕜 E F) {ι₁ : Type u_8} {ι₂ : Type u_9} [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] [DecidableEq ι₂] (b₁ : OrthonormalBasis ι₁ 𝕜 E) (b₂ : OrthonormalBasis ι₂ 𝕜 F) :
                        i : ι₁ × ι₂, (x.of_orthonormalBasis_prod b₁ b₂ i).1 ⊗ₜ[𝕜] b₂ i.2 = x
                        theorem QuantumGraph.Real.upsilon_eq {A : Type u_3} [ha : starAlgebra A] [hA : QuantumSet A] {f : A →ₗ[] A} (hf : QuantumGraph.Real A f) (gns : k A = 0) :
                        let u := QuantumGraph.Real.upsilonOrthonormalBasis gns hf; let b := onb; let a := fun (x : TensorProduct A A) (i : n A × n A) => (x.of_orthonormalBasis_prod b b i).1; f = (∑ i : Fin (Module.finrank (QuantumGraph.Real.upsilonSubmodule gns hf)), j : n A × n A, inner (↑(u i)) 1 ((rankOne ) (b j.2)) ((modAut (-1)) (star (a (↑(u i)) j))))
                        theorem QuantumGraph.Real.upsilon_eq' {A : Type u_3} [ha : starAlgebra A] [hA : QuantumSet A] {f : A →ₗ[] A} (hf : QuantumGraph.Real A f) (gns : k A = 0) :
                        let u := QuantumGraph.Real.upsilonOrthonormalBasis gns hf; let b := onb; let a := fun (x : TensorProduct A A) (i : n A × n A) => (x.of_orthonormalBasis_prod b b i).1; f = (∑ i : Fin (Module.finrank (QuantumGraph.Real.upsilonSubmodule gns hf)), j : n A × n A, inner 1 (u i) ((rankOne ) (star (b j.2))) (a (↑(u i)) j))
                        noncomputable def TensorProduct.of_orthonormalBasis_prod₁_lm {𝕜 : Type u_5} {E : Type u_6} {F : Type u_7} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {ι₁ : Type u_8} {ι₂ : Type u_9} [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] [DecidableEq ι₂] (b₁ : OrthonormalBasis ι₁ 𝕜 E) (b₂ : OrthonormalBasis ι₂ 𝕜 F) :
                        TensorProduct 𝕜 E F →ₗ[𝕜] ι₁ × ι₂E
                        Equations
                        Instances For
                          theorem TensorProduct.of_orthonormalBasis_prod₁_lm_eq {𝕜 : Type u_5} {E : Type u_6} {F : Type u_7} [RCLike 𝕜] [NormedAddCommGroup E] [InnerProductSpace 𝕜 E] [NormedAddCommGroup F] [InnerProductSpace 𝕜 F] {ι₁ : Type u_8} {ι₂ : Type u_9} [Fintype ι₁] [Fintype ι₂] [DecidableEq ι₁] [DecidableEq ι₂] (b₁ : OrthonormalBasis ι₁ 𝕜 E) (b₂ : OrthonormalBasis ι₂ 𝕜 F) (x : TensorProduct 𝕜 E F) (i : ι₁ × ι₂) :
                          (TensorProduct.of_orthonormalBasis_prod₁_lm b₁ b₂) x i = (x.of_orthonormalBasis_prod b₁ b₂ i).1
                          theorem QuantumGraph.Real.upsilon_eq'' {A : Type u_3} [ha : starAlgebra A] [hA : QuantumSet A] {f : A →ₗ[] A} (hf : QuantumGraph.Real A f) (gns : k A = 0) :
                          let P := orthogonalProjection' (QuantumGraph.Real.upsilonSubmodule gns hf); let a := fun (x : TensorProduct A A) (i : n A × n A) => (x.of_orthonormalBasis_prod onb onb i).1; f = (∑ j : n A × n A, ((rankOne ) (star (onb j.2))) (a (P 1) j))
                          theorem QuantumSet.starAlgEquiv_commutes_with_modAut_of_isometry'' {A : Type u_5} {B : Type u_6} [hb : starAlgebra B] [ha : starAlgebra A] [hA : QuantumSet A] [hB : QuantumSet B] {f : A ≃⋆ₐ[] B} (hf : Isometry f) :
                          f.toLinearMap ∘ₗ (modAut (-(2 * k A + 1))).toLinearMap = (modAut (-(2 * k B + 1))).toLinearMap ∘ₗ f.toLinearMap
                          theorem LinearMap.tensorProduct_map_isometry_of {𝕜 : Type u_5} {A : Type u_6} {B : Type u_7} {C : Type u_8} {D : Type u_9} [RCLike 𝕜] [NormedAddCommGroup A] [NormedAddCommGroup B] [NormedAddCommGroup C] [NormedAddCommGroup D] [InnerProductSpace 𝕜 A] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] [InnerProductSpace 𝕜 D] [FiniteDimensional 𝕜 A] [FiniteDimensional 𝕜 B] [FiniteDimensional 𝕜 C] [FiniteDimensional 𝕜 D] {f : A →ₗ[𝕜] B} (hf : Isometry f) {g : C →ₗ[𝕜] D} (hg : Isometry g) :
                          noncomputable def LinearIsometryEquiv.TensorProduct.map {𝕜 : Type u_5} {A : Type u_6} {B : Type u_7} {C : Type u_8} {D : Type u_9} [RCLike 𝕜] [NormedAddCommGroup A] [NormedAddCommGroup B] [NormedAddCommGroup C] [NormedAddCommGroup D] [InnerProductSpace 𝕜 A] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] [InnerProductSpace 𝕜 D] [FiniteDimensional 𝕜 A] [FiniteDimensional 𝕜 B] [FiniteDimensional 𝕜 C] [FiniteDimensional 𝕜 D] (f : A ≃ₗᵢ[𝕜] B) (g : C ≃ₗᵢ[𝕜] D) :
                          Equations
                          Instances For
                            @[simp]
                            theorem LinearIsometryEquiv.TensorProduct.map_invFun {𝕜 : Type u_5} {A : Type u_6} {B : Type u_7} {C : Type u_8} {D : Type u_9} [RCLike 𝕜] [NormedAddCommGroup A] [NormedAddCommGroup B] [NormedAddCommGroup C] [NormedAddCommGroup D] [InnerProductSpace 𝕜 A] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] [InnerProductSpace 𝕜 D] [FiniteDimensional 𝕜 A] [FiniteDimensional 𝕜 B] [FiniteDimensional 𝕜 C] [FiniteDimensional 𝕜 D] (f : A ≃ₗᵢ[𝕜] B) (g : C ≃ₗᵢ[𝕜] D) (x : TensorProduct 𝕜 B D) :
                            (LinearIsometryEquiv.TensorProduct.map f g).invFun x = (TensorProduct.map f.symm.toLinearEquiv g.symm.toLinearEquiv) x
                            @[simp]
                            theorem LinearIsometryEquiv.TensorProduct.map_toFun {𝕜 : Type u_5} {A : Type u_6} {B : Type u_7} {C : Type u_8} {D : Type u_9} [RCLike 𝕜] [NormedAddCommGroup A] [NormedAddCommGroup B] [NormedAddCommGroup C] [NormedAddCommGroup D] [InnerProductSpace 𝕜 A] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] [InnerProductSpace 𝕜 D] [FiniteDimensional 𝕜 A] [FiniteDimensional 𝕜 B] [FiniteDimensional 𝕜 C] [FiniteDimensional 𝕜 D] (f : A ≃ₗᵢ[𝕜] B) (g : C ≃ₗᵢ[𝕜] D) (x : TensorProduct 𝕜 A C) :
                            (LinearIsometryEquiv.TensorProduct.map f g) x = (TensorProduct.map f.toLinearEquiv g.toLinearEquiv) x
                            @[simp]
                            theorem LinearIsometryEquiv.TensorProduct.map_symm_apply {𝕜 : Type u_5} {A : Type u_6} {B : Type u_7} {C : Type u_8} {D : Type u_9} [RCLike 𝕜] [NormedAddCommGroup A] [NormedAddCommGroup B] [NormedAddCommGroup C] [NormedAddCommGroup D] [InnerProductSpace 𝕜 A] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] [InnerProductSpace 𝕜 D] [FiniteDimensional 𝕜 A] [FiniteDimensional 𝕜 B] [FiniteDimensional 𝕜 C] [FiniteDimensional 𝕜 D] (f : A ≃ₗᵢ[𝕜] B) (g : C ≃ₗᵢ[𝕜] D) (x : TensorProduct 𝕜 B D) :
                            (LinearIsometryEquiv.TensorProduct.map f g).symm x = (TensorProduct.map f.symm.toLinearEquiv g.symm.toLinearEquiv) x
                            @[simp]
                            theorem LinearIsometryEquiv.TensorProduct.map_apply {𝕜 : Type u_5} {A : Type u_6} {B : Type u_7} {C : Type u_8} {D : Type u_9} [RCLike 𝕜] [NormedAddCommGroup A] [NormedAddCommGroup B] [NormedAddCommGroup C] [NormedAddCommGroup D] [InnerProductSpace 𝕜 A] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] [InnerProductSpace 𝕜 D] [FiniteDimensional 𝕜 A] [FiniteDimensional 𝕜 B] [FiniteDimensional 𝕜 C] [FiniteDimensional 𝕜 D] (f : A ≃ₗᵢ[𝕜] B) (g : C ≃ₗᵢ[𝕜] D) (x : TensorProduct 𝕜 A C) :
                            (LinearIsometryEquiv.TensorProduct.map f g) x = (TensorProduct.map f.toLinearEquiv g.toLinearEquiv) x
                            theorem LinearIsometryEquiv.TensorProduct.map_tmul {𝕜 : Type u_5} {A : Type u_6} {B : Type u_7} {C : Type u_8} {D : Type u_9} [RCLike 𝕜] [NormedAddCommGroup A] [NormedAddCommGroup B] [NormedAddCommGroup C] [NormedAddCommGroup D] [InnerProductSpace 𝕜 A] [InnerProductSpace 𝕜 B] [InnerProductSpace 𝕜 C] [InnerProductSpace 𝕜 D] [FiniteDimensional 𝕜 A] [FiniteDimensional 𝕜 B] [FiniteDimensional 𝕜 C] [FiniteDimensional 𝕜 D] (f : A ≃ₗᵢ[𝕜] B) (g : C ≃ₗᵢ[𝕜] D) (x : A) (y : C) :
                            theorem oneHom_isometry_inner_one_right {𝕜 : Type u_5} {A : Type u_6} {B : Type u_7} [RCLike 𝕜] [NormedAddCommGroup A] [NormedAddCommGroup B] [InnerProductSpace 𝕜 A] [InnerProductSpace 𝕜 B] [One A] [One B] {F : Type u_8} [FunLike F A B] [LinearMapClass F 𝕜 A B] [OneHomClass F A B] {f : F} (hf : Isometry f) (x : A) :
                            inner (f x) 1 = inner x 1
                            theorem QuantumGraph.Real.upsilon_starAlgEquiv_conj_eq {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] {f : A →ₗ[] A} (gns : k A = 0) (gns₂ : k B = 0) (hf : QuantumGraph.Real A f) {φ : A ≃⋆ₐ[] B} (hφ : Isometry φ) :
                            let u := QuantumGraph.Real.upsilonOrthonormalBasis gns hf; let b := onb; let a := fun (x : TensorProduct A A) (i : n A × n A) => (x.of_orthonormalBasis_prod b b i).1; φ.toLinearMap ∘ₗ f ∘ₗ LinearMap.adjoint φ.toLinearMap = (∑ i : Fin (Module.finrank (QuantumGraph.Real.upsilonSubmodule gns hf)), j : n A × n A, p : n A × n A, (inner (φ (a (↑(u i)) p)) 1 * inner (φ (b p.2)) 1) ((rankOne ) (φ (b j.2))) ((modAut (-1)) (star (φ (a (↑(u i)) j)))))
                            theorem LinearMapClass.apply_rankOne_apply {E₁ : Type u_5} {E₂ : Type u_6} {E₃ : Type u_7} {𝕜 : Type u_8} [RCLike 𝕜] [NormedAddCommGroup E₁] [NormedAddCommGroup E₂] [NormedAddCommGroup E₃] [InnerProductSpace 𝕜 E₁] [InnerProductSpace 𝕜 E₂] [InnerProductSpace 𝕜 E₃] {F : Type u_9} [FunLike F E₁ E₃] [LinearMapClass F 𝕜 E₁ E₃] (x : E₁) (y : E₂) (z : E₂) (u : F) :
                            u ((((rankOne 𝕜) x) y) z) = (((rankOne 𝕜) (u x)) y) z
                            theorem Upsilon_apply_comp {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] {C : Type u_5} {D : Type u_6} [starAlgebra C] [QuantumSet C] [starAlgebra D] [QuantumSet D] {f : A →ₗ[] B} {g : D →ₗ[] C} (x : C →ₗ[] A) (hcd : k C = k D) (h : (modAut (k C + 1)).toLinearMap ∘ₗ g = g ∘ₗ (modAut (k D + 1)).toLinearMap) :
                            Upsilon (f ∘ₗ x ∘ₗ g) = (TensorProduct.map ((symmMap C D).symm g) f) (Upsilon x)
                            theorem TensorProduct.toIsBimoduleMap_comp {R : Type u_5} {H₁ : Type u_6} {H₂ : Type u_7} {H₃ : Type u_8} {H₄ : Type u_9} [CommSemiring R] [Semiring H₁] [Semiring H₂] [Semiring H₃] [Semiring H₄] [Algebra R H₁] [Algebra R H₂] [Algebra R H₃] [Algebra R H₄] {f : H₁ ≃ₐ[R] H₃} {g : H₂ ≃ₐ[R] H₄} {x : TensorProduct R H₁ H₂} :
                            (TensorProduct.toIsBimoduleMap ((AlgEquiv.TensorProduct.map f g) x)) = (AlgEquiv.TensorProduct.map f g).toLinearMap ∘ₗ (TensorProduct.toIsBimoduleMap x) ∘ₗ (AlgEquiv.TensorProduct.map f.symm g.symm).toLinearMap
                            theorem QuantumGraph.Real.upsilon_starAlgEquiv_conj_submodule {A : Type u_3} {B : Type u_4} [ha : starAlgebra A] [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] {f : A →ₗ[] A} (gns : k A = 0) (gns₂ : k B = 0) (hf : QuantumGraph.Real A f) {φ : A ≃⋆ₐ[] B} (hφ : Isometry φ) :
                            theorem PhiMap.apply_real {B : Type u_4} [hb : starAlgebra B] [hB : QuantumSet B] (gns : k B = 0) (A : B →ₗ[] B) :
                            (PhiMap A.real) = LinearMap.adjoint (PhiMap A)
                            theorem PhiMap_rankOne {B : Type u_4} [hb : starAlgebra B] [hB : QuantumSet B] (x : B) (y : B) :
                            (PhiMap (((rankOne ) x) y)) = TensorProduct.map (LinearMap.adjoint (rmul y)) (lmul x)
                            theorem LinearMap.real_zero {B : Type u_4} [hb : starAlgebra B] [hB : QuantumSet B] :
                            theorem lTensor_counit_PhiMap_rTensor_algebraLinearMap {B : Type u_4} [hb : starAlgebra B] [hB : QuantumSet B] (x : B →ₗ[] B) :
                            (modAut (-k B)).toLinearMap ∘ₗ (TensorProduct.rid B) ∘ₗ LinearMap.lTensor B Coalgebra.counit ∘ₗ (PhiMap x) ∘ₗ LinearMap.rTensor B (Algebra.linearMap B) ∘ₗ (TensorProduct.lid B).symm ∘ₗ (modAut (k B)).toLinearMap = (symmMap B B) x
                            Equations
                            • QuantumGraph.NumOfEdges = { toFun := fun (f : A →ₗ[] A) => inner 1 (f 1), map_add' := , map_smul' := }
                            Instances For