feat: gamma anticommutator and slash of Lorentz vector#1206
Draft
wdconinc wants to merge 1 commit into
Draft
Conversation
Contributor
|
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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).