feat: gamma anticommutator and slash of Lorentz vector#1206
Conversation
|
Thank you for this PR, which will now be reviewed. If you are submitting to ./PhyslibAlpha there will be a lighter review process, If you want to bring attention to this PR, please write a message on this |
| /-- Components of a Lorentz vector in the `γ0,γ1,γ2,γ3` ordering. | ||
|
|
||
| Required cast since Lorentz.Vector is Fin 1 ⊕ Fin d → ℝ, not Fin 4 → ℂ. -/ | ||
| def coord (k : Lorentz.Vector 3) : Fin 4 → ℂ := |
There was a problem hiding this comment.
You shouldn't actually need the 3 in Lorentz.Vector 3 as it should default to that value.
|
|
||
| Required cast since Lorentz.Vector is Fin 1 ⊕ Fin d → ℝ, not Fin 4 → ℂ. -/ | ||
| def coord (k : Lorentz.Vector 3) : Fin 4 → ℂ := | ||
| ![(k (Sum.inl 0) : ℂ), (k (Sum.inr 0) : ℂ), (k (Sum.inr 1) : ℂ), (k (Sum.inr 2) : ℂ)] |
There was a problem hiding this comment.
I also think the solution to this is to change the definition of gamma so it is based on Fin 1 ⊕ Fin 3 rather then Fin 4, likewise with all the occurances of Fin 4 below.
| ![(k (Sum.inl 0) : ℂ), (k (Sum.inr 0) : ℂ), (k (Sum.inr 1) : ℂ), (k (Sum.inr 2) : ℂ)] | ||
|
|
||
| /-- The Dirac slash of a Lorentz vector. -/ | ||
| def slash (k : Lorentz.Vector 3) : Matrix (Fin 4) (Fin 4) ℂ := |
There was a problem hiding this comment.
The three below lemmas can be consolidated with lifting this to a linear map.
This PR adds the gamma matrix anticommutation relation (γ^μ γ^ν + γ^ν γ^μ = 2 g^μν I_4), and the slash operator on Lorentz vectors: /a = γ^μ a_μ. Although it would be nice, there is no notation for slash included since (naturally) slash is already taken.
Reviewer map
All changes in
Physlib/Relativity/CliffordAlgebra.lean.gamma_anticommThis is proven with explicit evaluation. Since the gamma matrices are defined as explicit matrices, there's not much we can fall back on, I think. If the gamma matrices were defined using Pauli matrices, then we might be able to approach this differently by falling back to Pauli matrices anticommutators (not currently implemented).
coordandslashTo bridge the Fin 1 ⊕ Fin d → ℝ (Lorentz vectors) to Fin 4 → ℂ (gamma matrices) gap,
coorddoes the cast for d = 3.slashProdTo assist with the common occurrence of multiple (typ. 4) slash momentum products, the
slashProddefinition takes a list of Lorentz vectors, slashes them, and gives the product (left to right).Future work
The next step here is implement a theorem that extends the
gamma_anticommtoslash_anticommas well, which is relatively straightforward but gets wordier than I would like due to the same Fin 1 ⊕ Fin 3 → ℝ to Fin 4 → ℂ mismatch between Lorentz vectors, gamma matrices, and metrics. The step after that is to add the trace identities on products of slash momenta.The addition of the generalized Kronecker delta will allow for a Levi-Civita module, which can then be included here for the trace identities that have a gamma5.
AI disclosure
The initial version was written with help of AI, but it was reworked a few times (e.g. making the
gamma_anticommtheorem the basis instead of including aslash_anticommtheorem from scratch).