Physlib Documentation

Physlib.Relativity.Tensors.TensorSpecies.Basic

Tensor species #

structure TensorSpecies (k : Type) [CommRing k] (C G : Type) [Group G] (basisIdx : CType) [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] :

The structure TensorSpecies contains the necessary structure needed to define a system of tensors with index notation. Examples of TensorSpecies include real Lorentz tensors, complex Lorentz tensors, and ordinary Euclidean tensors.

Instances For

    Non-categorial constructor #

    noncomputable def TensorSpecies.ofFunctions {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (V : CType) [(c : C) → AddCommGroup (V c)] [(c : C) → Module k (V c)] (rep : (c : C) → Representation k G (V c)) (basis : (c : C) → Module.Basis (basisIdx c) k (V c)) (τ : CC) (τ_involution : Function.Involutive τ) (contr : (c : C) → ((rep c).tprod (rep (τ c))).IntertwiningMap (Representation.trivial k G k)) (unit : (c : C) → (Representation.trivial k G k).IntertwiningMap ((rep (τ c)).tprod (rep c))) (metric : (c : C) → (Representation.trivial k G k).IntertwiningMap ((rep c).tprod (rep c))) (contr_tmul_symm : ∀ (c : C) (x : V c) (y : V (τ c)), (contr c) (x ⊗ₜ[k] y) = (contr (τ c)) (y ⊗ₜ[k] (Equiv.cast ) x)) (unit_symm : ∀ (c : C), (unit c) 1 = (LinearMap.lTensor (V (τ c)) (LinearEquiv.cast )) ((TensorProduct.comm k (V (τ (τ c))) (V (τ c))) ((unit (τ c)) 1))) (contr_unit : ∀ (c : C) (x : V c), (TensorProduct.lid k (V c)) ((LinearMap.rTensor (V c) (contr c).toLinearMap) ((TensorProduct.assoc k (V c) (V (τ c)) (V c)).symm (x ⊗ₜ[k] (unit c) 1))) = x) (contr_metric : ∀ (c : C), (TensorProduct.comm k (V c) (V (τ c))) ((LinearEquiv.lTensor (V c) (TensorProduct.lid k (V (τ c)))) ((LinearMap.lTensor (V c) (LinearMap.rTensor (V (τ c)) (contr c).toLinearMap)) ((LinearMap.lTensor (V c) (TensorProduct.assoc k (V c) (V (τ c)) (V (τ c))).symm) ((TensorProduct.assoc k (V c) (V c) (TensorProduct k (V (τ c)) (V (τ c)))) ((metric c) 1 ⊗ₜ[k] (metric (τ c)) 1))))) = (unit c) 1) :
    TensorSpecies k C G basisIdx

    The creation of an element of TensorSpecies from functions rather than categorical objects.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For

      Properties of TensorSpecies #

      def TensorSpecies.basisIdxCongr {C : Type} {basisIdx : CType} {c c1 : C} (h : c = c1) :
      basisIdx c basisIdx c1

      The casting between basisIdx c and basisIdx c1.

      Equations
      Instances For
        @[simp]
        theorem TensorSpecies.basisIdxCongr_rfl {C : Type} {basisIdx : CType} (c : C) (i : basisIdx c) :
        (basisIdxCongr ) i = i
        @[simp]
        theorem TensorSpecies.basisIdxCongr_apply_apply {C : Type} {basisIdx : CType} {c c1 c2 : C} (h1 : c = c1) (h2 : c1 = c2) (i : basisIdx c) :
        @[simp]
        theorem TensorSpecies.τ_τ_apply {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) (c : C) :
        S.τ (S.τ c) = c
        theorem TensorSpecies.basis_congr {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) {c c1 : C} (h : c = c1) (i : basisIdx c) :
        theorem TensorSpecies.map_basis_eq {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) {c c1 : C} (h : c = c1) (i : basisIdx c) :
        theorem TensorSpecies.basis_congr_repr {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) {c c1 : C} (h : c = c1) (i : basisIdx c) (t : (S.FD.obj { as := c })) :
        theorem TensorSpecies.FD_map_basis {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) {c c1 : C} (h : c = c1) (i : basisIdx c) :
        theorem TensorSpecies.repr_ρ_basis_FDTransport {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) {c c₁ : C} (h : c = c₁) (g : G) (i b : basisIdx c) :
        ((S.basis c).repr (((S.FD.obj { as := c }).ρ g) ((S.basis c) b))) i = ((S.basis c₁).repr (((S.FD.obj { as := c₁ }).ρ g) ((S.basis c₁) ((basisIdxCongr ) b)))) ((basisIdxCongr ) i)

        Categorical bookkeeping: relate basis.repr of ρ g on a basis vector before and after identifying slot colors c and c₁ via Discrete.eqToHom (basis_congr_repr, Rep.hom_comm_apply, FD_map_basis chained). Not a physical statement; use for component calculations.

        noncomputable def TensorSpecies.F {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) :

        The lift of the functor S.F to functor.

        Equations
        Instances For
          theorem TensorSpecies.F_def {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) :
          @[implicit_reducible]
          noncomputable instance TensorSpecies.F_monoidal {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) :

          The functor F is monoidal.

          Equations
          @[implicit_reducible]
          noncomputable instance TensorSpecies.F_laxBraided {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) :

          The functor F is lax-braided.

          Equations
          @[implicit_reducible]
          noncomputable instance TensorSpecies.F_braided {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) :

          The functor F is braided.

          Equations
          def TensorSpecies.castToField {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] {c : C} {S : TensorSpecies k C G basisIdx} (v : ((CategoryTheory.MonoidalCategoryStruct.tensorUnit (CategoryTheory.Functor (CategoryTheory.Discrete C) (Rep k G))).obj { as := c })) :
          k

          Casts an element of the monoidal unit of Rep k G to the field k.

          Equations
          Instances For
            theorem TensorSpecies.castToField_eq_self {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] {S : TensorSpecies k C G basisIdx} {c : C} (v : ((CategoryTheory.MonoidalCategoryStruct.tensorUnit (CategoryTheory.Functor (CategoryTheory.Discrete C) (Rep k G))).obj { as := c })) :
            def TensorSpecies.castFin0ToField {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) {c : Fin 0C} :

            Casts an element of (S.F.obj (OverColor.mk c)).V for c a map from Fin 0 to an element of the field.

            Equations
            Instances For
              theorem TensorSpecies.castFin0ToField_tprod {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) {c : Fin 0C} (x : (i : Fin 0) → (S.FD.obj { as := c i })) :

              Some properties of contractions #

              theorem TensorSpecies.contr_congr {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] (S : TensorSpecies k C G basisIdx) (c c' : C) (h : c = c') (x : (S.FD.obj { as := c })) (y : (S.FD.obj { as := S.τ c })) :
              def TensorSpecies.numIndices {G k : Type} [CommRing k] {C : Type} [Group G] {basisIdx : CType} [(c : C) → Fintype (basisIdx c)] [(c : C) → DecidableEq (basisIdx c)] {S : TensorSpecies k C G basisIdx} {n : } {c : Fin nC} :

              The number of indices n from a tensor.

              Equations
              Instances For