feat: Make MulActionTensor

This commit is contained in:
jstoobysmith 2024-07-30 07:51:07 -04:00
parent 99f4e85839
commit a65fb06605
11 changed files with 177 additions and 55 deletions

View file

@ -4,7 +4,8 @@ Released under Apache 2.0 license as described in the file LICENSE.
Authors: Joseph Tooby-Smith
-/
import HepLean.SpaceTime.LorentzVector.Contraction
import HepLean.SpaceTime.LorentzTensor.Basic
import HepLean.SpaceTime.LorentzVector.LorentzAction
import HepLean.SpaceTime.LorentzTensor.MulActionTensor
/-!
# Real Lorentz tensors
@ -85,4 +86,15 @@ def realLorentzTensor (d : ) : TensorStructure where
| realTensor.ColorType.up => asProdLorentzVector_contr_asCovariantProdLorentzVector
| realTensor.ColorType.down => asProdCovariantLorentzVector_contr_asProdLorentzVector
/-- The action of the Lorentz group on real Lorentz tensors. -/
instance : MulActionTensor (LorentzGroup d) (realLorentzTensor d) where
repColorModule μ :=
match μ with
| .up => LorentzVector.rep
| .down => CovariantLorentzVector.rep
contrDual_inv μ _ :=
match μ with
| .up => TensorProduct.ext' (fun _ _ => LorentzVector.contrUpDown_invariant_lorentzAction)
| .down => TensorProduct.ext' (fun _ _ => LorentzVector.contrDownUp_invariant_lorentzAction)
end