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,1=1,2,2=1,3,3=1,realobjects=ℏ,κ,m__e,x,y,z,spacetimeindices=lowercaselatin
Next, we set the quantum Hermitian operators (not Z, we derive that property for it further below) and related commutators:
the dimensionless potential V = 1r is assumed to commute with position, not with momentum - the commutation rule with pk is derived further below;
the commutator rules between position Xn on the one hand, and linear pk and angular momentum Lk on the other hand, are the departure point, entered using the inert form of the Commutator command. Tensors are indexed using the standard Maple notation for indexation, [].
Setupquantumoperators=Z,hermitianoperators = V,H,L,X,p,algebrarules= %Commutatorpk,pl=0, %CommutatorXk,pl=ⅈ⋅ℏ⋅g_k,l, %CommutatorLj, Lk = ⅈ⋅ℏ⋅LeviCivitaj, k, n⋅Ln, %Commutatorpj,Lk=ⅈ⋅ℏ⋅LeviCivitaj, k, n⋅pn, %CommutatorXj,Lk=ⅈ⋅ℏ⋅LeviCivitaj, k, n⋅Xn, %CommutatorXk,VX=0
algebrarules=Lj,Lk−=ⅈ⁢ℏ⁢εj,k,n⁢Ln,pj,Lk−=ⅈ⁢ℏ⁢εj,k,n⁢pn,pk,pl−=0,Xj,Lk−=ⅈ⁢ℏ⁢εj,k,n⁢Xn,Xk,pl−=ⅈ⁢ℏ⁢gk,l,Xk,V⁡X−=0,hermitianoperators=H,L,V,p,x,y,z,quantumoperators=H,L,V,Z,p,x,y,z
Define the tensor quantum operators representing the linear momentum, angular momentum and the Runge-Lenz vectors
Definepk,Lk,Zk,quiet
γa,Lk,σa,Zk,∂a,ga,b,pk,εa,b,c,Xa
For readability, avoid redundant display of functionality
CompactDisplayV,GX
V⁡X⁢will now be displayed as⁢V
G⁡X⁢will now be displayed as⁢G
The Hamiltonian for the hydrogen atom is entered as
H=pl22⋅m__e−κ⋅VX
H=pl22⁢m__e−κ⁢V
Definition of V(X) and related identities
We use the dimensionless potential V⁡X
VX=1Xl212
V=Xl2−12
The gradient of V⁡X is
d_n
∂n⁡V=−Xl2−32⁢Xn
where we note that all these commands (including product and power), distribute over equations. So that
subsrhs=lhs3,
∂n⁡V=−V3⁢Xn
Equivalently, from (50) one can deduce V3⁢Xl2=V that will be used afterwards
rhs=lhsVX32
V3⁢Xl2=V
The commutation rules between linear and angular momentum and of the potential V(X)
By definition
Lq = LeviCivitaq,m,n⋅Xm ⋅pn
Lq=εm,n,q⁢Xm⁢pn
so, since the system knows about Xk,V⁡X−=0, we get
Commutator,VX
Lq,V−=εm,n,q⁢Xm⁢pn,V−
To derive the value of pn,V−, as usual in paper and pencil computations we set pn as a differentialoperator and introduce an arbitrary test function GX
Setupdifferentialoperators=pk,x,y,z
differentialoperators=pk,X
Applying now to G⁡X the differential operator pn found in the commutator of the right-hand side of (55)
lhs=Library:-ApplyProductsOfDifferentialOperators@rhs⋅GX
Lq,V−⁢G=εm,n,q⁢Xm⁢pn⁡V⁢G−V⁢pn⁡G
where ApplyProductsOfDifferentialOperators is a command of the Physics:-Library. The result of plG⁡X is not known to the system at this point. Define then an explicit representation for pn as the differential operator in configuration space pn=−i ℏ ∂n
p ≔ u → −i ℏ⋅d_opprocnameu
p≔u↦−ⅈ⁢ℏ⁢∂op⁡procname⁡u
where in the above opprocname represents the index with which the differential operator pn is called.With this definition, the right-hand side of (57) automatically evaluates to
Lq,V−⁢G=−ⅈ⁢εm,n,q⁢ℏ⁢Xm⁢∂n⁡V⁢G
So that using (52)≡∂n⁡V=−V3⁢Xn and multiplying by G⁡X−1,
SubstituteTensor,⋅GX−1
Lq,V−=ⅈ⁢εm,n,q⁢ℏ⁢Xm⁢V3⁢Xn
from where we get the first commutation rule:
Lq,V−=0
Likewise, from the inert = active form of pq,V⁡X−
%Commutator=Commutatorpq,VX
pq,V−=pq,V−
by applying this equation to the test function GX we get
pq,V−⁢G=−ⅈ⁢ℏ⁢∂q⁡V⁢G
pq,V−=ⅈ⁢ℏ⁢V3⁢Xq
In the same way, for pq,V3− we get
%Commutator=Commutatorpq,VX3
pq,V3−=pq,V3−
pq,V3−⁢G=−ⅈ⁢ℏ⁢∂q⁡V⁢V2+V⁢∂q⁡V⁢V+V2⁢∂q⁡V⁢G
pq,V3−=ⅈ⁢ℏ⁢V3⁢Xq⁢V2+V4⁢Xq⁢V+V5⁢Xq
lhs=Simplify@rhs
pq,V3−=3⁢ⅈ⁢ℏ⁢V5⁢Xq
Adding now these new commutation rules to the setup of the problem, they will be taken into account in subsequent uses of Simplify
,,
Lq,V−=0,pq,V−=ⅈ⁢ℏ⁢V3⁢Xq,pq,V3−=3⁢ⅈ⁢ℏ⁢V5⁢Xq
Setup
algebrarules=Lj,Lk−=ⅈ⁢ℏ⁢εj,k,n⁢Ln,Lq,V−=0,pj,Lk−=ⅈ⁢ℏ⁢εj,k,n⁢pn,pk,pl−=0,pq,V−=ⅈ⁢ℏ⁢V3⁢Xq,pq,V3−=3⁢ⅈ⁢ℏ⁢V5⁢Xq,Xj,Lk−=ⅈ⁢ℏ⁢εj,k,n⁢Xn,Xk,pl−=ⅈ⁢ℏ⁢gk,l,Xk,V−=0
Undo differentialoperators to work using two different approaches, with and without them.
Setupdifferentialoperators=none
differentialoperators=none
Commutation rules between the Hamiltonian and each of the angular momentum and Runge-Lenz tensors
Departing from the Hamiltonian (49)≡H=⁢pl22 m__e−κ⁢V and the definition of angular momentum (54)≡Lq=εm,n,q⁢Xm⁢pn, by taking their commutator we get
Commutator,
H,Lq−=−ⅈ⁢εm,n,q⁢ℏ⁢−Xm⁢V3⁢Xn⁢κ⁢m__e+pl⁢pn⁢gl,mm__e
H,Lq−=0
That is one of the two commutators we wanted to derive. For the commutator between the Hamiltonian and Runge-Lenz tensor, start from its definition
Zk=12 m__e⋅LeviCivitaa,b,k⋅La⋅pb−pa⋅Lb+κ⋅VX⋅Xk
Zk=εa,b,k⁢La⁢pb−pa⁢Lb2⁢m__e+κ⁢V⁢Xk
This tensor is Hermitian
−Dagger
Zk−Zk†=2⁢κ⁢V⁢Xk⁢m__e−2⁢κ⁢Xk⁢V⁢m__e+εa,b,k⁢La⁢pb+Lb⁢pa−pa⁢Lb−pb⁢La2⁢m__e
Zk−Zk†=0
Since the system knows about the commutation rule between linear and angular momentum,
%Commutator = CommutatorLa, pb
La,pb−=ⅈ⁢ℏ⁢εa,b,n⁢pn
the expression (74) for Zk can be simplified
Zk=ⅈ⁢ℏ⁢pkm__e+κ⁢V⁢Xk−εa,b,k⁢pa⁢Lbm__e
and the angular momentum removed from the the right-hand side using (54)≡Lq=εm,n,q⁢Xm⁢pn, so that Zk gets expressed entirely in terms of pk, X and V
SimplifySubstituteTensor,
Zk=−ⅈ⁢ℏ⁢pk+κ⁢V⁢Xk⁢m__e−Xk⁢pm2+Xm⁢pk⁢pmm__e
Taking the commutator between (49)≡H=⁢pl22 m__e−κ⁢V, and this expression for Zk we have the starting point towards showing that H,Zk−=0
⁢2 m__eκ⁢ℏ SimplifyCommutator,
2⁢m__e⁢H,Zk−κ⁢ℏ=ℏ⁢V3⁢Xk+ℏ⁢V5⁢Xa2⁢Xk−2⁢ⅈ⁢pk⁢V+2⁢ⅈ⁢V⁢Xa⁢Xk⁢pa⁢V2−2⁢ⅈ⁢Xa⁢Xk⁢pa⁢V3+2⁢ⅈ⁢Xa2⁢pk⁢V3
In order to use the identities
, VX2⋅
V3⁢Xl2=V,V5⁢Xl2=V3
we sort the products using the ordering shown in the left-hand sides
SortProducts,VX5,VX3,Xa2
2⁢m__e⁢H,Zk−κ⁢ℏ=ℏ⁢V3⁢Xk−5⁢ℏ⁢V5⁢Xa2⁢Xk−2⁢ⅈ⁢pk⁢V+2⁢ⅈ⁢V⁢Xa⁢Xk⁢pa⁢V2−2⁢ⅈ⁢Xa⁢Xk⁢pa⁢V3+2⁢ⅈ⁢V3⁢Xa2⁢pk
SubstituteTensor,
2⁢m__e⁢H,Zk−κ⁢ℏ=−4⁢ℏ⁢V3⁢Xk−2⁢ⅈ⁢pk⁢V+2⁢ⅈ⁢V⁢Xa⁢Xk⁢pa⁢V2−2⁢ⅈ⁢Xa⁢Xk⁢pa⁢V3+2⁢ⅈ⁢V⁢pk
2⁢m__e⁢H,Zk−κ⁢ℏ=−2⁢ℏ⁢V3⁢Xk−V5⁢Xa2⁢Xk
κ⁢ℏ2⁢m__e SubstituteTensor,
H,Zk−=0
And this is the second commutator we wanted to derive.
In Maple 2021 you can compute derivatives, and functional derivatives of spinor fields and with respect to them.
For illustration purposes set an anticommutative prefix and use lowercase Latin letters to represent spinor indices
Setupanticommutativeprefix = psi, spinorindices=lowercase
anticommutativeprefix=ψ,spinorindices=lowercaselatin
Load the library of physics types
withLibrary:-PhysicsType:
Any anticommutative variable with spinor indices is now recognized by the system as a Dirac spinor
type⁡ψa,DiracSpinor
true
The conjugate, or Dagger too
type⁡ψa&conjugate0;,DiracSpinor
type⁡ψa†,DiracSpinor
To simplify expressions involving ψa using Einstein's sum rule for repeated indices, indicate to the system that ψa is a tensor
Define⁡ψa
γμ,σμ,∂μ,gμ,ν,ψa,εα,β,μ,ν
You can now compute derivatives of expressions involving spinors with respect spinors according to
%diff =diffpsia,psib
∂∂ψbψa=δa,b
%diff =diffconjugatepsia,conjugatepsib
ⅆⅆψ&conjugate0;bψ&conjugate0;a=δa,b
%diff =diffDaggerpsia,Daggerpsib
ⅆⅆψ†bψ†a=δa,b
Conjugate or Dagger functions are considered independent from the functions they are applied on
%diff =diffDaggerpsia,psib
ⅆⅆψbψ†a=0
In addition to standard derivatives, you can now compute functional derivatives with respect to spinor functions. Consider, for example, an interaction Lagrangian where ψμ,a is of anticommutative type, but now a 3/2 spinor field (with one spacetime and one spinor indices), and in the Lagrangian there is a quantum vector field Aμ
Setupcoordinates = X,Y,op = A, tensors=ψmu,a,Amu
⁢⁢Systems of spacetime coordinates are:⁢⁢⁢X=x1,x2,x3,x4,Y=y1,y2,y3,y4
coordinatesystems=X,Y,quantumoperators=A,tensors=Aμ,γμ,σμ,∂μ,gμ,ν,ψμ,a,εα,β,μ,ν,Xμ,Yμ
The Lagrangian is
L≔α⁢γ⁢μ⁢μa,i⁢γ⁢ν⁢νi,j⁢γ⁢ρ⁢ρj,b⁢ψμ,aX&conjugate0;⁢ψρ,bX⁢AνX
L≔α⁢γ⁢μ⁢μa,i⁢γ⁢ν⁢νi,j⁢γ⁢ρ⁢ρj,b⁢ψμ,a⁡X&conjugate0;⁢ψρ,b⁡X⁢Aν⁡X
In this Lagrangian, α is a coupling constant, γ⁢μ⁢μ are the Dirac matrices and ψμ,a&conjugate0;⁢ represents the Dirac conjugate of the ψμ,a spinor field. The vertex factor in the Feynman rules for this Lagrangian can now be computed using functional differentiation using the ordering the fields appear in the noncommutative product in (96), that is
%FundiffL,ψα,c⁡Y&conjugate0;, ψβ,kY,AσY = FundiffL,ψα,c⁡Y&conjugate0;, ψβ,kY,Aσ⁡Y
δδ⁢Aσ⁡Y⁡δδ⁢ψβ,k⁡Y⁡δδ⁢ψα,c⁡Y&conjugate0;⁡α⁢γ⁢μ⁢μa,i⁢γ⁢ν⁢νi,j⁢γ⁢ρ⁢ρj,b⁢ψμ,a⁡X&conjugate0;⁢ψρ,b⁡X⁢Aν⁡X=α⁢γ⁢μ⁢μa,i⁢γ⁢ν⁢νi,j⁢γ⁢ρ⁢ρj,b⁢δ4⁡x1−y1,x2−y2,x3−y3,x4−y43⁢δμαμα⁢δa,c⁢δρβρβ⁢δb,k⁢δνσνσ
Check the indices of both sides of this result
Check ,all
The products in the given expression check ok.
The repeated indices per term are: ⁢...,...,...⁢, the free indices are: ⁢...
a,b,i,j,μ,ν,ρ,c,k,~alpha,~beta,~sigma=a,b,i,j,μ,ν,ρ,c,k,~alpha,~beta,~sigma
In the following example, the scattering amplitude of a process with two incoming and outgoing particles of the ψ and A types at tree-level, the vertex factors are computed using functional differentiation as shown above in (97)
FeynmanDiagramsL,incomingparticles=ψ,A,outgoing=ψ,A,numberofloops=0,diagrams
I⁢uψα,c⁡P__1→⁢ϵAβ⁡P__2→⁢uψκ,d⁡P__3→&conjugate0;⁢ϵAλ⁡P__4→&conjugate0;⁢α2⁢γ⁢σ⁢σl,e⁢γ⁢κ⁢κd,k⁢γ⁢λ⁢λk,l⁢γ⁢α⁢αn,c⁢γ⁢τ⁢τf,m⁢γ⁢β⁢βm,n⁢gσ,τ−P__1σ+P__2σ⁢P__1τ+P__2τm__ψ2⁢P__1υ+P__2υ⁢γ⁢υ⁢υe,f+m__ψ⁢δe,f+P__1σ+P__2σ⁢δe,g3⁢m__ψ+γσe,g3⁢P__1υ+P__2υ⁢γ⁢υ⁢υg,h−m__ψ⁢δg,h⁢P__1τ+P__2τ⁢δf,hm__ψ+γτh,f⁢δ⁡−P__3⁢χ⁢χ−P__4⁢χ⁢χ+P__1⁢χ⁢χ+P__2⁢χ⁢χ8⁢π2⁢E__2⁢E__4⁢P__1ω+P__2ω⁢P__1⁢ω⁢ω+P__2⁢ω⁢ω−m__ψ2+I⁢ε+I⁢uψα,c⁡P__1→⁢ϵAβ⁡P__2→⁢uψκ,d⁡P__3→&conjugate0;⁢ϵAλ⁡P__4→&conjugate0;⁢α2⁢γ⁢σ⁢σl,e⁢γ⁢κ⁢κd,k⁢γ⁢β⁢βk,l⁢γ⁢α⁢αn,c⁢γ⁢τ⁢τf,m⁢γ⁢λ⁢λm,n⁢gσ,τ−P__1σ−P__4σ⁢P__1τ−P__4τm__ψ2⁢P__1υ−P__4υ⁢γ⁢υ⁢υe,f+m__ψ⁢δe,f+P__1σ−P__4σ⁢δe,g3⁢m__ψ+γσe,g3⁢P__1υ−P__4υ⁢γ⁢υ⁢υg,h−m__ψ⁢δg,h⁢P__1τ−P__4τ⁢δf,hm__ψ+γτh,f⁢δ⁡−P__3⁢χ⁢χ−P__4⁢χ⁢χ+P__1⁢χ⁢χ+P__2⁢χ⁢χ8⁢π2⁢E__2⁢E__4⁢P__1ω−P__4ω⁢P__1⁢ω⁢ω−P__4⁢ω⁢ω−m__ψ2+I⁢ε
It is possible to functionally differentiate a product of noncommutative functions using a different ordering than the one of the product provided that the commutation rules between the functions are known. For example, for the Lagrangian L , you can set the commutation rules for Aμ and ψα,j as follows, without indicating the functionality, so that the rules are valid in general
Setup%CommutatorAμ,Aν=0,%Commutatorψmu,a,Anu=0
algebrarules=Aμ,Aν−=0,ψμ,a,Aν−=0
Then you have, for any X or Y,
%Commutator = CommutatorAmuX, psinu,aY
Aμ⁡X,ψν,a⁡Y−=0
Avoid repeated display of functionality with
CompactDisplayA,ψX
A⁡X⁢will now be displayed as⁢A
ψ⁡X⁢will now be displayed as⁢ψ
The functional derivatives of L with regards to each of the fields
%Fundiff%L,Aα⁡Y = FundiffL,Aα⁡Y
δδ⁢Aα⁡Y⁡L=α⁢γ⁢μ⁢μa,i⁢γ⁢ν⁢νi,j⁢γ⁢ρ⁢ρj,b⁢δ4⁡x1−y1,x2−y2,x3−y3,x4−y4⁢δνανα⁢ψμ,a&conjugate0;⁢ψρ,b
%Fundiff%L,ψα,j⁡Y = FundiffL,ψα,j⁡Y
δδ⁢ψα,j⁡Y⁡L=−α⁢γ⁢μ⁢μa,i⁢γ⁢ν⁢νi,c⁢γ⁢ρ⁢ρc,b⁢δ4⁡x1−y1,x2−y2,x3−y3,x4−y4⁢δραρα⁢δb,j⁢ψμ,a&conjugate0;⁢Aν
%Fundiff%L,ψα,j⁡Y&conjugate0; = FundiffL,ψα,j⁡Y&conjugate0;
δδ⁢ψα,j⁡Y&conjugate0;⁡L=α⁢γ⁢μ⁢μa,i⁢γ⁢ν⁢νi,c⁢γ⁢ρ⁢ρc,b⁢δ4⁡x1−y1,x2−y2,x3−y3,x4−y4⁢δμαμα⁢δa,j⁢ψρ,b⁢Aν
When working with tensors in spaces where the covariant and contravariant tensor's components have a different value (the underlying metric is not Euclidean) one frequently wants to express formulations with some or all of the tensors's indices expressed either in covariant or contravariant form. In previous Maple releases, also in Maple 2021, you can raise or lower free indices multiplying by the metric and performing the contraction. That, however, involves a whole simplification process not always desired, and does not result in flipping the character of repeated indices. To handle the whole manipulation operation, in Maple 2021 there are two new commands: ToCovariant and ToContravariant.
Examples
Consider the following tensorial expression
Setupcoordinates = cartesian, tensors = Aμ
⁢⁢Systems of spacetime coordinates are:⁢⁢⁢X=x,y,z,t
coordinatesystems=X,tensors=Aμ,γμ,σμ,∂μ,gμ,ν,εα,β,μ,ν,Xμ
CompactDisplayAX
Fμ,ν = d_muAnuX − d_nuAmuX
Fμ,ν=∂μ⁡Aν−∂ν⁡Aμ
Define
Aμ,γμ,Fμ,ν,σμ,∂μ,gμ,ν,εα,β,μ,ν,Xμ
The components of Fμ,ν are
F
Fμ,ν=0A2x−A1yA3x−A1zA4x−A1tA1y−A2x0A3y−A2zA4y−A2tA1z−A3xA2z−A3y0A4z−A3tA1t−A4xA2t−A4yA3t−A4z0
New in Maple 2021: when you request the contravariant components of a tensor definition as F⁢μ,ν⁢μ,ν, the output is expressed using the contravariant components of the tensors involved, in this case A⁢μ⁢μ
F~
F⁢μ,ν⁢μ,ν=0−A⁢2⁢2x+A⁢1⁢1y−A⁢3⁢3x+A⁢1⁢1z−A⁢4⁢4x−A⁢1⁢1t−A⁢1⁢1y+A⁢2⁢2x0−A⁢3⁢3y+A⁢2⁢2z−A⁢4⁢4y−A⁢2⁢2t−A⁢1⁢1z+A⁢3⁢3x−A⁢2⁢2z+A⁢3⁢3y0−A⁢4⁢4z−A⁢3⁢3tA⁢1⁢1t+A⁢4⁢4xA⁢2⁢2t+A⁢4⁢4yA⁢3⁢3t+A⁢4⁢4z0
Consider now an expression that has free and repeated indices, for example
DefineA,B,G
B,G,Aμ,γμ,Fμ,ν,σμ,∂μ,gμ,ν,εα,β,μ,ν,Xμ
Bβ Gν,α Aα⁢Fμ,ν + Gρ,α Bα⁢Fμ,ρ Aβ
Aβ⁢Gρ,α⁢Fμρμρ⁢B⁢α⁢α+Bβ⁢Gν,α⁢A⁢α⁢α⁢Fμνμν
There are several tensors with covariant indices, and the free and repeated indices are
Check,all
α,ρ,α,ν,β,μ
where we see the free indices are μ and β, both covariant. To have all the tensors in (113) (but for the metric) with all their indices contravariant, use
ToContravariant
gβ,κ⁢B⁢κ⁢κ⁢gν,σ⁢gα,τ⁢G⁢σ,τ⁢σ,τ⁢A⁢α⁢α⁢gλ,μ⁢F⁢λ,ν⁢λ,ν+gβ,ν⁢A⁢ν⁢ν⁢gλ,ρ⁢gα,σ⁢G⁢λ,σ⁢λ,σ⁢gκ,μ⁢F⁢κ,ρ⁢κ,ρ⁢B⁢α⁢α
indets ,specindexG,A,B,F
A⁢α⁢α,A⁢ν⁢ν,B⁢α⁢α,B⁢κ⁢κ,F⁢κ,ρ⁢κ,ρ,F⁢λ,ν⁢λ,ν,G⁢λ,σ⁢λ,σ,G⁢σ,τ⁢σ,τ
Note this result is mathematically equal to (113)- all what happened in (115) is that the covariant versions were replaced by the contravariant ones at the cost of adding metric factors, so
Simplify −
Likewise,
ToCovariant
Aβ⁢Gρ,α⁢g⁢κ,ρ⁢κ,ρ⁢Fμ,κ⁢g⁢α,ν⁢α,ν⁢Bν+Bβ⁢Gν,α⁢g⁢α,κ⁢α,κ⁢Aκ⁢g⁢λ,ν⁢λ,ν⁢Fμ,λ
Aβ,Aκ,Bβ,Bν,Fκ,μ,Fλ,μ,Gν,α,Gρ,α
This type of manipulation is relevant in different contexts. For example, when computing the TensorArray of components of a tensorial expression, that result in expressed using the contravariant (or covariant) components of the tensors involved.
You can selectively apply these two commands command using its options onlytheseindices, for example to have only the index μ expressed in contravariant form use
ToContravariant,onlytheseindices=μ
Aβ⁢Gρ,α⁢gμ,ν⁢F⁢ν,ρ⁢ν,ρ⁢B⁢α⁢α+Bβ⁢Gν,α⁢A⁢α⁢α⁢gκ,μ⁢F⁢κ,ν⁢κ,ν
A similar operation, which however results in an expression that is not mathematically equal to the departing one is that where we want to flip the character of the free indices, optionally also of the repeated indices. For example, in (113) and (115) μ is covariant, but suppose we want to raise it turning it contravariant
ToContravariant ,changecharacter
* Partial match of '⁢changecharacter⁢' against keyword '⁢changecharacteroffreeindices⁢'
B⁢β⁢β⁢Gν,α⁢A⁢α⁢α⁢F⁢μ,ν⁢μ,ν+A⁢β⁢β⁢Gρ,α⁢F⁢μ,ρ⁢μ,ρ⁢B⁢α⁢α
So now the free indices μ and β are both contravariant
Check ,free
The free indices are: ⁢...
~beta,~mu
Gν,α⁢g⁢α,β⁢α,β⁢Aβ⁢Fμνμν+Gρ,α⁢Fμρμρ⁢g⁢α,ν⁢α,ν⁢Bν
Or, selectively,
ToContravariant ,changecharacter, onlytheseindices = μ
Aβ⁢Gρ,α⁢F⁢μ,ρ⁢μ,ρ⁢B⁢α⁢α+Bβ⁢Gν,α⁢A⁢α⁢α⁢F⁢μ,ν⁢μ,ν
β,~mu
Compare (124) with the different forms of the same expression
ToContravariant ,onlytheseindices=μ
ToContravariant , changecharacter,contractwiththemetric
g⁢β,ν⁢β,ν⁢g⁢κ,μ⁢κ,μ⁢Aν⁢Gρ,α⁢Fκρκρ⁢B⁢α⁢α+g⁢β,κ⁢β,κ⁢g⁢λ,μ⁢λ,μ⁢Bκ⁢Gν,α⁢A⁢α⁢α⁢Fλνλν
In spite of recent advances in General Relativity, the computation of Petrov types, Weyl scalars and canonical forms for tetrads (mappings between a general spacetime and a local Galilean system of references) continue to be key in the classification of solutions to Einstein's equations and for establishing equivalences between two given spacetimes. For these purposes, Maple's Physics includes a subpackage, Tetrads, with all the relevant related functionality.
In previous Maple releases, and also in Maple 2021, once the spacetime metric gμ,ν and the tetrad 𝔢μ,a are set (using Setup), the entering Petrov⁡ and Weylscalars returns the respective results for that metric and tetrad set. Also, a change in the signature, or using a textbook reference that shows a tetrad derived for a different signature frequently resulted in puzzling situations, where what is expected to be a tetrad does not verify the tetrad's defining equations.
Both situations are addressed in Maple 2021 so that problems with the signature are easily detected and easily corrected, and experiment with different forms of the tetrads and Weyl scalars can now all be performed without setting the tetrad.
For these purposes, in Maple 2021:
We added a a new command, WeylScalars, to the Tetrads package;
extended PetrovType and TransformTetrad to handle different forms of the tetrads even if they are not set;
extended the IsTetrad command to produce helpful and directly usable messages in the typical situation where we input what we thing is a correct tetrad, but that is true only if we change the signature or the position of the time-like component in the list of coordinates;
extended the Redefine command so that it also redefines tetrads according to indicated changes in the signature.
In a recent question in MaplePrimes, one of the spacetime (metric) solution to Einstein's equations, from chapter 27 of the book of Exact Solutions to Einstein's equations [1] was discussed. One of the issues was about computing a tetrad for the book's solution [27, 37, 1] such that the corresponding Weyl scalars are in canonical form.
The Maple 2021 developments in this area allows for clearly reviewing the problem as follows.
The starting point is this image of page 421 of the book of Exact Solutions to Einstein's equations, formulas (27.37)
Load the corresponding solution [27, 37, 1] from Maple's database of solutions to Einstein's equations
g_27,37,1
⁢⁢_______________________________________________________
⁢⁢Systems of spacetime coordinates are:⁢⁢⁢X=z,zb,r,u
⁢⁢Default differentiation variables for d_, D_ and dAlembertian are:⁢⁢⁢X=z,zb,r,u
The ⁢Robinson and Trautman (1962)⁢ metric in coordinates ⁢z,zb,r,u
Parameters: ⁢P⁡z,zb,u,H⁡X
Comments: ⁢aⅆmⅈts gⅇoⅆⅇsⅈc, shⅇarfrⅇⅇ, twⅈstfrⅇⅇ null congruⅇncⅇ, rho=-1/r=rho_b
Resetting the signature of spacetime from ⁢- - - +⁢ to ⁢+ + + -⁢ in order to match the signature in the database of metrics
Setting ⁢lowercaselatin_is⁢ letters to represent ⁢space⁢ indices
gμ,ν=0r2P⁡z,zb,u200r2P⁡z,zb,u2000000−100−1−2⁢H⁡X
CompactDisplay
H⁡X⁢will now be displayed as⁢H
P⁡z,zb,u⁢will now be displayed as⁢P
The assumptions on the metric's parameters are
AssumePz,zb,u>0, HX∷real,r≥0:
The line element is as shown in the second line of the book's image above
g_lineelement
2⁢r2⁢ⅆ⁡z⁢ⅆ⁡zbP2−2⁢ⅆ⁡r⁢ⅆ⁡u−2⁢H⁢ⅆ⁡u2
Load Tetrads
withTetrads:
Setting ⁢lowercaselatin_ah⁢ letters to represent ⁢tetrad⁢ indices
Defined as tetrad tensors ⁢see ?Physics,tetrads⁢, ⁢𝔢a,μ⁢, ⁢ηa,b⁢, ⁢γa,b,c⁢, ⁢λa,b,c
Defined as spacetime tensors representing the NP null vectors of the tetrad formalism ⁢see ?Physics,tetrads⁢, ⁢lμ⁢, ⁢nμ⁢, ⁢mμ⁢, ⁢m&conjugate0;μ
The Petrov type of this spacetime solution is
PetrovType
II
The null tetrad computed by the Maple system using a general algorithms is
Setuptetrad = null:
e_
𝔢a,μ=−I⁢rP000001H2+114HH2+114000−H2+1140−I⁢rP00
According to the help page TransformTetrad, the canonical form of the Weyl scalars for each different Petrov type is
So for type II, when the tetrad is in canonical form, we expect only Ψ__2 and Ψ__3 different from 0. For the tetrad computed automatically, however, the scalars are not in canonical form:
Weylscalars
ψ__0=−P⁢Hz,z⁢P+2⁢Hz⁢Pzr2⁢H2+1,ψ__1=−I2⁢Hr,z⁢P2⁢r−Pu,z⁢r⁢P−2⁢P2⁢Hz+Pu⁢Pz⁢rP⁢r2⁢H2+114,ψ__2=Hr,r⁢r2−2⁢Hr⁢r−2⁢Pz,zb⁢P+2⁢Pz⁢Pzb+2⁢H6⁢r2,ψ__3=0,ψ__4=0
The question is, thus, how to bring the tetrad 𝔢a,μ (equation (133)) into canonical form.
The plan for that is outlined in Chapter 7, by Chandrasekhar, page 388, of the book "General Relativity, an Einstein centenary survey", edited by S.W. Hawking and W.Israel. In brief, for Petrov type II, use a transformation of use Class2 to make Ψ0= Ψ__1=0, then a transformation of Class1 making Ψ4=0, finally use a transformation of Class3 making Ψ3=1. For an explanation of these transformations see the help page for TransformTetrad. This plan, however, is applicable if and only if the starting tetrad results in ψ__4≠0, which we see in (134) it is not the case, so we need, in addition, before applying this plan, to perform a transformation of Class1 making ψ__4≠0.
In what follows, first we use TransformTetrad with the optional argument canonicalform to perform all the calculation in one step. This problem was out of reach in previous Maple releases and is now tractable in different ways in Maple 2021.
Next, we use the prescription, step by step, as outlined in Chapter 7, by Chandrasekhar, page 388, of the book "General Relativity, an Einstein centenary survey", edited by S.W. Hawking and W.Israel. The possibility of performing a step by step computation as shown below is also new in Maple 2021, and illustrates well how to get the result exploiting the new, advanced functionality.
All the transformations performed automatically, in one go
To arrive in one go to a tetrad whose Weyl scalars are in canonical form as shown in the table above, use the optional argument canonicalform:
T__5 ≔ TransformTetradcanonicalform:
The resulting tetrad got assigned to T5 and is not displayed because of its length:
lengthT__5
56845
New in Maple 2021, the command WeylScalars can compute the Weyl scalars without having to set the tetrad (as in T5) first. That is convenient to see if the result obtained is indeed what we want, even when at this point the tetrad is different from T5:
So, instead of having to set the tetrad, this new WeylScalars directly receives T5 as an argument and performs the calculation
WeylScalarsT__5
ψ__0=0,ψ__1=0,ψ__2=Hr,r⁢r2−2⁢Hr⁢r−2⁢Pz,zb⁢P+2⁢Pz⁢Pzb+2⁢H6⁢r2,ψ__3=1,ψ__4=0
We see, comparing with the table before (134), that this is the expected form of these scalars, so T5 is indeed a tetrad in canonical form.
The transformations, step-by-step, leading to the same canonical form (137) of the Weyl scalars
In brief, the plan outlined by Chandrasekhar in Chap.7 is: for Petrov type II, use a transformation of Class2 to make Ψ0= Ψ__1=0, then a transformation of Class1 making Ψ4=0, finally use a transformation of Class3 making Ψ3=1. For an explanation of these transformations see the help page for TransformTetrad. The plan is applicable if and only if the starting tetrad results in ψ__4≠0, which we see in (137) is not the case, so we need, in addition, before following this plan, to perform a transformation of Class1 making ψ__4≠0.
It is possible to start from the tetrad (133) and the Weyl scalars (134), which however have radicals, against readability. Without loss of generality, we use instead, as departing tetrad, a version of it free of radicals as shown in the book of solutions to Einstein's equations, that is
e_a,mu=000−10rP⁡z,zb,u00rP⁡z,zb,u00000−1−H⁡X
𝔢a,μ=000−10rP00rP00000−1−H
IsTetrad
Type of tetrad: ⁢null
You can use the new WeylScalars corresponding to this book's tetrad (138), and see they are are free of radicals but not in canonical form, using
WeylScalars
ψ__0=P⁢Hz,z⁢P+2⁢Hz⁢Pzr2,ψ__1=Hr,z⁢P2⁢r−Pu,z⁢r⁢P−2⁢P2⁢Hz+Pu⁢Pz⁢r2⁢r2⁢P,ψ__2=Hr,r⁢r2−2⁢Hr⁢r−2⁢Pz,zb⁢P+2⁢Pz⁢Pzb+2⁢H6⁢r2,ψ__3=0,ψ__4=0
Set this tetrad simpler than (136) as the starting point
tetrad=1,4=−1,2,2=rP,3,1=rP,4,3=−1,4,4=−H
Step 0
Since in (140) ψ4=0 , in this step we use a transformation of Class1, that introduces a complex parameter E. To get ψ__4≠0 any value of E suffices; we use E=1
TransformTetradnullrotationwithfixedl_
I⁢rP0−I⁢E&conjugate0;−I⁢E&conjugate0;⁢H00−I−I⁢HI⁢E⁢rPI⁢E&conjugate0;⁢rP−I⁢E&conjugate0;⁢E−I⁢E&conjugate0;⁢E⁢H−I0I⁢rP−I⁢E−I⁢E⁢H
T__0 ≔ eval,E=1
T__0≔I⁢rP0−I−I⁢H00−I−I⁢HI⁢rPI⁢rP−I−I⁢H−I0I⁢rP−I−I⁢H
The new WeylScalars allows to check the transition to canonical form step by step. For example, in this step, T0 resulted in a tetrad, Ψ__4≠0 as expected
WeylScalarsT__0−1
ψ__4=2⁢Hr,z⁢P2⁢r+Hz,z⁢P3+2⁢Hz⁢Pz⁢P2+Hr,r⁢P⁢r2−4⁢P2⁢Hz−2⁢Pz,zb⁢P2+2⁢Pz⁢Pzb⁢P−2⁢Pu,z⁢r⁢P−2⁢Hr⁢P⁢r+2⁢Pu⁢Pz⁢r+2⁢H⁢Pr2⁢P
Step 1
Next is a transformation of Class__2 to make Ψ__0=0. For Petrov type II that also implies on Ψ__1=0. This transformation introduces a parameter B (see TransformTetrad) that, according to the plan outlined by Chandrasekhar, should be set as one of the two identical roots (out of four) of the principalpolynomial. To see the principal polynomial, or, directly, its roots you can use the PetrovType command:
PetrovTypeprincipalroots = 'R'
The pair of identical roots is equal to -1
R1..2
−1,−1
So the transformed tetrad T__1 , taken at B equal to this multiple root, is
T__1 ≔ evalTransformTetradT__0, nullrotationwithfixedn_,B=−1
T__1≔0−rP01000−1−rP01HrP000
Check the corresponding Weyl scalars: we now have Ψ__0=0 and Ψ__1=0
WeylScalarsT__11..2
ψ__0=0,ψ__1=0
Step 2
Next is a transformation of Class__1 that makes Ψ__4=0. This transformation introduces again a parameter E, that according to Chandrasekhar's plan can be taken equal to one of the roots of Weyl scalar Ψ__4 that corresponds to the transformed tetrad. So we need to proceed in three steps:
transform the tetrad introducing a parameter E in the tetrad's components
compute the Weyl scalars for that transformed tetrad
take Ψ__4=0 and solve for E
apply the resulting value of E to the transformed tetrad obtained in step a.
a. Transform the tetrad and for simplicity take E real
AssumeE∷real
E::real
T__2 ≔ TransformTetradT__1, nullrotationwithfixedl_
T__2≔I⁢r⁢E−1P0II⁢HI⁢rP000I⁢E⁢r⁢E−1P−I⁢rPI⁢EI⁢E⁢H−E+1I⁢E⁢rP00−I
b. Compute Ψ__4 for this tetrad
simplifyWeylScalarsT__2−1
ψ__4=r2⁢P⁢E−12⁢Hr,r−2⁢r⁢P2⁢E−1⁢Hr,z+Hz,z⁢P3−2⁢P2⁢E−12⁢Pz,zb+2⁢r⁢P⁢E−1⁢Pu,z−2⁢r⁢P⁢E−12⁢Hr+4⁢P2⁢E+Pz2−1⁢Hz+2⁢E−1⁢P⁢E−1⁢Pzb−Pu⁢r⁢Pz+H⁢P⁢E−1r2⁢P
c. Solve Ψ__4=0 discarding the case E=0 which implies on no transformation
simplifysolverhs = 0, E≠0, E,explicit1
Warning, solve may be ignoring assumptions on the input variables.
E=Hr,r⁢P⁢r2+Hr,z⁢P2⁢r−2⁢Hr⁢P⁢r−Pu,z⁢r⁢P+Pu⁢Pz⁢r−2⁢P2⁢Hz−2⁢Pz,zb⁢P2+2⁢Pz⁢Pzb⁢P+2⁢H⁢P+−P4⁢Hr,r⁢r2−2⁢Hr⁢r−2⁢Pz,zb⁢P+2⁢Pz⁢Pzb+2⁢H⁢Hz,z+Hr,z2⁢P4⁢r2+−2⁢r2⁢Pu,z⁢P3+2⁢r2⁢P2⁢Pu⁢Pz−4⁢r⁢Hz⁢P4⁢Hr,z−2⁢Hr,r⁢Hz⁢Pz⁢P3⁢r2+Pu,z2⁢P2⁢r2+−2⁢r2⁢P⁢Pu⁢Pz+4⁢r⁢Hz⁢P3⁢Pu,z+4⁢Pz,zb⁢Hz⁢Pz⁢P4+4⁢Hz2⁢P4+4⁢P2⁢Pz⁢Hr⁢P⁢r−Pz⁢Pzb⁢P−Pu⁢r−H⁢P⁢Hz+Pu2⁢Pz2⁢r2P⁢Hr,r⁢r2−2⁢Hr⁢r−2⁢Pz,zb⁢P+2⁢Pz⁢Pzb+2⁢H
d. Apply this result to the tetrad (150). In doing so, do not display the result, just measure its length (corresponds to two+ pages)
T__3 ≔ simplifyevalT__2,1:
lengthT__3
12553
Check the first two and the last scalars, we expect Ψ__0=Ψ__1=Ψ__4=0
WeylScalarsT__3:%1..2, %−1
ψ__0=0,ψ__1=0,ψ__4=0
Step 3
Use a transformation of Class3 making Ψ3=1. Such a transformation (see TransformTetrad) changes Ψ3 '=A⁢ⅇ−I⁢Ω⁢Ψ3, where we need to take A⁢ⅇ−I⁢Ω=1Ψ__3, and without loss of generality we can take Ω=0. Check first the value of Ψ__3 in the last tetrad computed, for that purpose you can use again the new WeylScalars without having to set anything before
WeylScalarsT__34
ψ__3=−Hr,r⁢Hz,z⁢P4⁢r2−2⁢Hr,r⁢Hz⁢Pz⁢P3⁢r2+Hr,z2⁢P4⁢r2+2⁢Hz,z⁢Hr⁢P4⁢r+2⁢Pz,zb⁢Hz,z⁢P5−2⁢Hz,z⁢Pzb⁢Pz⁢P4+4⁢Hr⁢Hz⁢Pz⁢P3⁢r+2⁢Hr,z⁢Pu⁢Pz⁢P2⁢r2+4⁢Pz,zb⁢Hz⁢Pz⁢P4−4⁢Hz⁢Pzb⁢Pz2⁢P3−4⁢Hr,z⁢Hz⁢P4⁢r−2⁢Pu,z⁢Hr,z⁢P3⁢r2−2⁢Hz,z⁢H⁢P4+Pu2⁢Pz2⁢r2−4⁢Hz⁢Pu⁢Pz⁢P2⁢r−2⁢Pu,z⁢Pu⁢Pz⁢P⁢r2−4⁢H⁢Hz⁢Pz⁢P3+4⁢Hz2⁢P4+4⁢Pu,z⁢Hz⁢P3⁢r+Pu,z2⁢P2⁢r22⁢P⁢r2
So, the transformed tetrad T__4 to which corresponds Weyl scalars in canonical form, with Ψ__0=Ψ__1=Ψ__4=0 and Ψ__3=1, is
T__4 ≔ simplifyevalTransformTetradT__3, boostsn_l_plane ,A=1rhs:
Check this result
IsTetradT__4
Compute the scalars
WeylScalarsT__4
These scalars obtained step-by-step are the same scalars computed in one go in (137)
Changing the signature and redefining tetrads
Finally, consider a change in the signature, from the current value
Setupsignature
signature=+ + + -
to (+ - - -)
Setupsignature = + - - -
signature=+ - - -
The tetrad got automatically redefined
𝔢a,μ=0rP00rP000000I⁢H2+11400−IH2+114−I⁢HH2+114
It is not equal to (138) anymore
Suppose, however, that you have not noticed that the signature is different than in the book and input this form (138). In previous Maple releases, IsTetrad will rightly tell (162) is not a tetrad because, for the signature set, (162) does not match the tetrads definition
e_definition
𝔢a,μ⁢𝔢bμbμ=ηa,b
How could you discover that the problem with (162) is just a change in the signature and the position of the time-like component? New in Maple 2021, the command IsTetrad now analyses the situation before returning false and points out the solution
Warning, the given components form a⁢null⁢tetrad, ⁢with a covariant spacetime index⁢, only if you change the signature from ⁢+ - - -⁢ to ⁢+ + + -⁢. You can do that by entering (copy and paste): ⁢Setup⁡signature=+ + + -
false
Besides resolving the problem as indicated (you my not want to change the signature), also new in Maple 2021, you can resolve the situation directly using Redefine, that now also redefines tetrads. You want to redefine (138) from the signature where it is valid, (+ + + -), to the current signature (in such a case you do not need to specify tosignature= ... )
Redefine ,fromsignature= +++ -
𝔢a,μ=00−I−I⁢H000−I0I⁢rP00I⁢rP000
IsTetrad%
This new functionality of Redefine is useful in general, and also to get a simpler tetrad (e.g. without radicals, as in the above) when you know such a simpler form for any other signature, as in this example.
One of the most important parts of the Physics project is its documentation; the illustration of the use of the package in different scenarios. The three relevant help pages for that are
The Physics,Examples
The Physics,Tensors
The Physics,Updates
For Maple 2021, the first of these pages got extended with four sections: "Vectors in Spherical Coordinates using Tensor Notation", " The equations of motion in curvilinear coordinates, tensor notation and Coriolis force", "The EnergyMomentum tensor for the Proca Lagrangian" and "The Gross-Pitaevskii field equations for a quantum system of identical particles", covering new material in Vector Analysis, Mechanics and Classical Field Theory.
A number of minor changes happened in several places of the Physics library for Maple 2021, improving performance and the computational experience.
When you set a spacetime metric,
the matrix form is now automatically shown - there is no need for additionally entering g_ to see it;
the signature in use is shown;
a kind of letter to represent spaceindices is automatically set.
Setupmetric = sc
⁢⁢Systems of spacetime coordinates are:⁢⁢⁢X=r,θ,φ,t
⁢⁢Default differentiation variables for d_, D_ and dAlembertian are:⁢⁢⁢X=r,θ,φ,t
⁢⁢The Schwarzschild metric in coordinates ⁢⁢⁢r,θ,φ,t
Parameters: ⁢m
Signature: ⁢- - - +
gμ,ν=r2⁢m−r0000−r20000−r2⁢sin⁡θ20000r−2⁢mr
metric=1,1=r2⁢m−r,2,2=−r2,3,3=−r2⁢sin⁡θ2,4,4=r−2⁢mr,spaceindices=lowercaselatin_is
Using Setup, you also have the quiet option to avoid verbosity and reproduce the behavior of Maple releases previous to 2021:
Setupmetric = 12,12,2,quiet
metric=1,4=−1,2,3=1,4,4=−2⁢b2⁢ζ⁢ξ
Note however that, when you load a metric from the database, a change in sign of the signature happens; compare with the one displayed in black above the matrix form of gμ,νin (167) with the one set now:
Changes like this one in the signature are now always presented on the screen, unless you explicitly use the quiet option. The same display of the matrix form and signature happens when you set the metric using g_; here, e.g. min, or minkowski or Minkowski all serve the same purpose
g_mi
⁢⁢The Minkowski metric in coordinates ⁢⁢⁢v,ζ,ξ,u
Signature: ⁢+ + + -
gμ,ν=100001000010000−1
Several enhancements happened in Library:-IsTensorialSymmetric and Library:-IsTensorialAntisymmetric, making the simplification of nested tensor functions, including the non-commutative tensorial differential operators, work more efficiently and successfully - see related section above.
Independent of the above, several enhancements happened in Library:-GetTensorSymmetryProperties. Consider a typical situation, of a product of noncommutative tensorial quantum operators in a Cartesian space
CoordinatesCartesian
X
g_eu
⁢⁢The Euclidean metric in coordinates ⁢⁢⁢x,y,z,t
gμ,ν=1000010000100001
Set the coordinates as quantum operators
Setup op = X
quantumoperators=t,x,y,z
In spite of being a product of noncommutative operators, this expression has some tensorial symmetries:
Xβ⁢Xα⁢∂ν⁡∂ρ⁡f⁡X
Library:-GetTensorSymmetryProperties
1,2,3,4,∅
The above means (174) is symmetric with respect to exchange of its first and second indices, respectively α and β, and also under an exchange of ν, and ρ. Clear the setting of Xα as a noncommutative quantum operator to continue the presentation
Setupclear, op = X
quantumoperators=none
Implement tensorial equation substitutions where the left-hand side is of type `+`
⁢⁢The Minkowski metric in coordinates ⁢⁢⁢x,y,z,t
DefineA,G,F,B, H
A,B,F,G,H,γμ,σμ,∂μ,gμ,ν,γi,j,Τμ,ν,εα,β,μ,ν,Xμ
Gν,α Aα⁢Fμ,ν + Gρ,α Bα⁢Fμ,ρ
Gν,α⁢A⁢α⁢α⁢Fμνμν+Gρ,α⁢Fμρμρ⁢B⁢α⁢α
In the above, F is a common tensor-factor. Consider then substituting in (179) the following subexpression of type `+`
Gα,β Aβ + Gα,β Bβ = Hα
Gα,β⁢A⁢β⁢β+Gα,β⁢B⁢β⁢β=Hα
Fμ,α⁢H⁢α⁢α
To verify this result swap left-hand side and right-hand side in (180) and substitute back into (181), removing Hα, then compare with the starting expression (179)
SubstituteTensorrhs=lhs,
Fμ,α⁢A⁢β⁢β⁢G⁢αβ⁢αβ+B⁢β⁢β⁢G⁢αβ⁢αβ
Simplify−
TensorArray now accepts a new listofequations option, consistent with the previously existing setofequations. When the left-hand side of the equations returned is matricial, then provided the dimension of the matrices can be determined, the right-hand side of the equations is the corresponding matrix of zeros.
Change default simplification in TensorArray, from do nothing to normal. This resolves the typical situation were we expect zeros in the components of tensorial expressions but those zeros are visible only after some form of simplification. You can still use the option simplifier to not have any simplification, e.g. simplifier = (u -> u).
Added the keyword freeindices in Library:-FlipCharacterOfFreeIndices, to be consistent with the implementation of that keyword in Library:-FlipCharacterOfRepeatedIndices
Greek gliphs, for example `μ` and `~μ` are now valid tensor indices like mu and ~mu. Note however that `μ` is not considered equal to mu.
Change in design: tensors that are defined using tensorial equations with tensors in the right-hand side, when their contravariant form is requested, instead of returning the covariant form multiplied by the metric to raise the indices, we now raise the indices of the tensors of the right-hand side.
Trace is now more context-intelligent: if one side of a relation (equation or inequation) is verifiable as matricial, then the other side is considered too; e.g. if the left-hand side involves Dirac spinors and the right-hand side does not, when taking the trace the right-hand side is considered multiplied by the 4x4 identity matrix. For example,
γμ,γν+=−2⁢gμ,ν
where the minus sign on the right-hand side of the algebra rule above is due to the change in sign in the signature introduced in (168),
Traceexpand
−8⁢gμ,ν=−8⁢gμ,ν
You can verify these tensorial expressions as usual using TensorArray
TensorArray expand ,matrix
* Partial match of '⁢matrix⁢' against keyword '⁢performmatrixoperations⁢'
−20000−20000−20000−2=−20000000000000000=00000000000000000=00000000000000000=00000000000000000=0−20000−20000−20000−2=−20000000000000000=00000000000000000=00000000000000000=00000000000000000=0−20000−20000−20000−2=−20000000000000000=00000000000000000=00000000000000000=00000000000000000=02000020000200002=2
where on the right-hand sides it is implicit a 4 x 4 identity matrix.
Extend the definition of the type Library:-PhysicsType:-DiracSpinor: any anticommutative prefix having at least one spinor index is considered a DiracSpinor. So it is now sufficient to have a spinor index to be considered a DiracSpinor. This change makes room for the case of mixed indices (the happen in several contexts, e.g in quantum field models with 3/2 spinor fields). To save having to type long keywords repeatedly, use macro
macroDiracSpinor = Library:-PhysicsType:-DiracSpinor:
Setupanticommutativeprefix = Q, spinorindices=lowercase_ah
anticommutativeprefix=Q,spinorindices=lowercaselatin_ah
typeQa,mu,DiracSpinor
There in one new Physics:-Library:-EqualizeRepeatedIndices, to equalize the repeated indices in different terms of tensorial expressions, as an first straightforward form of simplification. This type of equalization also frequently helps to factorize tensorial expressions. Take for instance the expression (179)
A⁢α⁢α⁢Fμνμν⁢Gν,α+Gρ,α⁢Fμρμρ⁢B⁢α⁢α
Some indices can be equalized
Library:-EqualizeRepeatedIndices
A⁢α⁢α⁢Fμνμν⁢Gν,α+Gν,α⁢Fμνμν⁢B⁢α⁢α
This result is factorizable
factor
Fμνμν⁢Gν,α⁢A⁢α⁢α+B⁢α⁢α
In Maple 2021 this new routine is automatically used by the Physics Simplify command.
Index of New Maple 2021 Features, Physics , Computer Algebra for Theoretical Physics, The Physics project, The Physics Updates
Download Help Document