PhysLean Documentation

PhysLean.Relativity.Tensors.Tree.NodeIdentities.ContrSwap

Swapping indices in a contraction #

Swapping the indices in a single contraction.

def TensorTree.ContrPair.swapI {S : TensorSpecies} {n : } {c : Fin n.succ.succS.C} (q : ContrPair c) :

On swapping the indices of a contraction (notionally (i, j) vs (j, i)), this is the new i index.

Equations
Instances For
    def TensorTree.ContrPair.swapJ {S : TensorSpecies} {n : } {c : Fin n.succ.succS.C} (q : ContrPair c) :

    On swapping the indices of a contraction (notionally (i, j) vs (j, i)), this is the new j index.

    Equations
    Instances For
      def TensorTree.ContrPair.swap {S : TensorSpecies} {n : } {c : Fin n.succ.succS.C} (q : ContrPair c) :

      The ContrPair corresponding to swapping the indices, notionally (i, j) vs (j, i).

      Equations
      Instances For
        theorem TensorTree.ContrPair.swapI_color {S : TensorSpecies} {n : } {c : Fin n.succ.succS.C} (q : ContrPair c) :
        c q.swapI = S.τ (c q.i)
        theorem TensorTree.ContrPair.swap_swap {S : TensorSpecies} {n : } {c : Fin n.succ.succS.C} (q : ContrPair c) :
        q.swap.swap = q

        The homomorphism one must apply on swapping indices in a contraction.

        Equations
        Instances For
          @[simp]
          theorem TensorTree.ContrPair.contr_swap {S : TensorSpecies} {n : } {c : Fin n.succ.succS.C} (q : ContrPair c) (t : TensorTree S c) :
          (contr q.i q.j t).tensor = (perm q.contrSwapHom (contr q.swapI q.swapJ t)).tensor
          theorem TensorTree.contr_swap {S : TensorSpecies} {n : } {c : Fin n.succ.succS.C} {i : Fin n.succ.succ} {j : Fin n.succ} (hij : c (i.succAbove j) = S.τ (c i)) (t : TensorTree S c) :
          (contr i j hij t).tensor = (perm { i := i, j := j, h := hij }.contrSwapHom (contr { i := i, j := j, h := hij }.swapI { i := i, j := j, h := hij }.swapJ t)).tensor

          Swapping the nodes of a contraction.