Documentation

LeanPool.Monlib4.LinearAlgebra.QuantumSet.Basic

Quantum Sets #

This file ports the structural core of upstream Monlib.LinearAlgebra.QuantumSet.Basic: star algebras with modular automorphisms, inner-product algebras, quantum sets, the base quantum set on , modular inner-product identities, the coalgebra comultiplication on , and the Psi/Upsilon equivalences used by downstream quantum-graph files.

class starAlgebra (A : Type u_1) extends Ring A, Algebra A, StarRing A, StarModule A :
Type u_1

A star algebra over equipped with a real-parameter modular automorphism group.

Instances
    @[simp]
    theorem starAlgebra.modAut_zero {A : Type u_1} [hA : starAlgebra A] :
    modAut 0 = 1
    @[simp]
    theorem starAlgebra.modAut_apply_modAut {A : Type u_1} [ha : starAlgebra A] (t r : ) (a : A) :
    (modAut t) ((modAut r) a) = (modAut (t + r)) a
    @[simp]
    theorem starAlgebra.modAut_symm {A : Type u_1} [ha : starAlgebra A] (r : ) :
    class InnerProductAlgebra (A : Type u_1) [starAlgebra A] extends Norm A, MetricSpace A, Inner A :
    Type u_1

    A star algebra whose ring additive group carries a compatible complex inner product.

    Instances
      @[implicit_reducible]
      Equations
      @[implicit_reducible]
      Equations
      @[implicit_reducible]
      Equations
      @[implicit_reducible]
      Equations
      • One or more equations did not get rendered due to their size.
      class QuantumSet (A : Type u_2) [ha : starAlgebra A] extends InnerProductAlgebra A :
      Type (max (u_1 + 1) u_2)

      A finite-dimensional quantum set with a modular automorphism and fixed orthonormal basis.

      Instances
        instance n_isFinite {A : Type u_1} [ha : starAlgebra A] [QuantumSet A] :
        Finite (n A)

        The fixed basis index type of a quantum set is finite.

        instance QuantumSet.toFinite {A : Type u_1} [ha : starAlgebra A] [hA : QuantumSet A] :

        A quantum set is finite-dimensional over via its fixed orthonormal basis.

        theorem QuantumSet.modAut_apply_modAut {A : Type u_1} [ha : starAlgebra A] (t r : ) (a : A) :
        (modAut t) ((modAut r) a) = (modAut (t + r)) a

        Alias of starAlgebra.modAut_apply_modAut.

        theorem QuantumSet.inner_conj {A : Type u_1} [ha : starAlgebra A] [QuantumSet A] (a b : A) :
        inner a b = inner (star b) ((modAut (-(2 * k A) - 1)) (star a))
        theorem QuantumSet.inner_conj' {A : Type u_1} [ha : starAlgebra A] [QuantumSet A] (a b : A) :
        inner a b = inner ((modAut (-(2 * k A) - 1)) (star b)) (star a)
        theorem QuantumSet.inner_modAut_right_conj {A : Type u_1} [ha : starAlgebra A] [QuantumSet A] (a b : A) :
        inner a ((modAut (-k A)) (star b)) = inner b ((modAut (-k A - 1)) (star a))
        theorem QuantumSet.inner_conj'' {A : Type u_1} [ha : starAlgebra A] [QuantumSet A] (a b : A) :
        inner a b = inner ((modAut ((-(2 * k A) - 1) / 2)) (star b)) ((modAut ((-(2 * k A) - 1) / 2)) (star a))
        @[implicit_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        @[implicit_reducible]
        Equations
        • One or more equations did not get rendered due to their size.
        @[implicit_reducible]
        noncomputable instance Complex.quantumSet :
        Equations
        • One or more equations did not get rendered due to their size.
        theorem RCLike.inner_tmul {𝕜 : Type u_2} [RCLike 𝕜] (x y z w : 𝕜) :
        inner 𝕜 (x ⊗ₜ[𝕜] y) (z ⊗ₜ[𝕜] w) = inner 𝕜 (x * y) (z * w)
        theorem TensorProduct.singleton_tmul {R : Type u_2} {E : Type u_3} {F : Type u_4} [CommSemiring R] [AddCommGroup E] [Module R E] [AddCommGroup F] [Module R F] (x : TensorProduct R E F) (b₁ : Module.Basis (Fin 1) R E) (b₂ : Module.Basis (Fin 1) R F) :
        ∃ (a : E) (b : F), x = a ⊗ₜ[R] b
        theorem RCLike.inner_tensor_apply {𝕜 : Type u_2} [RCLike 𝕜] (x y : TensorProduct 𝕜 𝕜 𝕜) :
        inner 𝕜 x y = inner 𝕜 ((LinearMap.mul' 𝕜 𝕜) x) ((LinearMap.mul' 𝕜 𝕜) y)

        Modular automorphisms preserve the coalgebra structure of a quantum set.

        @[reducible]
        noncomputable instance QuantumSet.isFrobeniusAlgebra {A : Type u_1} [ha : starAlgebra A] [QuantumSet A] :

        A quantum set carries the Frobenius algebra structure induced by its coalgebra.

        Equations
        theorem lmul_adjoint {B : Type u_2} [hb : starAlgebra B] [hB : QuantumSet B] (a : B) :
        theorem QuantumSet.inner_eq_counit' {B : Type u_2} [hb : starAlgebra B] [QuantumSet B] :
        (fun (x : B) => inner 1 x) = CoalgebraStruct.counit
        theorem QuantumSet.inner_eq_counit {B : Type u_2} [hb : starAlgebra B] [QuantumSet B] (x y : B) :
        theorem counit_mul_modAut_symm' {A : Type u_1} [ha : starAlgebra A] [hA : QuantumSet A] (a b : A) (r : ) :
        theorem rmul_adjoint {B : Type u_2} [hb : starAlgebra B] [hB : QuantumSet B] (a : B) :
        noncomputable def QuantumSet.PsiToFun {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t r : ) :

        The matrix-coordinate map used to identify linear maps with a tensor product.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem QuantumSet.PsiToFun_apply {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t r : ) (b : A) (a : B) :
          (PsiToFun t r) (((rankOne ) a) b) = (modAut t) a ⊗ₜ[] MulOpposite.op (star ((modAut r) b))
          noncomputable def QuantumSet.PsiInvFun {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t r : ) :

          The inverse coordinate map to QuantumSet.PsiToFun.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem QuantumSet.PsiInvFun_apply {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t r : ) (x : A) (y : Bᵐᵒᵖ) :
            (PsiInvFun t r) (x ⊗ₜ[] y) = (((rankOne ) ((modAut (-t)) x)) ((modAut (-r)) (star (MulOpposite.unop y))))
            theorem QuantumSet.Psi_left_inv {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t r : ) (x : B) (y : A) :
            (PsiInvFun t r) ((PsiToFun t r) (((rankOne ) x) y)) = (((rankOne ) x) y)
            theorem QuantumSet.Psi_right_inv {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t r : ) (x : B) (y : Aᵐᵒᵖ) :
            (PsiToFun t r) ((PsiInvFun t r) (x ⊗ₜ[] y)) = x ⊗ₜ[] y
            noncomputable def QuantumSet.Psi {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t r : ) :

            The linear equivalence between maps and tensors used in the quantum-set formalism.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For
              @[simp]
              theorem QuantumSet.Psi_symm_apply {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t r : ) (x : TensorProduct B Aᵐᵒᵖ) :
              (Psi t r).symm x = (PsiInvFun t r) x
              @[simp]
              theorem QuantumSet.Psi_apply {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (t r : ) (x : A →ₗ[] B) :
              (Psi t r) x = (PsiToFun t r) x
              theorem LinearMap.adjoint_real_eq {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (f : A →ₗ[] B) :
              theorem rankOne_real {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [hB : QuantumSet B] (a : A) (b : B) :
              (↑(((rankOne ) a) b)).real = (((rankOne ) (star a)) ((modAut (-(2 * k B) - 1)) (star b)))
              theorem QuantumSet.counit_tensor_star_left_eq_bra {A : Type u_1} [ha : starAlgebra A] [QuantumSet A] (x : A) :
              (CoalgebraStruct.counit (LinearMap.mul' A) fun (x_1 : A) => (modAut (-k A)) (star x) ⊗ₜ[] x_1) = ((bra ) x)
              theorem QuantumSet.mul_comp_tensor_left_unit_eq_ket {A : Type u_1} [ha : starAlgebra A] [QuantumSet A] (x : A) :
              (LinearMap.mul' A) (fun (x_1 : A) => x ⊗ₜ[] x_1) (Algebra.linearMap A) = ((ket ) x)
              theorem ket_real {𝕜 : Type u_3} {A : Type u_4} [RCLike 𝕜] [NormedAddCommGroup A] [InnerProductSpace 𝕜 A] [StarAddMonoid A] [StarModule 𝕜 A] (x : A) :
              (↑((ket 𝕜) x)).real = ((ket 𝕜) (star x))
              theorem bra_real {A : Type u_1} [ha : starAlgebra A] [hA : QuantumSet A] (x : A) :
              (↑((bra ) x)).real = ((bra ) ((modAut (-(2 * k A) - 1)) (star x)))
              theorem ket_toMatrix {𝕜 : Type u_3} {A : Type u_4} [RCLike 𝕜] [NormedAddCommGroup A] [InnerProductSpace 𝕜 A] {ι : Type u_5} [Finite ι] (b : Module.Basis ι 𝕜 A) (x : A) :
              theorem bra_toMatrix {𝕜 : Type u_3} {A : Type u_4} [RCLike 𝕜] [NormedAddCommGroup A] [InnerProductSpace 𝕜 A] {ι : Type u_5} [Fintype ι] [DecidableEq ι] (b : OrthonormalBasis ι 𝕜 A) (x : A) :
              theorem lmul_toMatrix_apply {n : Type u_3} [Fintype n] [DecidableEq n] (x : n) (i j : n) :
              theorem rankOne_trace {𝕜 : Type u_3} {A : Type u_4} [RCLike 𝕜] [NormedAddCommGroup A] [InnerProductSpace 𝕜 A] [Module.Finite 𝕜 A] (x y : A) :
              (LinearMap.trace 𝕜 A) (((rankOne 𝕜) x) y) = inner 𝕜 y x
              theorem LinearMap.apply_eq_id {R : Type u_3} {M : Type u_4} [Semiring R] [AddCommMonoid M] [Module R M] {f : M →ₗ[R] M} :
              (∀ (x : M), f x = x) f = 1
              theorem QuantumSet.starAlgEquiv_is_isometry_tfae {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] (f : A ≃⋆ₐ[] B) :
              [LinearMap.adjoint f.toLinearMap = f.symm.toLinearMap, ∀ (x y : A), inner (f x) (f y) = inner x y, ∀ (x : A), f x = x, Isometry f].TFAE
              theorem QuantumSet.starAlgEquiv_isometry_iff_coalgHom {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [hA : QuantumSet A] [hB : QuantumSet B] (gns₁ : k A = 0) (gns₂ : k B = 0) {f : A ≃⋆ₐ[] B} :
              theorem StarAlgEquiv.isReal {R : Type u_3} {A : Type u_4} {B : Type u_5} [Semiring R] [AddCommMonoid A] [AddCommMonoid B] [Mul A] [Mul B] [Module R A] [Module R B] [Star A] [Star B] (f : A ≃⋆ₐ[R] B) :
              theorem AlgEquiv.linearMap_comp_eq_iff {R : Type u_3} {E₁ : Type u_4} {E₂ : Type u_5} {E₃ : Type u_6} [CommSemiring R] [Semiring E₁] [Semiring E₂] [AddCommMonoid E₃] [Algebra R E₁] [Algebra R E₂] [Module R E₃] (f : E₁ ≃ₐ[R] E₂) (x : E₂ →ₗ[R] E₃) (y : E₁ →ₗ[R] E₃) :
              theorem AlgEquiv.comp_linearMap_eq_iff {R : Type u_3} {E₁ : Type u_4} {E₂ : Type u_5} {E₃ : Type u_6} [CommSemiring R] [Semiring E₁] [Semiring E₂] [AddCommMonoid E₃] [Algebra R E₁] [Algebra R E₂] [Module R E₃] (f : E₁ ≃ₐ[R] E₂) (x : E₃ →ₗ[R] E₁) (y : E₃ →ₗ[R] E₂) :
              theorem QuantumSet.starAlgEquiv_commutes_with_modAut_of_isometry {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] {f : A ≃⋆ₐ[] B} (hf : Isometry f) :
              (modAut (2 * k A + 1)).trans f.toAlgEquiv = f.toAlgEquiv.trans (modAut (2 * k B + 1))
              theorem QuantumSet.Psi_apply_one_one {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] (t r : ) :
              (Psi t r) (((rankOne ) 1) 1) = 1
              theorem QuantumSet.Psi_symm_apply_one {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] (t r : ) :
              (Psi t r).symm 1 = (((rankOne ) 1) 1)
              @[reducible, inline]
              noncomputable abbrev Upsilon {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] :

              The Psi equivalence with tensor factors swapped back from the opposite space.

              Equations
              Instances For
                theorem Upsilon_symm_apply {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] (a✝ : TensorProduct A B) :
                theorem Upsilon_apply {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] (x : A →ₗ[] B) :
                theorem Upsilon_apply_one_one {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] :
                Upsilon (((rankOne ) 1) 1) = 1
                theorem Upsilon_symm_apply_one {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] :
                Upsilon.symm 1 = (((rankOne ) 1) 1)
                theorem map_op_comul_one_eq_Psi {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] (f : A →ₗ[] B) :
                theorem tenSwap_apply_lTensor {R : Type u_3} {A : Type u_4} {B : Type u_5} {C : Type u_6} [CommSemiring R] [AddCommMonoid A] [AddCommMonoid C] [Module R A] [AddCommMonoid B] [Module R B] [Module R C] (f : B →ₗ[R] C) (x : TensorProduct R A Bᵐᵒᵖ) :
                theorem Upsilon_rankOne {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] (a : A) (b : B) :
                Upsilon (((rankOne ) a) b) = (modAut (-k B - 1)) (star b) ⊗ₜ[] a
                theorem Upsilon_symm_tmul {A : Type u_1} [ha : starAlgebra A] {B : Type u_2} [hb : starAlgebra B] [QuantumSet A] [QuantumSet B] (a : A) (b : B) :
                Upsilon.symm (a ⊗ₜ[] b) = (((rankOne ) b) ((modAut (-k A - 1)) (star a)))