feat: Add real lorentz tensors
This commit is contained in:
parent
44b26efdaf
commit
99f4e85839
13 changed files with 602 additions and 48 deletions
88
HepLean/SpaceTime/LorentzTensor/Real/Basic.lean
Normal file
88
HepLean/SpaceTime/LorentzTensor/Real/Basic.lean
Normal file
|
@ -0,0 +1,88 @@
|
|||
/-
|
||||
Copyright (c) 2024 Joseph Tooby-Smith. All rights reserved.
|
||||
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
|
||||
/-!
|
||||
|
||||
# Real Lorentz tensors
|
||||
|
||||
-/
|
||||
noncomputable section
|
||||
|
||||
open TensorProduct
|
||||
open minkowskiMatrix
|
||||
namespace realTensor
|
||||
|
||||
variable {d : ℕ}
|
||||
/-!
|
||||
|
||||
## Definitions and lemmas needed to define a `LorentzTensorStructure`
|
||||
|
||||
-/
|
||||
inductive ColorType
|
||||
| up
|
||||
| down
|
||||
|
||||
end realTensor
|
||||
|
||||
open realTensor
|
||||
|
||||
/-! TODO: Set up the notation `𝓛𝓣ℝ` or similar. -/
|
||||
/-- The `LorentzTensorStructure` associated with real Lorentz tensors. -/
|
||||
def realLorentzTensor (d : ℕ) : TensorStructure ℝ where
|
||||
Color := ColorType
|
||||
ColorModule μ :=
|
||||
match μ with
|
||||
| .up => LorentzVector d
|
||||
| .down => CovariantLorentzVector d
|
||||
τ μ :=
|
||||
match μ with
|
||||
| .up => .down
|
||||
| .down => .up
|
||||
τ_involutive μ :=
|
||||
match μ with
|
||||
| .up => rfl
|
||||
| .down => rfl
|
||||
colorModule_addCommMonoid μ :=
|
||||
match μ with
|
||||
| .up => instAddCommMonoidLorentzVector d
|
||||
| .down => instAddCommMonoidCovariantLorentzVector d
|
||||
colorModule_module μ :=
|
||||
match μ with
|
||||
| .up => instModuleRealLorentzVector d
|
||||
| .down => instModuleRealCovariantLorentzVector d
|
||||
contrDual μ :=
|
||||
match μ with
|
||||
| .up => LorentzVector.contrUpDown
|
||||
| .down => LorentzVector.contrDownUp
|
||||
contrDual_symm μ :=
|
||||
match μ with
|
||||
| .up => by
|
||||
intro x y
|
||||
simp only [LorentzVector.contrDownUp, Equiv.cast_refl, Equiv.refl_apply, LinearMap.coe_comp,
|
||||
LinearEquiv.coe_coe, Function.comp_apply, comm_tmul]
|
||||
| .down => by
|
||||
intro x y
|
||||
simp only [LorentzVector.contrDownUp, LinearMap.coe_comp, LinearEquiv.coe_coe, Function.comp_apply,
|
||||
comm_tmul, Equiv.cast_refl, Equiv.refl_apply]
|
||||
unit μ :=
|
||||
match μ with
|
||||
| .up => LorentzVector.unitUp
|
||||
| .down => LorentzVector.unitDown
|
||||
unit_lid μ :=
|
||||
match μ with
|
||||
| .up => LorentzVector.unitUp_lid
|
||||
| .down => LorentzVector.unitDown_lid
|
||||
metric μ :=
|
||||
match μ with
|
||||
| realTensor.ColorType.up => asProdLorentzVector
|
||||
| realTensor.ColorType.down => asProdCovariantLorentzVector
|
||||
metric_dual μ :=
|
||||
match μ with
|
||||
| realTensor.ColorType.up => asProdLorentzVector_contr_asCovariantProdLorentzVector
|
||||
| realTensor.ColorType.down => asProdCovariantLorentzVector_contr_asProdLorentzVector
|
||||
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue