PhysLean Documentation

PhysLean.Relativity.Tensors.Product

Tensors associated with a tensor species #

Product #

And its interaction with

def TensorSpecies.Tensor.ComponentIdx.prodEquiv {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} :
ComponentIdx (Sum.elim c c1 finSumFinEquiv.symm) ((i : Fin n1 Fin n2) → Fin (S.repDim (Sum.elim c c1 i)))

The equivalence between ComponentIdx (Sum.elim c c1 ∘ ⇑finSumFinEquiv.symm) and Π (i : Fin n1 ⊕ Fin n2), Fin (S.repDim (Sum.elim c c1 i)).

Equations
Instances For
    def TensorSpecies.Tensor.ComponentIdx.prod {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (b : ComponentIdx c) (b1 : ComponentIdx c1) :

    The product of two component indices.

    Equations
    Instances For
      theorem TensorSpecies.Tensor.ComponentIdx.prod_apply_finSumFinEquiv {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (b : ComponentIdx c) (b1 : ComponentIdx c1) (i : Fin n1 Fin n2) :
      b.prod b1 (finSumFinEquiv i) = match i with | Sum.inl i => Fin.cast (b i) | Sum.inr i => Fin.cast (b1 i)
      def TensorSpecies.Tensor.ComponentIdx.splitEquiv {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} :

      The equivalence between ComponentIdx (Sum.elim c c1 ∘ ⇑finSumFinEquiv.symm) and ComponentIdx c × ComponentIdx c1 formed by products.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def TensorSpecies.Tensor.Pure.prodEquiv {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} :
        Pure S (Sum.elim c c1 finSumFinEquiv.symm) ((i : Fin n1 Fin n2) → (S.FD.obj { as := Sum.elim c c1 i }).V)

        The equivalence between pure tensors based on a product of lists of indices, and the type Π (i : Fin n1 ⊕ Fin n2), S.FD.obj (Discrete.mk ((Sum.elim c c1) i)).

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          def TensorSpecies.Tensor.Pure.prodP {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (p1 : Pure S c) (p2 : Pure S c1) :

          Given two pure tensors p1 : Pure S c and p2 : Pure S c, prodP p p2 is the tensor product of those tensors returning an element in Pure S (Sum.elim c c1 ∘ ⇑finSumFinEquiv.symm).

          Equations
          Instances For
            theorem TensorSpecies.Tensor.Pure.prodP_apply_finSumFinEquiv {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (p1 : Pure S c) (p2 : Pure S c1) (i : Fin n1 Fin n2) :
            @[simp]
            theorem TensorSpecies.Tensor.Pure.prodP_apply_castAdd {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (p1 : Pure S c) (p2 : Pure S c1) (i : Fin n1) :
            @[simp]
            theorem TensorSpecies.Tensor.Pure.prodP_apply_natAdd {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (p1 : Pure S c) (p2 : Pure S c1) (i : Fin n2) :
            theorem TensorSpecies.Tensor.Pure.prodP_basisVector {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin nS.C} {c1 : Fin n1S.C} (b : ComponentIdx c) (b1 : ComponentIdx c1) :
            noncomputable def TensorSpecies.Tensor.prodEquiv {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} :

            The equivalence between the type S.F.obj (OverColor.mk (Sum.elim c c1)) and the type S.Tensor (Sum.elim c c1 ∘ ⇑finSumFinEquiv.symm).

            Equations
            Instances For
              theorem TensorSpecies.Tensor.prodEquiv_symm_pure {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (p : Pure S (Sum.elim c c1 finSumFinEquiv.symm)) :
              noncomputable def TensorSpecies.Tensor.prodT {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} :

              The tensor product of two tensors as a bi-linear map from S.Tensor c and S.Tensor c1 to S.Tensor (Sum.elim c c1 ∘ ⇑finSumFinEquiv.symm).

              Equations
              • One or more equations did not get rendered due to their size.
              Instances For
                theorem TensorSpecies.Tensor.prodT_pure {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (t : Pure S c) (t1 : Pure S c1) :
                def TensorSpecies.Tensor.prodLeftMap {n n' : } (n2 : ) (σ : Fin nFin n') :
                Fin (n + n2)Fin (n' + n2)

                Given a map σ : Fin n → Fin n', the induced map Fin (n + n2) → Fin (n' + n2).

                Equations
                Instances For
                  def TensorSpecies.Tensor.prodRightMap {n n' : } (n2 : ) (σ : Fin nFin n') :
                  Fin (n2 + n)Fin (n2 + n')

                  Given a map σ : Fin n → Fin n', the induced map Fin (n2 + n) → Fin (n2 + n').

                  Equations
                  Instances For
                    def TensorSpecies.Tensor.prodAssocMap (n1 n2 n3 : ) :
                    Fin (n1 + n2 + n3)Fin (n1 + (n2 + n3))

                    The map between Fin (n1 + n2 + n3) and Fin (n1 + (n2 + n3)) formed by casting.

                    Equations
                    Instances For
                      def TensorSpecies.Tensor.prodAssocMap' (n1 n2 n3 : ) :
                      Fin (n1 + (n2 + n3))Fin (n1 + n2 + n3)

                      The map between Fin (n1 + (n2 + n3)) and Fin (n1 + n2 + n3) formed by casting.

                      Equations
                      Instances For
                        def TensorSpecies.Tensor.prodSwapMap (n1 n2 : ) :
                        Fin (n1 + n2)Fin (n2 + n1)

                        The map between Fin (n1 + n2) and Fin (n2 + n1) formed by swapping elements.

                        Equations
                        Instances For
                          @[simp]
                          theorem TensorSpecies.Tensor.prodLeftMap_permCond {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n n' n2 : } {c : Fin nS.C} {c' : Fin n'S.C} {σ : Fin n'Fin n} (c2 : Fin n2S.C) (h : PermCond c c' σ) :
                          @[simp]
                          theorem TensorSpecies.Tensor.prodRightMap_permCond {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n n' n2 : } {c : Fin nS.C} {c' : Fin n'S.C} {σ : Fin n'Fin n} (c2 : Fin n2S.C) (h : PermCond c c' σ) :
                          @[simp]
                          theorem TensorSpecies.Tensor.prodSwapMap_permCond {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c2 : Fin n2S.C} :
                          @[simp]
                          theorem TensorSpecies.Tensor.prodAssocMap_permCond {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 n3 : } {c : Fin n1S.C} {c2 : Fin n2S.C} {c3 : Fin n3S.C} :
                          @[simp]
                          theorem TensorSpecies.Tensor.prodAssocMap'_permCond {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 n3 : } {c : Fin n1S.C} {c2 : Fin n2S.C} {c3 : Fin n3S.C} :

                          Relationships assocaited with products #

                          theorem TensorSpecies.Tensor.Pure.prodP_component {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n m : } {c : Fin nS.C} {c1 : Fin mS.C} (p : Pure S c) (p1 : Pure S c1) (b : ComponentIdx (Sum.elim c c1 finSumFinEquiv.symm)) :
                          theorem TensorSpecies.Tensor.prodT_basis_repr_apply {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n m : } {c : Fin nS.C} {c1 : Fin mS.C} (t : S.Tensor c) (t1 : S.Tensor c1) (b : ComponentIdx (Sum.elim c c1 finSumFinEquiv.symm)) :
                          @[simp]
                          theorem TensorSpecies.Tensor.Pure.prodP_equivariant {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (g : G) (p : Pure S c) (p1 : Pure S c1) :
                          (g p).prodP (g p1) = g p.prodP p1
                          @[simp]
                          theorem TensorSpecies.Tensor.prodT_equivariant {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n1 n2 : } {c : Fin n1S.C} {c1 : Fin n2S.C} (g : G) (t : S.Tensor c) (t1 : S.Tensor c1) :
                          (prodT (g t)) (g t1) = g (prodT t) t1
                          theorem TensorSpecies.Tensor.Pure.prodP_swap {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin nS.C} {c1 : Fin n1S.C} (p : Pure S c) (p1 : Pure S c1) :
                          p.prodP p1 = permP (prodSwapMap n n1) (p1.prodP p)
                          theorem TensorSpecies.Tensor.prodT_swap {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n n1 : } {c : Fin nS.C} {c1 : Fin n1S.C} (t : S.Tensor c) (t1 : S.Tensor c1) :
                          (prodT t) t1 = (permT (prodSwapMap n n1) ) ((prodT t1) t)
                          @[simp]
                          theorem TensorSpecies.Tensor.Pure.prodP_permP_left {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n2 : } {c2 : Fin n2S.C} {n n' : } {c : Fin nS.C} {c' : Fin n'S.C} (σ : Fin n'Fin n) (h : PermCond c c' σ) (p : Pure S c) (p2 : Pure S c2) :
                          (permP σ h p).prodP p2 = permP (prodLeftMap n2 σ) (p.prodP p2)
                          @[simp]
                          theorem TensorSpecies.Tensor.prodT_permT_left {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n2 : } {c2 : Fin n2S.C} {n n' : } {c : Fin nS.C} {c' : Fin n'S.C} (σ : Fin n'Fin n) (h : PermCond c c' σ) (t : S.Tensor c) (t2 : S.Tensor c2) :
                          (prodT ((permT σ h) t)) t2 = (permT (prodLeftMap n2 σ) ) ((prodT t) t2)
                          @[simp]
                          theorem TensorSpecies.Tensor.Pure.prodP_permP_right {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n2 : } {c2 : Fin n2S.C} {n n' : } {c : Fin nS.C} {c' : Fin n'S.C} (σ : Fin n'Fin n) (h : PermCond c c' σ) (p : Pure S c) (p2 : Pure S c2) :
                          p2.prodP (permP σ h p) = permP (prodRightMap n2 σ) (p2.prodP p)
                          @[simp]
                          theorem TensorSpecies.Tensor.prodT_permT_right {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n2 : } {c2 : Fin n2S.C} {n n' : } {c : Fin nS.C} {c' : Fin n'S.C} (σ : Fin n'Fin n) (h : PermCond c c' σ) (t : S.Tensor c) (t2 : S.Tensor c2) :
                          (prodT t2) ((permT σ h) t) = (permT (prodRightMap n2 σ) ) ((prodT t2) t)
                          theorem TensorSpecies.Tensor.Pure.prodP_assoc {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n n1 n2 : } {c : Fin nS.C} {c1 : Fin n1S.C} {c2 : Fin n2S.C} (p : Pure S c) (p1 : Pure S c1) (p2 : Pure S c2) :
                          (p.prodP p1).prodP p2 = permP (prodAssocMap n n1 n2) (p.prodP (p1.prodP p2))
                          theorem TensorSpecies.Tensor.prodT_assoc {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n n1 n2 : } {c : Fin nS.C} {c1 : Fin n1S.C} {c2 : Fin n2S.C} (t : S.Tensor c) (t1 : S.Tensor c1) (t2 : S.Tensor c2) :
                          (prodT ((prodT t) t1)) t2 = (permT (prodAssocMap n n1 n2) ) ((prodT t) ((prodT t1) t2))
                          theorem TensorSpecies.Tensor.Pure.prodP_assoc' {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n n1 n2 : } {c : Fin nS.C} {c1 : Fin n1S.C} {c2 : Fin n2S.C} (p : Pure S c) (p1 : Pure S c1) (p2 : Pure S c2) :
                          p.prodP (p1.prodP p2) = permP (prodAssocMap' n n1 n2) ((p.prodP p1).prodP p2)
                          theorem TensorSpecies.Tensor.prodT_assoc' {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n n1 n2 : } {c : Fin nS.C} {c1 : Fin n1S.C} {c2 : Fin n2S.C} (t : S.Tensor c) (t1 : S.Tensor c1) (t2 : S.Tensor c2) :
                          (prodT t) ((prodT t1) t2) = (permT (prodAssocMap' n n1 n2) ) ((prodT ((prodT t) t1)) t2)
                          theorem TensorSpecies.Tensor.Pure.prodP_zero_right_permCond {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n : } {c : Fin nS.C} {c1 : Fin 0S.C} :
                          theorem TensorSpecies.Tensor.Pure.prodP_zero_right {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n : } {c : Fin nS.C} {c1 : Fin 0S.C} (p : Pure S c) (p0 : Pure S c1) :
                          p.prodP p0 = permP id p
                          theorem TensorSpecies.Tensor.prodT_default_right {k G : Type} [CommRing k] [Group G] {S : TensorSpecies k G} {n : } {c : Fin nS.C} {c1 : Fin 0S.C} (t : S.Tensor c) :