Physics
Maple provides a state-of-the-art environment for algebraic computations in Physics, with emphasis on ensuring that the computational experience is as natural as possible. The theme of the Physics project for Maple 2021 has been the consolidation of the functionality introduced in previous releases, together with significant enhancements in the areas of Particle Physics, Quantum Mechanics, Tensor computations and General Relativity.
As part of its commitment to providing the best possible computational environment in Physics, Maplesoft launched a Maple Physics: Research and Development website in 2014, which enabled users to download research versions of the package, ask questions, and provide feedback. The results from this accelerated exchange have been incorporated into the Physics package in Maple 2021. The presentation below illustrates both the novelties and the kind of mathematical formulations that can now be performed.
Feynman Diagrams and Feynman Integrals
Simplification of products of Dirac matrices
Manipulation and simplification of expressions involving non-commutative tensor operators
Functional differentiation and differentiation of spinors
New commands ToCovariant and ToContravariant
Weyl scalars, Petrov types and canonical forms for tetrads
Documentation advanced examples
Miscellaneous
See Also
Feynman Diagrams are the cornerstone of calculations in particle physics (collisions involving from the proton to the Higgs boson), for example at the CERN. As an introduction for people not working in the area, see "Why Feynman Diagrams are so important". In connection, Maple 2020 presented a full rewriting of the FeynmanDiagrams command including a myriad of new capabilities.
In Maple 2021, in addition, we implemented:
New options in the FeynmanDiagrams command, to handle the typical situation where one wants to study scattering amplitudes using different gauge choices for the fields' propagators; or a generic form of a propagator, useful to perform the computation with models that require a non-standard form for them; or request that the propagators used are displayed on the screen above the returned result; or computing the amplitudes without external legs normalization factors.
A new FeynmanIntegral module to evaluate the Feynman integrals that appear in the output of the FeynmanDiagrams command, including package's commands for the basic steps involved, that is: to Parametrize or to Evaluate in one go, with different options, all the Feynman integrals found in an expression typically returned by FeynmanDiagrams.
Examples - new FeynmanDiagrams options
restart; withPhysics:
New: you can set a vector and and a mixed spacetime-spinor field (i.e. 3/2 spinor). In this example, indicate also that Aμ is massless
Setupcoordinates=X,spinorindices=lowercaselatin,anticommutativeprefix=Q,op=A,Q, massless = A,tensors=Qμ,a, Aμ
* Partial match of '⁢op⁢' against keyword '⁢quantumoperators⁢'
* Partial match of '⁢massless⁢' against keyword '⁢masslessfields⁢'
⁢⁢Systems of spacetime coordinates are:⁢⁢⁢X=x1,x2,x3,x4
_______________________________________________________
anticommutativeprefix=Q,coordinatesystems=X,masslessfields=A,quantumoperators=A,Q,spinorindices=lowercaselatin,tensors=Aμ,γμ,σμ,Qμ,a,∂μ,gμ,ν,εα,β,μ,ν,Xμ
Now write down a minimal interaction Lagrangian, similar but different from QED, for testing purposes
L≔α⁢γ⁢μ⁢μa,i⁢γ⁢ν⁢νi,j⁢γ⁢ρ⁢ρj,b⁢Qμ,a⁡X&conjugate0;⁢Qρ,b⁡X⁢Aν⁡X:
Compute the amplitude for a process where there are 1 incoming and 1 outgoing particles of the same Q kind; this is the self-energy diagram:
FeynmanDiagramsL,incomingparticles=Q,outgoing=Q,,numberofloops=1,diagrams
−∫−uQα,c⁡P__1→⁢uQβ,d⁡P__2→&conjugate0;⁢gλ,τ⁢α2⁢γ⁢κ⁢κl,e⁢γ⁢β⁢βd,k⁢γ⁢τ⁢τk,l⁢γ⁢α⁢αn,c⁢γ⁢σ⁢σf,m⁢γ⁢λ⁢λm,n⁢gκ,σ−P__1κ+p__2κ⁢P__1σ+p__2σm__Q2⁢P__1υ+p__2υ⁢γ⁢υ⁢υe,f+m__Q⁢δe,f+P__1κ+p__2κ⁢δe,g3⁢m__Q+γκe,g3⁢P__1υ+p__2υ⁢γ⁢υ⁢υg,h−m__Q⁢δg,h⁢P__1σ+p__2σ⁢δf,hm__Q+γσh,f⁢δ⁡−P__2+P__18⁢π3⁢p__22+I⁢ε⁢P__1+p__22−m__Q2+I⁢εⅆp__2 4
In this result, there are two things that are new in FeynmanDiagrams:
a) it can now handle 3/2 spinor fields, with 1 spacetime and 1 spinor indices;
b) it is now setting the gauge for the massless field Aμ in a way that can be changed.
To see all that, we implemented a new userinfo message, so that one can see, exactly, the form of the propagator being used. Set the corresponding infolevel as follows and run the computation again (skip producing the diagram's drawing)
infolevelFeynmanDiagrams ≔ 3:
FeynmanDiagramsL,incomingparticles=Q,outgoing=Q,numberofloops=1
Propagator used: ⁢Δ⁡Aλ⁡p__2,Aτ⁡−p__2=−I⁢gλ,τp__22+I⁢ε⁢
Propagator used: ⁢Δ⁡Qκ,e⁡P__1+p__2,Q1σ,f⁡−P__1−p__2=I⁢gκ,σ−P__1κ+p__2κ⁢P__1σ+p__2σm__Q2⁢P__1υ+p__2υ⁢γ⁢υ⁢υe,f+m__Q⁢δe,f+P__1κ+p__2κ⁢δe,g3⁢m__Q+γκe,g3⁢P__1υ+p__2υ⁢γ⁢υ⁢υg,h−m__Q⁢δg,h⁢P__1σ+p__2σ⁢δf,hm__Q+γσh,fP__1+p__22−m__Q2+I⁢ε⁢
In the user-information presented above in black, we see the form used for the propagator Δ⁡Qκ,e⁡P__1+p__2,Q1σ,f⁡−P__1−p__2 of the 3/2 spin Qμ,a field, and Δ⁡Aλ⁡p__2,Aτ⁡−p__2 for the Aμ field including the gauge used for it. For that, FeynmanDiagrams is now using a gauge term of the form 1−ξA⁢p__2λ⁢p__2τp__22+I⁢ε where ξA is set to 1, 0, ∞ or to ξA itself, respectively for the Feynman, Landau unitary and arbitrary gauges. By default the Feynman and unitary gauges are respectively used for massless and massive fields. For example, to run the same computation using the Landau gauge, you can use the new propagatorgauge option:
FeynmanDiagramsL,incomingparticles=Q,outgoing=Q,numberofloops=1, gauge=Landau
* Partial match of '⁢gauge⁢' against keyword '⁢propagatorgauge⁢'
Propagator used: ⁢Δ⁡Aλ⁡p__2,Aτ⁡−p__2=I⁢−gλ,τ+p__2λ⁢p__2τp__22+I⁢εp__22+I⁢ε⁢
Propagator used: ⁢Δ⁡Qκ,e⁡P__1+p__2,Q1σ,f⁡−P__1−p__2=I⁢gκ,σ−P__1κ+p__2κ⁢P__1σ+p__2σP__1+p__22+I⁢ε⁢P__1υ+p__2υ⁢γ⁢υ⁢υe,f+m__Q⁢δe,f+P__1κ+p__2κ⁢δe,g3⁢m__Q+γκe,g3⁢P__1υ+p__2υ⁢γ⁢υ⁢υg,h−m__Q⁢δg,h⁢P__1σ+p__2σ⁢δf,hm__Q+γσh,fP__1+p__22−m__Q2+I⁢ε⁢
−∫uQα,c⁡P__1→⁢uQβ,d⁡P__2→&conjugate0;⁢−gλ,τ+p__2λ⁢p__2τp__22+I⁢ε⁢α2⁢γ⁢κ⁢κl,e⁢γ⁢β⁢βd,k⁢γ⁢τ⁢τk,l⁢γ⁢α⁢αn,c⁢γ⁢σ⁢σf,m⁢γ⁢λ⁢λm,n⁢gκ,σ−P__1κ+p__2κ⁢P__1σ+p__2σP__1+p__22+I⁢ε⁢P__1υ+p__2υ⁢γ⁢υ⁢υe,f+m__Q⁢δe,f+P__1κ+p__2κ⁢δe,g3⁢m__Q+γκe,g3⁢P__1υ+p__2υ⁢γ⁢υ⁢υg,h−m__Q⁢δg,h⁢P__1σ+p__2σ⁢δf,hm__Q+γσh,f⁢δ⁡−P__2+P__18⁢π3⁢p__22+I⁢ε⁢P__1+p__22−m__Q2+I⁢εⅆp__2 4
In the user-information presented above you see the different form used for the propagator Δ⁡Aλ⁡p__2,Aτ⁡−p__2.
The arbitrary value of propagatorgauge option makes the value of ξA remain unset, so that you can set the gauge afterwards, possibly differently for each field, depending on convenience
FeynmanDiagramsL,incomingparticles=Q,outgoing=Q,numberofloops=1, gauge=arbitrary
Propagator used: ⁢Δ⁡Aλ⁡p__2,Aτ⁡−p__2=I⁢−gλ,τ+1−ξA⁢p__2λ⁢p__2τp__22+I⁢εp__22+I⁢ε⁢
Propagator used: ⁢Δ⁡Qκ,e⁡P__1+p__2,Q1σ,f⁡−P__1−p__2=I⁢gκ,σ−1−ξQ⁢P__1κ+p__2κ⁢P__1σ+p__2σP__1+p__22−ξQ⁢m__Q2+I⁢ε⁢P__1υ+p__2υ⁢γ⁢υ⁢υe,f+m__Q⁢δe,f+P__1κ+p__2κ⁢δe,g3⁢m__Q+γκe,g3⁢P__1υ+p__2υ⁢γ⁢υ⁢υg,h−m__Q⁢δg,h⁢P__1σ+p__2σ⁢δf,hm__Q+γσh,fP__1+p__22−m__Q2+I⁢ε⁢
−∫uQα,c⁡P__1→⁢uQβ,d⁡P__2→&conjugate0;⁢−gλ,τ+1−ξA⁢p__2λ⁢p__2τp__22+I⁢ε⁢α2⁢γ⁢κ⁢κl,e⁢γ⁢β⁢βd,k⁢γ⁢τ⁢τk,l⁢γ⁢α⁢αn,c⁢γ⁢σ⁢σf,m⁢γ⁢λ⁢λm,n⁢δ⁡−P__2+P__1⁢P__1υ+p__2υ⁢γ⁢υ⁢υe,f+m__Q⁢δe,f⁢gκ,σ−P__1κ+p__2κ⁢P__1σ+p__2σ⁢1−ξQ⁢P__1+p__22−ξQ⁢m__Q2+I⁢ε-1+P__1κ+p__2κ⁢δe,g3⁢m__Q+γκe,g3⁢P__1υ+p__2υ⁢γ⁢υ⁢υg,h−m__Q⁢δg,h⁢P__1σ+p__2σ⁢δf,hm__Q+γσh,f8⁢π3⁢p__22+I⁢ε⁢P__1+p__22−m__Q2+I⁢εⅆp__2 4
Note in the result above the occurrence of gauge fixing terms ξA and ξQ for each of the fields. These are implemented as FeynmanDiagrams:-xifield where field is any of A or Q. For example, you can now substitute each of them according to convenience, e.g. set the Feynman gauge for the massless field Aμ and the Landau gauge for the Qμ,a field
subsFeynmanDiagrams:-xiA=1, FeynmanDiagrams:-xiQ=0,
−∫−uQα,c⁡P__1→⁢uQβ,d⁡P__2→&conjugate0;⁢gλ,τ⁢α2⁢γ⁢κ⁢κl,e⁢γ⁢β⁢βd,k⁢γ⁢τ⁢τk,l⁢γ⁢α⁢αn,c⁢γ⁢σ⁢σf,m⁢γ⁢λ⁢λm,n⁢δ⁡−P__2+P__1⁢P__1υ+p__2υ⁢γ⁢υ⁢υe,f+m__Q⁢δe,f⁢gκ,σ−P__1κ+p__2κ⁢P__1σ+p__2σ⁢1P__1+p__22+I⁢ε+P__1κ+p__2κ⁢δe,g3⁢m__Q+γκe,g3⁢P__1υ+p__2υ⁢γ⁢υ⁢υg,h−m__Q⁢δg,h⁢P__1σ+p__2σ⁢δf,hm__Q+γσh,f8⁢π3⁢p__22+I⁢ε⁢P__1+p__22−m__Q2+I⁢εⅆp__2 4
An extra level of flexibility is given by the new option usepropagators which, when set to false, makes FeynmanDiagrams return the abstract form Δ⁡Qκ,e⁡P__1+p__2,Q1σ,f⁡−P__1−p__2 instead of any specific form for the propagator
FeynmanDiagramsL,incomingparticles=Q,outgoing=Q,numberofloops=1, usepropagators = false
−∫−uQα,c⁡P__1→⁢uQβ,d⁡P__2→&conjugate0;⁢α2⁢γ⁢κ⁢κj,e⁢γ⁢β⁢βd,i⁢γ⁢τ⁢τi,j⁢γ⁢α⁢αh,c⁢γ⁢σ⁢σf,g⁢γ⁢λ⁢λg,h⁢δ⁡−P__2+P__1⁢Δ⁡Aλ⁡p__2,Aτ⁡−p__2⁢Δ⁡Qκ,e⁡P__1+p__2,Qσ,f⁡−P__1−p__28⁢π3ⅆp__2 4
In this result, Δ⁡Aλ⁡p__2,Aτ⁡−p__2is implemented as a new FeynmanDiagrams:-Propagator function; there are two occurrences
indets,FeynmanDiagrams:-Propagatoranything,anything
Δ⁡Aλ⁡p__2,Aτ⁡−p__2,Δ⁡Qκ,e⁡P__1+p__2,Qσ,f⁡−P__1−p__2
Finally, the convention is to add a normalization factor for each external leg (incoming or outgoing particle). That external normalization depends on the spin of the field [3]. For example, in the result (7) above, that is the origin of the factor 8⁢π3 in the denominator. In some contexts, however, it is usual or convenient to compute without these normalization factors. For that purpose you can use the new option, externalnormalization = false
FeynmanDiagramsL,incomingparticles=Q,outgoing=Q,numberofloops=1, usepropagators = false,externalnormalization = false
−∫−uQα,c⁡P__1→⁢uQβ,d⁡P__2→&conjugate0;⁢α2⁢γ⁢κ⁢κj,e⁢γ⁢β⁢βd,i⁢γ⁢τ⁢τi,j⁢γ⁢α⁢αh,c⁢γ⁢σ⁢σf,g⁢γ⁢λ⁢λg,h⁢δ⁡−P__2+P__1⁢Δ⁡Aλ⁡p__2,Aτ⁡−p__2⁢Δ⁡Qκ,e⁡P__1+p__2,Qσ,f⁡−P__1−p__2ⅆp__2 4
Examples - new FeynmanIntegral module
restart;withPhysics:
Setup⁡coordinates=X,quantumoperators=φ
coordinatesystems=X,quantumoperators=φ
Let L be the interaction Lagrangian
L≔λ⁢φ⁡X3
A process with one incoming and one outgoing particle a 1-loop
FeynmanDiagrams⁡L,incomingparticles=φ,outgoingparticles=φ,numberofloops=1,diagrams
∫9⁢λ2⁢δ⁡−P__2+P__18⁢π3⁢E__1⁢E__2⁢p__22−m__φ2+I⁢ε⁢P__1+p__22−m__φ2+I⁢εⅆp__2 4
Load the package
withFeynmanIntegral
Evaluate,ExpandDimension,FromAbstractRepresentation,Parametrize,Series,SumLookup,TensorBasis,TensorReduce,ToAbstractRepresentation,ε,ϵ
Parametrize the Feynman integral (12) using Feynman parameters
Parametrize
The Evaluate command is used to evaluate Feynman integrals. In the following input, we request for the momentum integration to not be performed, receiving, basically, the result above but with the integrations over the Feynman parameters swapped with the one over momentum
Evaluate,parametrizedform
By default, however, Evaluate will perform the momentum integration ⅆp__2 4 but in in D−2⁢ϵ dimensions, so that its divergences get expressed as poles of Gamma functions, and also the Feynman parameters integration, returning a result in terms of the dimensional parameter ϵ
Evaluate
9⁢I8⁢π−1−ϵ⁢λ2⁢δ⁡−P__2+P__1⁢∑n=0∞⁡m__φ−2⁢ϵ−2⁢n⁢Γ⁡ϵ+n⁢P__12⁢n⁢Γ⁡n+1Γ⁡2⁢n+2E__1⁢E__2
To see how this integral can be evaluated step by step until arriving at this result, see the help page Evaluate. The dimensional parameter is represented by FeynmanIntegral:-varepsilon and, because the FeynmanIntegral package is loaded, you can refer to it directly as varepsilon. To expand the dimensional parameter, keeping terms up to O⁡ϵ, use
ExpandDimension
9⁢I8⁢λ2⁢δ⁡−P__2+P__1π⁢E__1⁢E__2⁢ϵ−1+−9⁢I8⁢λ2⁢δ⁡−P__2+P__1⁢γ+2⁢ln⁡m__φ−∑n=1∞⁡Γ⁡n⁢P__12⁢n⁢Γ⁡n+1m__φn2⁢Γ⁡2⁢n+2+ln⁡πE__1⁢E__2⁢π+O⁡ϵ
The same integral can be computed using alpha parameters
Evaluate,parameters = alpha
* Partial match of '⁢parameters⁢' against keyword '⁢kindofparameters⁢'
−9⁢λ2⁢δ⁡−P__2+P__1⁢−1−4⁢ϵ⁢π2−ϵ⁢∫0∞∫0∞ⅇ−2⁢I⁢m__φ2⁢α__12+I⁢2⁢α__2⁢P__12−4⁢α__2⁢m__φ2+ϵ⁢π−π⁢α__1+I⁢α__2⁢−2⁢α__2⁢m__φ2+π⁢−1+ϵ2⁢α__1+2⁢α__2⁢α__1+α__2−2+ϵⅆα__1ⅆα__28⁢π3⁢E__1⁢E__2
The Parametrize also work using the α-parameters
Parametrize,kindofparameters = alpha
References
[1] Smirnov, V.A., Feynman Integral Calculus. Springer, 2006.
[2] Weinzierl, S., The Art of Computing Loop Integrals, https://arxiv.org/abs/hep-ph/0604068v1
[3] Weinberg, S., The Quantum Theory Of Fields. Cambridge University Press, 2005.
[4] Bogoliubov, N.N., and Shirkov, D.V. Quantum Fields. Benjamin Cummings, 1982.
The simplification of products of Dirac matrices got stronger in Maple 2021 in several ways. As an example, set σμ,ν as a quantum operator (noncommutative) tensor proportional to the commutator of Dirac matrices
restart:withPhysics:
Setupop = sigma, tensors=sigmaμ,ν
quantumoperators=σ,tensors=γμ,σμ,∂μ,gμ,ν,σμ,ν,εα,β,μ,ν
Enter the definition of σ⁢μ,ν⁢μ,ν
Defineσ⁢μ,ν⁢μ,ν=I γ⁢μ⁢μ⁢γ⁢ν⁢ν−γ⁢ν⁢ν⁢γ⁢μ⁢μ⁢2
Defined objects with tensor properties
γμ,σμ,∂μ,gμ,ν,σμ,ν,εα,β,μ,ν
Consider proving the following value for the commutator σ⁢μ,ν⁢μ,ν,σ⁢α,β⁢α,β−
Commutatorσ⁢μ,ν⁢μ,ν,σ⁢α,β⁢α,β = 2 I⁢g⁢ν,α⁢ν,α⁢σ⁢μ,β⁢μ,β−g⁢μ,α⁢μ,α⁢σ⁢ν,β⁢ν,β+g⁢μ,β⁢μ,β⁢σ⁢ν,α⁢ν,α−g⁢ν,β⁢ν,β⁢σ⁢μ,α⁢μ,α
σ⁢μ,ν⁢μ,ν,σ⁢α,β⁢α,β−=2⁢I⁢g⁢α,μ⁢α,μ⁢σ⁢β,ν⁢β,ν−g⁢α,ν⁢α,ν⁢σ⁢β,μ⁢β,μ−g⁢β,μ⁢β,μ⁢σ⁢α,ν⁢α,ν+g⁢β,ν⁢β,ν⁢σ⁢α,μ⁢α,μ
Insert σ's definition in this expression
sigmadefinition
σ⁢μ,ν⁢μ,ν=I2⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν−γ⁢ν⁢ν⁢γ⁢μ⁢μ
SubstituteTensorsigmadefinition,
I2⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν−γ⁢ν⁢ν⁢γ⁢μ⁢μ,I2⁢γ⁢α⁢α⁢γ⁢β⁢β−γ⁢β⁢β⁢γ⁢α⁢α−=2⁢I⁢I⁢g⁢α,μ⁢α,μ⁢γ⁢β⁢β⁢γ⁢ν⁢ν−γ⁢ν⁢ν⁢γ⁢β⁢β2−I⁢g⁢α,ν⁢α,ν⁢γ⁢β⁢β⁢γ⁢μ⁢μ−γ⁢μ⁢μ⁢γ⁢β⁢β2−I⁢g⁢β,μ⁢β,μ⁢γ⁢α⁢α⁢γ⁢ν⁢ν−γ⁢ν⁢ν⁢γ⁢α⁢α2+I⁢g⁢β,ν⁢β,ν⁢γ⁢α⁢α⁢γ⁢μ⁢μ−γ⁢μ⁢μ⁢γ⁢α⁢α2
Expand the commutator and all the products
Expand
γ⁢β⁢β⁢γ⁢ν⁢ν⁢γ⁢α⁢α⁢γ⁢μ⁢μ2+γ⁢ν⁢ν⁢γ⁢β⁢β⁢γ⁢μ⁢μ⁢γ⁢α⁢α2−γ⁢β⁢β⁢γ⁢α⁢α⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν2+γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν2+γ⁢ν⁢ν⁢γ⁢β⁢β⁢γ⁢α⁢α⁢γ⁢μ⁢μ2+γ⁢α⁢α⁢γ⁢μ⁢μ⁢γ⁢β⁢β⁢γ⁢ν⁢ν2+γ⁢μ⁢μ⁢γ⁢α⁢α⁢γ⁢ν⁢ν⁢γ⁢β⁢β2+γ⁢μ⁢μ⁢γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢ν⁢ν2−γ⁢α⁢α⁢γ⁢ν⁢ν⁢γ⁢β⁢β⁢γ⁢μ⁢μ2−γ⁢ν⁢ν⁢γ⁢α⁢α⁢γ⁢μ⁢μ⁢γ⁢β⁢β2−γ⁢ν⁢ν⁢γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢μ⁢μ2−γ⁢μ⁢μ⁢γ⁢β⁢β⁢γ⁢ν⁢ν⁢γ⁢α⁢α2−γ⁢μ⁢μ⁢γ⁢β⁢β⁢γ⁢α⁢α⁢γ⁢ν⁢ν2−γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢ν⁢ν⁢γ⁢μ⁢μ2+γ⁢β⁢β⁢γ⁢α⁢α⁢γ⁢ν⁢ν⁢γ⁢μ⁢μ2−γ⁢β⁢β⁢γ⁢μ⁢μ⁢γ⁢α⁢α⁢γ⁢ν⁢ν2=−g⁢α,μ⁢α,μ⁢γ⁢β⁢β⁢γ⁢ν⁢ν+g⁢α,μ⁢α,μ⁢γ⁢ν⁢ν⁢γ⁢β⁢β+g⁢α,ν⁢α,ν⁢γ⁢β⁢β⁢γ⁢μ⁢μ−g⁢α,ν⁢α,ν⁢γ⁢μ⁢μ⁢γ⁢β⁢β+g⁢β,μ⁢β,μ⁢γ⁢α⁢α⁢γ⁢ν⁢ν−g⁢β,μ⁢β,μ⁢γ⁢ν⁢ν⁢γ⁢α⁢α−g⁢β,ν⁢β,ν⁢γ⁢α⁢α⁢γ⁢μ⁢μ+g⁢β,ν⁢β,ν⁢γ⁢μ⁢μ⁢γ⁢α⁢α
Proving that, in this expression, the left-hand side is equal to the right-hand side involves the simplification of sums of products of four (on the left-hand side) and of two (on the right-hand side) Dirac matrices taking into account the algebra rules they satisfy
Library:-DefaultAlgebraRulesDirac
γμ,γν+=2⁢gμ,ν
In Maple 2021, this simplification can be performed in one go by taking the left-hand side minus the right-hand side and sending that to the simplifier
Simplifylhs−rhs
0
This simplification can now also be performed in steps. Take the commutator on the left-hand side of (22)
lhs
σ⁢μ,ν⁢μ,ν,σ⁢α,β⁢α,β−
σ⁢μ,ν⁢μ,ν⁢σ⁢α,β⁢α,β−σ⁢α,β⁢α,β⁢σ⁢μ,ν⁢μ,ν
I2⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν−γ⁢ν⁢ν⁢γ⁢μ⁢μ⁢I2⁢γ⁢α⁢α⁢γ⁢β⁢β−γ⁢β⁢β⁢γ⁢α⁢α−I2⁢γ⁢α⁢α⁢γ⁢β⁢β−γ⁢β⁢β⁢γ⁢α⁢α⁢I2⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν−γ⁢ν⁢ν⁢γ⁢μ⁢μ
Although this intermediate result (30) involves products of four Dirac matrices, their combination is such that the result can be expressed in terms of products of only two of matrices
Simplify
−2⁢g⁢β,ν⁢β,ν⁢γ⁢α⁢α⁢γ⁢μ⁢μ+2⁢g⁢β,μ⁢β,μ⁢γ⁢α⁢α⁢γ⁢ν⁢ν−2⁢g⁢α,ν⁢α,ν⁢γ⁢μ⁢μ⁢γ⁢β⁢β+2⁢g⁢α,μ⁢α,μ⁢γ⁢ν⁢ν⁢γ⁢β⁢β
This result is different from the expanded form of the right-hand side of (22)
ExpandSubstituteTensorsigmadefinition,rhs
−g⁢α,μ⁢α,μ⁢γ⁢β⁢β⁢γ⁢ν⁢ν+g⁢α,μ⁢α,μ⁢γ⁢ν⁢ν⁢γ⁢β⁢β+g⁢α,ν⁢α,ν⁢γ⁢β⁢β⁢γ⁢μ⁢μ−g⁢α,ν⁢α,ν⁢γ⁢μ⁢μ⁢γ⁢β⁢β+g⁢β,μ⁢β,μ⁢γ⁢α⁢α⁢γ⁢ν⁢ν−g⁢β,μ⁢β,μ⁢γ⁢ν⁢ν⁢γ⁢α⁢α−g⁢β,ν⁢β,ν⁢γ⁢α⁢α⁢γ⁢μ⁢μ+g⁢β,ν⁢β,ν⁢γ⁢μ⁢μ⁢γ⁢α⁢α
The Simplifier, however, can not only prove that (31) - (32) is equal to zero but can also depart from (32) and arrive at (31)
That is so because, in Maple 2021, a new normal form for the ordering in products of noncommutative operators got implemented. The computation above also indicates that there are two different kinds of simplifications at work here: one that maps a sum or products of four Dirac matrices into simpler products of also four matrices, and another one that maps onto a sum of products of two Dirac matrices. To see that, consider again the expanded form (30) of the commutator σ⁢μ,ν⁢μ,ν,σ⁢α,β⁢α,β−
−γ⁢μ⁢μ⁢γ⁢ν⁢ν−γ⁢ν⁢ν⁢γ⁢μ⁢μ⁢γ⁢α⁢α⁢γ⁢β⁢β−γ⁢β⁢β⁢γ⁢α⁢α4+γ⁢α⁢α⁢γ⁢β⁢β−γ⁢β⁢β⁢γ⁢α⁢α⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν−γ⁢ν⁢ν⁢γ⁢μ⁢μ4
The default approach maps the sum of products of four Dirac matrices into products of two Dirac matrices using the algebra rules they satisfy
One can also use those algebra rules to only sort the products with some preferred ordering as pivot (new option in Simplify), resulting in products of also four matrices
Simplify,ordering=γ⁢α⁢α,γ⁢β⁢β,γ⁢μ⁢μ,γ⁢ν⁢ν
−γ⁢μ⁢μ⁢γ⁢ν⁢ν⁢γ⁢α⁢α⁢γ⁢β⁢β+γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν
This result is not just an expansion of (34),
−γ⁢μ⁢μ⁢γ⁢ν⁢ν⁢γ⁢α⁢α⁢γ⁢β⁢β4+γ⁢μ⁢μ⁢γ⁢ν⁢ν⁢γ⁢β⁢β⁢γ⁢α⁢α4+γ⁢ν⁢ν⁢γ⁢μ⁢μ⁢γ⁢α⁢α⁢γ⁢β⁢β4−γ⁢ν⁢ν⁢γ⁢μ⁢μ⁢γ⁢β⁢β⁢γ⁢α⁢α4+γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν4−γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢ν⁢ν⁢γ⁢μ⁢μ4−γ⁢β⁢β⁢γ⁢α⁢α⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν4+γ⁢β⁢β⁢γ⁢α⁢α⁢γ⁢ν⁢ν⁢γ⁢μ⁢μ4
but the result of sorting first all the products in (34), using the algebra rules γμ,γν+=2⁢gμ,ν and only then expand
SortProducts,γ⁢α⁢α,γ⁢β⁢β,γ⁢μ⁢μ,γ⁢ν⁢ν
−γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν−γ⁢β⁢β,γ⁢μ⁢μ⁢γ⁢ν⁢ν−+g⁢α,β⁢α,β⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν−g⁢μ,ν⁢μ,ν⁢g⁢α,β⁢α,β+g⁢μ,ν⁢μ,ν⁢γ⁢α⁢α⁢γ⁢β⁢β+γ⁢α⁢α,γ⁢μ⁢μ⁢γ⁢ν⁢ν−⁢γ⁢β⁢β+2⁢γ⁢α⁢α⁢γ⁢β⁢β−2⁢g⁢α,β⁢α,β⁢2⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν−2⁢g⁢μ,ν⁢μ,ν4
Proving identities is a key - sometimes, as in this case related to Dirac matrices - non-trivial operation. Another way of verifying identities like (22) is to compute all the components of the tensorial equation,
Expand@lhs − rhs
σ⁢μ,ν⁢μ,ν⁢σ⁢α,β⁢α,β−σ⁢α,β⁢α,β⁢σ⁢μ,ν⁢μ,ν−2⁢I⁢g⁢α,μ⁢α,μ⁢σ⁢β,ν⁢β,ν−g⁢α,ν⁢α,ν⁢σ⁢β,μ⁢β,μ−g⁢β,μ⁢β,μ⁢σ⁢α,ν⁢α,ν+g⁢β,ν⁢β,ν⁢σ⁢α,μ⁢α,μ
each of which is, in turn, a 4 x 4 matrix. If the identity is true, for each value of each of the four spacetime free indices α,β,μ,ν, we expect that, performing all the matricial operations, we get for result a matrix 4 x 4 matrix of zeros. That computation can be performed with TensorArray using its option performmatrixoperations
TensorArray, performmatrixoperations, output = setofequations
0000000000000000=0
So the identity is true. Note that 44=256 resulting matrices. This computation for each value of the four spacetime indices can be displayed so compactly because of using the option output = setofequations, and repeated elements in a set are automatically removed. Thus, the 256 matrices of zeros, each of which is equal to 0, appear as only one.
As a more challenging computation, less of a black box, one can express everything in (40) in terms of Dirac matrices
ExpandSubstituteTensorsigmadefinition,
−γ⁢μ⁢μ⁢γ⁢ν⁢ν⁢γ⁢α⁢α⁢γ⁢β⁢β4+γ⁢μ⁢μ⁢γ⁢ν⁢ν⁢γ⁢β⁢β⁢γ⁢α⁢α4+γ⁢ν⁢ν⁢γ⁢μ⁢μ⁢γ⁢α⁢α⁢γ⁢β⁢β4−γ⁢ν⁢ν⁢γ⁢μ⁢μ⁢γ⁢β⁢β⁢γ⁢α⁢α4+γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν4−γ⁢α⁢α⁢γ⁢β⁢β⁢γ⁢ν⁢ν⁢γ⁢μ⁢μ4−γ⁢β⁢β⁢γ⁢α⁢α⁢γ⁢μ⁢μ⁢γ⁢ν⁢ν4+γ⁢β⁢β⁢γ⁢α⁢α⁢γ⁢ν⁢ν⁢γ⁢μ⁢μ4+g⁢α,μ⁢α,μ⁢γ⁢β⁢β⁢γ⁢ν⁢ν−g⁢α,μ⁢α,μ⁢γ⁢ν⁢ν⁢γ⁢β⁢β−g⁢α,ν⁢α,ν⁢γ⁢β⁢β⁢γ⁢μ⁢μ+g⁢α,ν⁢α,ν⁢γ⁢μ⁢μ⁢γ⁢β⁢β−g⁢β,μ⁢β,μ⁢γ⁢α⁢α⁢γ⁢ν⁢ν+g⁢β,μ⁢β,μ⁢γ⁢ν⁢ν⁢γ⁢α⁢α+g⁢β,ν⁢β,ν⁢γ⁢α⁢α⁢γ⁢μ⁢μ−g⁢β,ν⁢β,ν⁢γ⁢μ⁢μ⁢γ⁢α⁢α
For each of the four values of each if the four indices α,β,μ,ν, use now the underlying Dirac matrices
Library:-RewriteInMatrixFormDgamma~
γ⁢μ⁢μ=000100100−100−1000000−I00I00I00−I0000010000−1−100001001000010000−10000−1
and compute all of the 4 x 4 x 4 x 4 matrices that result from multiplying the four and two Dirac matrices in each term of (42) (that is what TensorArray did, internally, to compute the result (41))
Significant improvements under the hood happened regarding of simplification in the presence of non-commutative tensor operators. The simplifications need to take into account commutator rules, symmetries under permutation of indices of tensorial subexpressions, and use Einstein's sum rule for repeated indices. Related to that, Maple 2021 includes relevant enhancements in the Simplify, SubstituteTensor and SortProducts commands.
With these developments in place, it is now possible, for example, to systematically derive, step-by-step, the SO(4) symmetry of the hydrogen atom and its spectrum entering only the main definition formulas, followed by only simplification commands, and without using previous knowledge of the result. A presentation of this work is now in the arXiv and is submitted for publication in the journal Computer Physics Communications as a novel way of tackling these kinds of problems using computers.
In brief, deriving the SO(4) symmetry of the hydrogen atom is about deriving the following four commutator rules between its Hamiltonian H, the angular momentum tensor Lm and the Runge-Lenz tensor Zn,
H,Ln−
=
H,Zn−
Lm,Zn−
ⅈ ℏ⁢εm,n,o⁢Zo
Zm,Zn−
−2 ⅈ ℏm__e⁢H εm,n,o⁢⁢Lo
where for hermiticity purpose Lm is defined in quantum mechanics as the symmetrized form
Z→=12 m__e L→×p→−p→×L→+κ r→r
Since H commutes with both L→ and Z→, defining
M__n=−m__e2⁢H⁢Z__n,
these commutation rules can be rewritten as
Lm,Ln−
ⅈ ℏ⁢εm,n,o⁢Lo
Lm,Mn−
ⅈ ℏ⁢εm,n,o⁢Mo
Mm,Mn−
ⅈ ℏ εm,n,o⁢⁢Lo
This set constitutes the Lie algebra of the SO(4) group. As an illustration of the computational capabilities in Maple 2021, in what follows we derive the first two of these commutators, H,Ln−=H,Zn−=0, departing from basic principles and followed by applying only a few simplification commands to equation labels.
Setting the problem
Formulating the problem requires loading the Physics package, and we set the imaginary unit to be represented by a lowercase Latin i letter instead of the default uppercase I.
restart; withPhysics:interfaceimaginaryunit = i:
The context for this problem is Cartesian coordinates and a 3D Euclidean space where all of ℏ,κ,m__e are real objects. We chose lowercase letters to represent tensor indices and the use of automatic simplification (i.e., automatically simplify the size of everything being displayed)
Setupcoordinates = cartesian, realobjects=ℏ,κ,m__e,automaticsimplification=true,dimension = 3, metric=Euclidean,spacetimeindices = lowercaselatin, quiet
automaticsimplification=true,coordinatesystems=X,dimension=3,metric=1,