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 2015 has been Vector Analysis, symbolic Tensor manipulations, Quantum Mechanics, and General Relativity. With more than 400 enhancements throughout the entire package to increase robustness and versatility, two new commands, Assume and SubstituteTensor, a new Tetrads subpackage with 13 commands, as well as 26 new Physics:-Library commands to support further explorations and extensions, and an enlargement of the database of solutions to Einstein's equations with more than 100 new metrics, Maple 2015 extends again the range of Physics-related algebraic computations that can be done, in a natural way, using computer algebra software.
As part of its commitment to providing the best possible environment for algebraic computations in Physics, Maplesoft launched a Maple Physics: Research and Development web site with Maple 18, which enabled users to download research versions, ask questions, and provide feedback. The results from this accelerated exchange with people around the world have been incorporated into the Physics package in Maple 2015. Examples illustrating the use of the new capabilities in the context of more general problems are found in the MaplePrimes post Computer Algebra for Theoretical Physics.
Simplification
Tensors
Tetrads in General Relativity
More Metrics in the Database of Solutions to Einstein's Equations
Commutators, AntiCommutators, and Dirac notation in quantum mechanics
New Assume command and new enhanced Mode: automaticsimplification
Vectors Package
The Physics Library
Miscellaneous
Simplification is perhaps the most common operation performed in a computer algebra system. In Physics, this typically entails simplifying tensorial expressions, or expressions involving noncommutative operators that satisfy certain commutator/anticommutator rules, or sums and integrals involving quantum operators and Dirac delta functions in the summands and integrands. Relevant enhancements were introduced in Maple 2015 for all these cases, including enhancements in the simplification of:
Products of LeviCivita tensors in curved spacetimes when LeviCivita represents the Galilean pseudo-tensor (related to Setup(levicivita = Galilean)), instead of its generalization to curved spaces (related to Setup(levicivita = nongalilean)).
Tensorial expressions in general that have spacetime, space, and/or tetrad contracted indices, possibly at the same time.
New option tryhard, that resolves zero recognition in an important number of nontrivial situations.
Expressions involving the Dirac function.
Vectorial expressions involving cylindrical or spherical coordinates and related unit vectors.
Expressions simplified with respect to side relations (equations) in the presence of quantum vectorial equations.
Expressions involving products of quantum operators entering parameterized algebra rules.
Expressions involving vectorial quantum operators simplified with respect to other vectorial equations.
Add support for the simplification and integration of spherical harmonics (SphericalY ) relevant in quantum mechanics.
Examples
Enhancements in the simplification of tensorial expressions.
restart;withPhysics: Setupnotation = true, coordinates = X
* Partial match of 'notation' against keyword 'mathematicalnotation'
* Partial match of 'coordinates' against keyword 'coordinatesystems'
Default differentiation variables for d_, D_ and dAlembertian are: X=x1,x2,x3,x4
Systems of spacetime Coordinates are: X=x1,x2,x3,x4
coordinatesystems=X,mathematicalnotation=true
Define a tensor lμX and define the metric in terms of the components of this tensor so that gμ,ν=ημ,ν+lμ⁢lν and ημ,ν is a Minkowski metric.
lμ,ημ,ν=−rhs⁡g_Minkowski
The Minkowski metric in cartesian coordinates
Defined objects with tensor properties
γμ,σμ,Xμ,∂μ,ημ,ν,gμ,ν,lμ,δμ,ν,εα,β,μ,ν
Avoid redundant display:
PDEtools:-declarelX
l⁡x1,x2,x3,x4⁢will now be displayed as⁢l
The metric:
g_mu,nu = ημ,ν+lμ⁡X⁢lν⁡X
gμ,ν=ημ,ν+lμ⁢lν
New: you can define it directly using a tensorial equation like (4), using either Define or Setup.
Define
𝒟μ,γμ,σμ,Rμ,ν,Rμ,ν,α,β,Cμ,ν,α,β,Xμ,∂μ,ημ,ν,gμ,ν,lμ,Γμ,ν,α,Gμ,ν,δμ,ν,εα,β,μ,ν
Verify the resulting gμ,ν:
g_
gμ,ν=1+l12l1⁢l2l1⁢l3l1⁢l4l1⁢l21+l22l2⁢l3l2⁢l4l1⁢l3l2⁢l31+l32l3⁢l4l1⁢l4l2⁢l4l3⁢l4−1+l42
New: you can query about the definition you gave for any tensor directly from the tensor itself.
g_definition
Enhanced simplification capabilities: show that this expression involving derivatives of lμ⁡X is equal to zero.
−d_α⁡lλ⁡X⁢η⁢α,β⁢α,β⁢d_β⁡lκ⁡X⁢l⁢κ⁢κ⁡X⁢l⁢λ⁢λ⁡X+η⁢α,β⁢α,β⁢d_β⁡lκ⁡X⁢d_λ⁡lα⁡X⁢l⁢κ⁢κ⁡X⁢l⁢λ⁢λ⁡X+d_λ⁡lκ⁡X⁢d_ρ⁡l⁢ρ⁢ρ⁡X⁢l⁢κ⁢κ⁡X⁢l⁢λ⁢λ⁡X+d_β⁡d_λ⁡lκ⁡X⁢l⁢β⁢β⁡X⁢l⁢κ⁢κ⁡X⁢l⁢λ⁢λ⁡X−12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢d_ρ⁡l⁢ρ⁢ρ⁡X⁢d_μ⁡lν⁡X−12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢l⁢ρ⁢ρ⁡X⁢d_ρ⁡d_μ⁡lν⁡X−12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢d_ρ⁡l⁢ρ⁢ρ⁡X⁢d_ν⁡lμ⁡X−12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢l⁢ρ⁢ρ⁡X⁢d_ρ⁡d_ν⁡lμ⁡X+12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢η⁢α,ρ⁢α,ρ⁢d_ρ⁡lμ⁡X⁢d_α⁡lν⁡X−12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢η⁢α,ρ⁢α,ρ⁢d_μ⁡lα⁡X⁢d_ρ⁡lν⁡X+12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢η⁢α,ρ⁢α,ρ⁢d_α⁡lμ⁡X⁢d_ρ⁡lν⁡X−12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢η⁢α,ρ⁢α,ρ⁢d_ν⁡lα⁡X⁢d_ρ⁡lμ⁡X−12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢l⁢α⁢α⁡X⁢l⁢ρ⁢ρ⁡X⁢d_ρ⁡lν⁡X⁢d_α⁡lμ⁡X+12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢l⁢α⁢α⁡X⁢l⁢ρ⁢ρ⁡X⁢d_μ⁡lα⁡X⁢d_ρ⁡lν⁡X−12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢l⁢α⁢α⁡X⁢l⁢ρ⁢ρ⁡X⁢d_ρ⁡lμ⁡X⁢d_α⁡lν⁡X+12⁢l⁢μ⁢μ⁡X⁢l⁢ν⁢ν⁡X⁢l⁢α⁢α⁡X⁢l⁢ρ⁢ρ⁡X⁢d_ν⁡lα⁡X⁢d_ρ⁡lμ⁡X
−∂α⁡lλ⁢η⁢α,β⁢α,β⁢∂β⁡lκ⁢l⁢κ⁢κ⁢l⁢λ⁢λ+η⁢α,β⁢α,β⁢∂β⁡lκ⁢∂λ⁡lα⁢l⁢κ⁢κ⁢l⁢λ⁢λ+∂λ⁡lκ⁢∂ρ⁡l⁢ρ⁢ρ⁢l⁢κ⁢κ⁢l⁢λ⁢λ+∂β⁡∂λ⁡lκ⁢l⁢β⁢β⁢l⁢κ⁢κ⁢l⁢λ⁢λ−l⁢μ⁢μ⁢l⁢ν⁢ν⁢∂ρ⁡l⁢ρ⁢ρ⁢∂μ⁡lν2−l⁢μ⁢μ⁢l⁢ν⁢ν⁢l⁢ρ⁢ρ⁢∂ρ⁡∂μ⁡lν2−l⁢μ⁢μ⁢l⁢ν⁢ν⁢∂ρ⁡l⁢ρ⁢ρ⁢∂ν⁡lμ2−l⁢μ⁢μ⁢l⁢ν⁢ν⁢l⁢ρ⁢ρ⁢∂ρ⁡∂ν⁡lμ2+l⁢μ⁢μ⁢l⁢ν⁢ν⁢η⁢α,ρ⁢α,ρ⁢∂ρ⁡lμ⁢∂α⁡lν2−l⁢μ⁢μ⁢l⁢ν⁢ν⁢η⁢α,ρ⁢α,ρ⁢∂μ⁡lα⁢∂ρ⁡lν2+l⁢μ⁢μ⁢l⁢ν⁢ν⁢η⁢α,ρ⁢α,ρ⁢∂α⁡lμ⁢∂ρ⁡lν2−l⁢μ⁢μ⁢l⁢ν⁢ν⁢η⁢α,ρ⁢α,ρ⁢∂ν⁡lα⁢∂ρ⁡lμ2−l⁢μ⁢μ⁢l⁢ν⁢ν⁢l⁢α⁢α⁢l⁢ρ⁢ρ⁢∂ρ⁡lν⁢∂α⁡lμ2+l⁢μ⁢μ⁢l⁢ν⁢ν⁢l⁢α⁢α⁢l⁢ρ⁢ρ⁢∂μ⁡lα⁢∂ρ⁡lν2−l⁢μ⁢μ⁢l⁢ν⁢ν⁢l⁢α⁢α⁢l⁢ρ⁢ρ⁢∂ρ⁡lμ⁢∂α⁡lν2+l⁢μ⁢μ⁢l⁢ν⁢ν⁢l⁢α⁢α⁢l⁢ρ⁢ρ⁢∂ν⁡lα⁢∂ρ⁡lμ2
Simplify
0
A new tryhard option significantly improves zero recognition, which also got improved regardless of the new option.
Set spacetimeindices to be represented with lowercase Latin letters to make the input simpler.
Setupspacetimeindices = lowercaselatin
spacetimeindices=lowercaselatin
DefineAa, Ba, b, Fa, b, c, Ha, b, c, d, Ja, b, c, d, e
Aa,Ba,b,𝒟μ,γμ,Fa,b,c,Ha,b,c,d,Ja,b,c,d,e,σμ,Rμ,ν,Rμ,ν,α,β,Cμ,ν,α,β,Xμ,∂μ,ημ,ν,gμ,ν,lμ,Γμ,ν,α,Gμ,ν,δμ,ν,εα,β,μ,ν
Consider the following tensorial expressions.
e__1≔Ac⁢Hd,h,c,b⁢Fh,d,f⁢Ha,e,e,f−Ah⁢Ha,c,c,f⁢Fe,d,f⁢Hd,e,h,b
e__1≔Ha,eefa,eef⁢Hd,h,c,b⁢F⁢h,d,f⁢h,d,f⁢A⁢c⁢c−Ha,ccfa,ccf⁢Hd,e,h,b⁢F⁢e,d,f⁢e,d,f⁢A⁢h⁢h
e__2≔Jf,a,b,g,c⁢Fe,f,d⁢Fe,d,g−Je,a,b,f,c⁢Fd,e,g⁢Fd,g,f
e__2≔−Je,a,b,f,c⁢Fdegdeg⁢F⁢d,g,f⁢d,g,f+Jf,a,b,g,c⁢Fe,dge,dg⁢F⁢e,f,d⁢e,f,d
e__3≔Jg,c,k,j,e⁢Hi,h,a,h⁢He,b,i,g⁢Fd,k,j−Hh,b,g,j⁢Fd,k,e⁢Jj,c,k,e,h⁢Hg,i,a,i
e__3≔−Jj,c,k,e,h⁢Hg,i,aig,i,ai⁢H⁢hbg,j⁢hbg,j⁢Fdk,edk,e+Jg,c,k,j,e⁢H⁢eb,ig⁢eb,ig⁢H⁢ih,ah⁢ih,ah⁢Fdk,jdk,j
There are two, three and four free indices, and five, four and six repeated indices respectively in each of these three expressions, e__1,e__2,e__3 (see Check).
mapu → Checku,all,quiet, e__1,e__2,e__3
c,d,e,f,h,c,d,e,f,h,a,b,d,e,f,g,d,e,f,g,a,b,c,e,g,h,i,j,k,e,g,h,i,j,k,a,b,c,d
Simplifye__1,tryhard
Simplifye__2,tryhard
Simplifye__3
Improve the simplification with respect to side relations (equations) in the presence of quantum vectorial equations.
withVectors:
Setupredo, hermitianoperators = L,r_, p_, x,y,z, p, quantumoperators = A, B
hermitianoperators=L,p,p→,r→,x,y,z,quantumoperators=A,B,L,p,p→,r→,x,y,z
The identification of the vectorial character of expressions got improved. For example, this commutator is actually a non-projected vector.
Commutatorp_·p_,r_
p→2,r→−
Identify
5
Consider an expression involving vectorial quantum operators.
interfaceimaginaryunit = i
I
_i⋅ⅈ⁢x⁢pz−ⅈ⁢z⁢px+_j⋅ⅈ⁢y⁢pz−ⅈ⁢z⁢py
i∧⁢ⅈ⁢x⁢pz−ⅈ⁢z⁢px+j∧⁢ⅈ⁢y⁢pz−ⅈ⁢z⁢py
Simplify (23) taking into account the definition of angular momentum.
y⁢pz−z⁢py=Lx,z⁢px−x⁢pz=Ly
simplify,
−ⅈ⁢i∧⁢Ly+ⅈ⁢j∧⁢Lx
Enhancements in the simplification and integration of spherical harmonics (SphericalY) relevant in quantum mechanics.
18648640⁢7293⁢ⅇ6⁢I⁢theta⁢1−cos⁡phi23⁢20270252⁢cos⁡phi2−1351352π+SphericalY8,6,phi,theta
7293⁢ⅇ6⁢ⅈ⁢θ⁢1−cos⁡φ23⁢2027025⁢cos⁡φ22−13513528648640⁢π+Y86⁡φ,θ
simplify
conjugateSphericalY8,6,phi,theta*1+1/5*sin6*theta*sin5*phi*sinphi
Y86⁡φ,θ&conjugate0;⁢1+sin⁡6⁢θ⁢sin⁡5⁢φ5⁢sin⁡φ
IntInt,theta=0..2 Pi, phi=0..Pi
∫0π∫02⁢πY86⁡φ,θ&conjugate0;⁢1+sin⁡6⁢θ⁢sin⁡5⁢φ5⁢sin⁡φⅆθⅆφ
value
−37⁢ⅈ81920⁢π32⁢7293
A number of relevant changes happened in the tensor routines of the Physics package, towards making the routines pack more functionality, the simplification more powerful, and the handling of symmetries, substitutions, and other operations more flexible and natural.
Physics now works with four kinds of Minkowski spaces (different signatures) to accommodate the typical situations seen in textbooks; to these, correspond the signatures +---, ---+, -+++ and +++-.
Allow setting the metric by specifying the signature directly, as in g_[`-`] or g_[`+---`], or Setup⁡metric=`---+` or Setup⁡gμ,ν=`---+`.
The signature keyword of the Physics Setup is now in use, to set the metric and to indicate the form of the orthonormal tetrad, in turn used to derive the form of a null tetrad.
Automatic detection of the position of t as the time variable when you set the coordinates automatically sets the signature of the default Minkowski spacetime metric accordingly to ---+ or +---.
New keywords with special meaning when indexing the Physics (also the user defined) tensors: · `~`; for example g_[`~`] returns the all-contravariant matrix form of the metric. · definition; for example Ricci[definition] returns the definition of the Ricci tensor; works also with user-defined tensors. · scalars; for example Weyl[scalars] and Ricci[scalars] return the five Weyl and seven Ricci scalars used to perform a Petrov classification and in the Newman-Penrose formalism. · scalarsdefinition, and invariantsdefinition; for example Weyl[scalarsdefinition] or Riemann[invariantsdefinition] return the corresponding definitions for the scalars and invariants. · nullvectors; for example, when the new Tetrads subpackage is loaded, e_[nullvectors] returns a sequence of null vectors with their products normalized according to the Newman-Penrose formalism. · matrix; this keyword was introduced in previous releases, and in Maple 2015 it can appear after a space index (not spacetime), in which case a matrix with only the space components is returned.
Tensorial expressions can now have spacetime indices (related to a global system of references) and tetrad indices (related to a local system of references) at the same time, or they be rewritten in one (spacetime) or the other (tetrad) frames.
The matrix keyword can be used with spacetime, space, or tetrad indices, resulting in the corresponding matrix
Implement automatic determination of symmetry under permutation of tensor indices when the tensor is defined as a matrix.
New conversions from the Weyl to the Ricci tensors, and from Weyl to the Christoffel symbols.
New option evaluatetrace = true or false within convert/Ricci, to avoid automatically evaluating the Ricci trace when performing conversions that involve this trace.
New option 'evaluate' to convert/g_, convert/Christoffel and convert/Ricci. With this option set to false, it is possible to see the algebraic form of the result (that is, of the tensors involved) before evaluating it.
The Maple 18 Library:-SubstituteTensor command, got enhanced and transformed into one of the main Physics commands, that substitutes tensorial equation(s) Eqs into an expression, taking care of the free and repeated indices, such that: 1) equations in Eqs are interpreted as mappings having the free indices as parameters, 2) repeated indices in Eqs do not clash with repeated indices in the expression and 3) spacetime, space, and tetrad indices are handled independently, so they can all be present in Eqs and in the expression at the same time. This new command can also substitute algebraic sub-expressions of type product or sum within the expression, generalizing and unifying the functionality of the subs and algsubs commands for algebraic tensor expressions.
Minkowski spacetime: four different conventions.
restart; withPhysics:CoordinatesX
X
By default, the metric has a signature - - - +, with time in the last position.
x0
x4
You can now set the signature of a Minkowski spacetime directly from the metric, or using the Setup keyword signature to use any of the four conventions frequently found in textbooks (- - - +), (+ - - -), (+++ -), and (- +++), and to indicate an Euclidean spacetime you can indicate (++++) or just +.
g_`+`
Changing the signature of the tensor spacetime to: + + + +
The Euclidean metric in coordinates x1,x2,x3,x4
g_`+++-`
The Minkowski metric, with signature + + + -, in coordinates x1,x2,x3,x4
Using Setup's signature keyword:
Setupsignature = `- +++`
signature=- + + +
The position of the different sign in a Minkowski spacetime always, either the first or the last symbol in the signature, refers to the time variable. So if you indicate t as one of the coordinates, say in the first position, and the signature is not in agreement with time in the first position, it is now automatically corrected and the metric set. For example, in this moment, due to (33), time is implicitly assumed to be in the first position; set coordinates with t in the last (fourth) position.
CoordinatesX=x,y,z,t
Detected `t`, the time variable, in position 4. Changing the signature of the spacetime metric accordingly, to: + + + -
Default differentiation variables for d_, D_ and dAlembertian are: X=x,y,z,t
Systems of spacetime Coordinates are: X=x,y,z,t
New shortcut for the matrix form of the all contravariant components of a tensor.
Since previous releases, you can always request the matrix (or array in the case of more than 2 indices) form of a tensor by adding the keyword matrix as a last index. For example, g_μ,ν,matrix . A shortcut notation for the all covariant components is to omit the indices, as in . A new shortcut notation for the all contravariant components is to pass only they tilde `~`. To see the difference, consider a non-Minkowski spacetime, for instance set it in one go via:
g_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
The all contravariant components of the metric are:
g_`~`
It is now possible to also use the keyword matrix passing only space (not spacetime) indices, resulting in a matrix with only the space components.
Setupspaceindices=lowercase_is
spaceindices=lowercaselatin_is
g_~i,~j, matrix
g⁢i,j⁢i,j=−r+2⁢mr000−1r2000−1r2⁢sin⁡θ2
All the tensor predefined in the Physics package, or defined using defining equations and the Define command, accept a new keyword, definition, that returns their definition. For example:
Riccidefinition
Rμ,ν=∂α⁡Γ⁢αμ,ν⁢αμ,ν−∂ν⁡Γ⁢αμ,α⁢αμ,α+Γ⁢βμ,ν⁢βμ,ν⁢Γ⁢αβ,α⁢αβ,α−Γ⁢βμ,α⁢βμ,α⁢Γ⁢αν,β⁢αν,β
Einsteindefinition
Gμ,ν=Rμ,ν−gμ,ν⁢Rαααα2
Define a tensor using a tensorial equation:
PDEtools:-declareAX
A⁡r,θ,φ,t⁢will now be displayed as⁢A
Fmu,nu = d_muAnuX − d_nuAmuX
Fμ,ν=∂μ⁡Aν−∂ν⁡Aμ
Note that for consistency of free indices, if you now define the left-hand side Fμ,ν as a tensor, in the right-hand side Aμ is also a tensor and so is automatically defined as well.
Aμ,𝒟μ,γμ,Fμ,ν,σμ,Rμ,ν,Rμ,ν,α,β,Cμ,ν,α,β,Xμ,∂μ,gμ,ν,Γμ,ν,α,Gμ,ν,δμ,ν,εα,β,μ,ν
Check the definition of Fμ,ν:
Fdefinition
A new keyword scalars for the Weyl and Ricci tensors, generates the Weyl and Ricci scalars of the Newman-Penrose formalism. Correspondingly, another new keyword scalarsdefinition return the definition of these scalars.
Weylscalars
ψ__0=0,ψ__1=0,ψ__2=mr3,ψ__3=0,ψ__4=0
Weylscalarsdefinition
ψ__0=C⁢μ,ν,α,β⁢μ,ν,α,β⁢lμ⁢mν⁢lα⁢mβ,ψ__1=C⁢μ,ν,α,β⁢μ,ν,α,β⁢lμ⁢nν⁢lα⁢mβ,ψ__2=C⁢μ,ν,α,β⁢μ,ν,α,β⁢lμ⁢mν⁢m&conjugate0;α⁢nβ,ψ__3=C⁢μ,ν,α,β⁢μ,ν,α,β⁢lμ⁢nν⁢m&conjugate0;α⁢nβ,ψ__4=C⁢μ,ν,α,β⁢μ,ν,α,β⁢nμ⁢m&conjugate0;ν⁢nα⁢m&conjugate0;β
In the definition earlier, the tensors lμ,nμ,mμ,m&conjugate0;μ are the null tensors of the Newman-Penrose formalism, implemented in Maple 2015 within the new Tetrads package.
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;μ
IsTetrad,NullTetrad,OrthonormalTetrad,SimplifyTetrad,TransformTetrad,e_,eta_,gamma_,l_,lambda_,m_,mb_,n_
In this new Tetrads package, 𝔢a,μ is the tetrad (vierbein), by default an orthonormal tetrad that can be set to be a null tetrad using Setup⁡tetrad=null, γa,b,c,λa,b,c are respectively the Ricci rotation coefficients and the lambda tensor defined in the "Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2" (definitions (98.9) and (98.10))
For instance, the form of the orthonormal tetrad for the Schwarzschild metric set in is:
e_
𝔢a,μ=r−r+2⁢m0000−I⁢r0000−I⁢r⁢sin⁡θ0000−r+2⁢mr
A new keyword for the tetrad 𝔢a,μ is nullvectors:
e_nullvectors
lμ=2⁢r2⁢−r+2⁢m002⁢−r+2⁢m2⁢r,nμ=−2⁢r2⁢−r+2⁢m002⁢−r+2⁢m2⁢r,mμ=0−I2⁢2⁢r2⁢r⁢sin⁡θ20,m&conjugate0;μ=0−I2⁢2⁢r−2⁢r⁢sin⁡θ20
The matrix keyword can be used with different kinds of indices, representing different objects. For example, the spacetime components of the electromagnetic tensor defined in equation (40) are:
F
Fμ,ν=0A2r−A1θA3r−A1φA4r−A1tA1θ−A2r0A3θ−A2φA4θ−A2tA1φ−A3rA2φ−A3θ0A4φ−A3tA1t−A4rA2t−A4θA3t−A4φ0
The components of this tensor in the local inertial (tetrad) system of references are:
Fa,b,matrix
Fa,b=0I⁢−r+2⁢m⁢A2r−A1θr32I⁢−r+2⁢m⁢A3r−A1φr32⁢sin⁡θA1t−A4r−I⁢−r+2⁢m⁢A2r−A1θr320A2φ−A3θr2⁢sin⁡θI⁢A2t−A4θ−r+2⁢m⁢r−I⁢−r+2⁢m⁢A3r−A1φr32⁢sin⁡θA3θ−A2φr2⁢sin⁡θ0I⁢A3t−A4φ−r+2⁢m⁢r⁢sin⁡θA4r−A1tI⁢A4θ−A2tr⁢−r+2⁢mI⁢A4φ−A3tr⁢sin⁡θ⁢−r+2⁢m0
Likewise, the nonzero components of the Riemann tensor in the global (spacetime, Greek indices) and local (tetrad, lowercase roman indices from a to h) system of references are:
Riemannnonzero
Rμ,ν,α,β=1,2,1,2=−m−r+2⁢m,1,2,2,1=m−r+2⁢m,1,3,1,3=−m⁢sin⁡θ2−r+2⁢m,1,3,3,1=m⁢sin⁡θ2−r+2⁢m,1,4,1,4=2⁢mr3,1,4,4,1=−2⁢mr3,2,1,1,2=m−r+2⁢m,2,1,2,1=−m−r+2⁢m,2,3,2,3=−2⁢r⁢m⁢sin⁡θ2,2,3,3,2=2⁢r⁢m⁢sin⁡θ2,2,4,2,4=−r+2⁢m⁢mr2,2,4,4,2=−2⁢m2+m⁢rr2,3,1,1,3=m⁢sin⁡θ2−r+2⁢m,3,1,3,1=−m⁢sin⁡θ2−r+2⁢m,3,2,2,3=2⁢r⁢m⁢sin⁡θ2,3,2,3,2=−2⁢r⁢m⁢sin⁡θ2,3,4,3,4=sin⁡θ2⁢−r+2⁢m⁢mr2,3,4,4,3=−sin⁡θ2⁢−r+2⁢m⁢mr2,4,1,1,4=−2⁢mr3,4,1,4,1=2⁢mr3,4,2,2,4=−2⁢m2+m⁢rr2,4,2,4,2=−r+2⁢m⁢mr2,4,3,3,4=−sin⁡θ2⁢−r+2⁢m⁢mr2,4,3,4,3=sin⁡θ2⁢−r+2⁢m⁢mr2
Riemanna,b,c,d,nonzero
Ra,b,c,d=1,2,1,2=mr3,1,2,2,1=−mr3,1,3,1,3=mr3,1,3,3,1=−mr3,1,4,1,4=2⁢mr3,1,4,4,1=−2⁢mr3,2,1,1,2=−mr3,2,1,2,1=mr3,2,3,2,3=−2⁢mr3,2,3,3,2=2⁢mr3,2,4,2,4=−mr3,2,4,4,2=mr3,3,1,1,3=−mr3,3,1,3,1=mr3,3,2,2,3=2⁢mr3,3,2,3,2=−2⁢mr3,3,4,3,4=−mr3,3,4,4,3=mr3,4,1,1,4=−2⁢mr3,4,1,4,1=2⁢mr3,4,2,2,4=mr3,4,2,4,2=−mr3,4,3,3,4=mr3,4,3,4,3=−mr3
Define a tensor using a symmetric matrix on the right-hand-side:
Mmu, nu = Matrix4, symbol=m, shape=symmetric
Aμ,𝒟μ,γμ,Fμ,ν,Mμ,ν,σμ,Rμ,ν,Rμ,ν,α,β,Cμ,ν,α,β,Xμ,∂μ,𝔢a,μ,ηa,b,gμ,ν,γa,b,c,lμ,λa,b,c,mμ,m&conjugate0;μ,nμ,Γμ,ν,α,Gμ,ν,δμ,ν,εα,β,μ,ν
Check whether the system detected that ηα,β is symmetric under permutation of α,β.
Library:−IsTensorialSymmetric⁡Mα,β
true
Hence, the indices of this tensor are automatically normalized taking this symmetry into account, so that:
Mα,β
Mβ,α
−
The formalism of tetrads in general relativity got implemented within Physics as a new package, Physics:-Tetrads, with 13 commands, mainly the null vectors of the Newman-Penrose formalism, the tetrad tensors 𝔢a,μ,ηa,b,γa,b,c,λa,b,c, respectively: the tetrad, the tetrad metric, the Ricci rotation coefficients, and the lambda tensor, plus five algebraic manipulation commands: IsTetrad, NullTetrad, OrthonormalTetrad, SimplifyTetrad, and TransformTetrad to construct orthonormal and null tetrads of different forms and using different methods.
The new Tetrads package contains 13 commands for computing in a local (tetrad) frame. Tensor components in the local frame are represented with tetrad indices using a type of letter different than the one representing global spacetime indices. You can set the type of letter using Setup, or just load the new package and the type of letter will be set automatically.
restart;withPhysics:withTetrads;
Setting lowercaselatin letters to represent tetrad indices
The most relevant commands are 𝔢a,μ and ηa,b, respectively representing the tetrad (also vierbein; by default, this is an orthonormal tetrad) and the tetrad metric (that is, the metric of the local - by default inertial - frame)
e_definition
𝔢a,μ⁢𝔢bμbμ=ηa,b
Then γa,b,c are the Ricci rotation coefficients and λa,b,c is a linear combination of them, according to the definitions in the "Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2" (definitions (98.9) and (98.10)).
gamma_definition
γa,b,c=𝒟ν⁡𝔢a,μ⁢𝔢bμbμ⁢𝔢cνcν
lambda_definition
λa,b,c=𝒟ν⁡𝔢a,μ−𝒟μ⁡𝔢a,ν⁢𝔢bμbμ⁢𝔢cνcν
The lμ,nμ,mμ,m&conjugate0;μ tensors are the null tensors of the Newman-Penrose formalism and the commands IsTetrad,NullTetrad,OrthonormalTetrad,SimplifyTetrad,TransformTetrad are for manipulating and exploring different forms of tetrads.
In a flat space, the spacetime and tetrad metrics are the same, so the orthonormal tetrad is just the identity.
eta_
𝔢a,μ=1000010000100001
In a curved spacetime, for instance, set a "Local Rotational Symmetry metric" metric:
g_13,7,5
The metric in coordinates x,y,z,t
Parameters: ε,A⁡t,B⁡t
Comments: _ⅇpsⅈlon=1 or _ⅇpsⅈlon=-1
PDEtools:-declareAt, Bt
A⁡t⁢will now be displayed as⁢A
B⁡t⁢will now be displayed as⁢B
The default orthonormal tetrad is:
𝔢a,μ=−I⁢ε⁢A0000−I⁢cosh⁡2⁢x⁢B⁢ⅇA⁢xI⁢sinh⁡2⁢x⁢B⁢ⅇA⁢xcosh⁡2⁢x000−I⁢B⁢ⅇA⁢xcosh⁡2⁢x0000I⁢ε
The following null vectors correspond to this tetrad:
lμ=−I2⁢2⁢ε⁢A00I2⁢2⁢ε,nμ=I2⁢2⁢ε⁢A00I2⁢2⁢ε,mμ=0−I2⁢2⁢cosh⁡2⁢x⁢B⁢ⅇA⁢x2⁢B⁢ⅇA⁢x⁢I⁢sinh⁡2⁢x+12⁢cosh⁡2⁢x0,m&conjugate0;μ=0−I2⁢2⁢cosh⁡2⁢x⁢B⁢ⅇA⁢x2⁢B⁢ⅇA⁢x⁢I⁢sinh⁡2⁢x−12⁢cosh⁡2⁢x0
You can compute these null vectors directly since these are also part of the Tetrads package:
l_mu2,l_mu n_mu,l_mu m_mu,l_mu mb_mu
lμ⁢l⁢μ⁢μ,lμ⁢n⁢μ⁢μ,lμ⁢m⁢μ⁢μ,m&conjugate0;μ⁢l⁢μ⁢μ
mapu → u = SumOverRepeatedIndicesu,
lμ⁢l⁢μ⁢μ=0,lμ⁢n⁢μ⁢μ=1,lμ⁢m⁢μ⁢μ=0,m&conjugate0;μ⁢l⁢μ⁢μ=0
You can query about their definition in the same way you can now query any other tensor:
m_definition
mμ⁢l⁢μ⁢μ=0,mμ⁢n⁢μ⁢μ=0,mμ⁢m⁢μ⁢μ=0,mμ⁢m&conjugate0;⁢μ⁢μ=−1,gμ,ν=lμ⁢nν+lν⁢nμ−mμ⁢m&conjugate0;ν−mν⁢m&conjugate0;μ
Now that this definition depends on the signature:
Setupsignature
signature=- - - +
Change the signature, both in sign and placing time in position 1:
Setupsignature=`- +++`
So, now mμ⁢m&conjugate0;⁢μ⁢μ=1 instead of −1 and there is a change in the sign of the definition in terms of the metric gμ,ν if compared with (67).
mμ⁢l⁢μ⁢μ=0,mμ⁢n⁢μ⁢μ=0,mμ⁢m⁢μ⁢μ=0,mμ⁢m&conjugate0;⁢μ⁢μ=1,gμ,ν=−lμ⁢nν−lν⁢nμ+mμ⁢m&conjugate0;ν+mν⁢m&conjugate0;μ
You can verify these tensorial identities using TensorArray; for example, for the last equation:
−1
gμ,ν=−lμ⁢nν−lν⁢nμ+mμ⁢m&conjugate0;ν+mν⁢m&conjugate0;μ
TensorArray,simplifier=simplify@expand
ε⁢A2=ε⁢A20=00=00=00=0B2⁢ⅇ2⁢A⁢x⁢2⁢cosh⁡x2−1=B2⁢ⅇ2⁢A⁢x⁢2⁢cosh⁡x2−1−2⁢B2⁢ⅇ2⁢A⁢x⁢cosh⁡x⁢sinh⁡x=−2⁢B2⁢ⅇ2⁢A⁢x⁢cosh⁡x⁢sinh⁡x0=00=0−2⁢B2⁢ⅇ2⁢A⁢x⁢cosh⁡x⁢sinh⁡x=−2⁢B2⁢ⅇ2⁢A⁢x⁢cosh⁡x⁢sinh⁡xB2⁢ⅇ2⁢A⁢x⁢2⁢cosh⁡x2−1=B2⁢ⅇ2⁢A⁢x⁢2⁢cosh⁡x2−10=00=00=00=0−ε=−ε
To compute with a null tetrad instead of an orthonormal tetrad, set the tetrad or tetradmetric to null using Setup.
Setuptetradmetric = null
tetradmetric=1,2=−1,3,4=1
So, now the metric of the local (tetrad) system of references is:
Note: this form of the null tetrad metric is consistent with time in position 1, a change done in (69)- and not with time in position 4 (default). You can in any case redefine the tetrad metric in any particular way also using Setup⁡tetradmetric=...a symmetric matrix here....
The null tetrad is now:
𝔢a,μ=−I2⁢2⁢ε⁢A2⁢cosh⁡2⁢x⁢B⁢ⅇA⁢x2−2⁢sinh⁡2⁢x⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x0−I2⁢2⁢ε⁢A−2⁢cosh⁡2⁢x⁢B⁢ⅇA⁢x22⁢sinh⁡2⁢x⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x0002⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x−2⁢ε2002⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x2⁢ε2
Compare this result with the orthonormal tetrad (63).
It is possible to test whether these tetrads satisfy the tetrad definition:
Using the manipulation commands of the package:
IsTetrad
Type of tetrad: orthonormal
Type of tetrad: null
or, using the TensorArray command as done in (72), by passing to it the definition directly:
TensorArray,simplifier=simplify
0=0−1=−10=00=0−1=−10=00=00=00=00=00=01=10=00=01=10=0
You can compute different forms of an orthonormal tetrad or a null tetrad using the OrthonormalTetrad or NullTetrad command, respectively, requesting the use of different methods, or passing a starting vector. For instance, this is the default form of an orthonormal tetrad for the current spacetime metric:
OrthonormalTetrad
−I⁢ε⁢A0000cosh⁡2⁢x⁢B⁢ⅇA⁢x−B⁢ⅇA⁢x⁢sinh⁡2⁢xcosh⁡2⁢x000B⁢ⅇA⁢xcosh⁡2⁢x0000I⁢ε
There are two methods available for computing these tetrads: the GramSchmidt (generalization to curved spaces) and Eigenvectors (based on computing the Eigenvectors of a related matrix). By the default, the Physics package routines decide on what method is more convenient to use for the the spacetime metric set. In this case the routines used the GramSchmidt method; you can check the other method via:
OrthonormalTetradmethod=Eigenvectors
000εA⁢ε0000−2⁢B⁢ⅇA⁢x2⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−12⁢B⁢ⅇA⁢x2⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−1002⁢B⁢ⅇA⁢x2⁢2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−12⁢B⁢ⅇA⁢x2⁢2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−10
If this is an orthonormal tetrad you prefer, you can set it via Setup⁡e_=. To see what would be the null tetrads corresponding to (79) and (80),
NullTetrad
−I2⁢2⁢ε⁢A2⁢cosh⁡2⁢x⁢B⁢ⅇA⁢x2−2⁢sinh⁡2⁢x⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x0−I2⁢2⁢ε⁢A−2⁢cosh⁡2⁢x⁢B⁢ⅇA⁢x22⁢sinh⁡2⁢x⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x0002⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x−2⁢ε2002⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x2⁢ε2
NullTetradmethod=Eigenvectors
2⁢ε⁢A2002⁢ε2−2⁢ε⁢A2002⁢ε20B⁢ⅇA⁢x⁢I⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−1−2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−12⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−1⁢2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−1B⁢ⅇA⁢x⁢I⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−1+2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−12⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−1⁢2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−100−B⁢ⅇA⁢x⁢I⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−1+2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−12⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−1⁢2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−1−B⁢ⅇA⁢x⁢I⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−1−2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−12⁢2⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−1⁢2⁢cosh⁡x2+2⁢cosh⁡x⁢sinh⁡x−10
When using the GramSchmidt you can also specify the first vector. Recalling, the method works iterating the computation of the "next" vector (line of the tetrad) starting from a first vector. For example, instead of starting from ε⁢A⁡t,0,0,0 start from 0,0,0,1, compare with (79).
OrthonormalTetradfirstvector=0,0,0,1
000ε0cosh⁡2⁢x⁢B⁢ⅇA⁢x−B⁢ⅇA⁢x⁢sinh⁡2⁢xcosh⁡2⁢x000B⁢ⅇA⁢xcosh⁡2⁢x0A⁢ε000
Compare this other result with (81):
NullTetradfirstvector=0,0,0,1
02⁢cosh⁡2⁢x⁢B⁢ⅇA⁢x2−2⁢sinh⁡2⁢x⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x2⁢ε20−2⁢cosh⁡2⁢x⁢B⁢ⅇA⁢x22⁢sinh⁡2⁢x⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x2⁢ε2I2⁢2⁢ε⁢A02⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x0−I2⁢2⁢ε⁢A02⁢B⁢ⅇA⁢x2⁢cosh⁡2⁢x0
The Ricci rotation coefficients for the spacetime metric set; recalling:
Simpler expressions happen for the all contravariant components:
gamma_~1,~a,~b,matrix
γ⁢1,a,b⁢1,a,b=0000−I2⁢2⁢A⁢cosh⁡2⁢x+sinh⁡2⁢xcosh⁡2⁢x⁢ε⁢AI2⁢2⁢A⁢cosh⁡2⁢x+sinh⁡2⁢xcosh⁡2⁢x⁢ε⁢AI⁢2ε⁢4⁢A⁢cosh⁡x2−2⁢AI⁢2ε⁢4⁢A⁢cosh⁡x2−2⁢A−2⁢B⁢cosh⁡x2−12⁢At+−A⁢cosh⁡x2+A2⁢Bt+I⁢B⁢2ε⁢8⁢A⁢cosh⁡x2−4⁢A⁢B−Bt⁢A+At⁢B⁢24⁢A⁢ε⁢BI⁢2⁢2⁢A⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−Aε⁢8⁢A⁢cosh⁡x2−4⁢AI⁢2⁢2⁢A⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−Aε⁢8⁢A⁢cosh⁡x2−4⁢A−2⁢B⁢−cosh⁡x2+12⁢At+cosh⁡x2−12⁢A⁢Bt+I⁢B⁢2ε⁢8⁢A⁢cosh⁡x2−4⁢A⁢BBt⁢A+At⁢B⁢24⁢A⁢ε⁢BI⁢2⁢2⁢A⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−Aε⁢8⁢A⁢cosh⁡x2−4⁢AI⁢2⁢2⁢A⁢cosh⁡x2−2⁢cosh⁡x⁢sinh⁡x−Aε⁢8⁢A⁢cosh⁡x2−4⁢A
To see all the nonzero components at once, input gamma_nonzero.
The Weyl and Ricci scalars of the Newman-Penrose formalism:
ψ__0=2⁢cosh⁡x2−12⁢A⁢B2⁢At,t−2⁢cosh⁡x2−12⁢A2⁢B⁢Bt,t+A2⁢2⁢cosh⁡x2−1⁢Bt2+2⁢A⁢B⁢I+−cosh⁡x2+12⁢At⁢Bt−2⁢2⁢A⁢cosh⁡x⁢sinh⁡x+I⁢At−2⁢cosh⁡x2+1⁢B28⁢cosh⁡x2−12⁢ε⁢A2⁢B2,ψ__1=2⁢I⁢A⁢cosh⁡x⁢sinh⁡x⁢Bt−2⁢I⁢B⁢cosh⁡x⁢sinh⁡x⁢At+B⁢A2⁢B⁢ε⁢A2⁢cosh⁡2⁢x,ψ__2=2⁢cosh⁡x2−12⁢A⁢B2⁢At,t−2⁢cosh⁡x2−12⁢A2⁢B⁢Bt,t+A2⁢2⁢cosh⁡x2−1⁢Bt2−6⁢I+cosh⁡x23−16⁢At⁢A⁢B⁢Bt+6⁢B2⁢2⁢A⁢cosh⁡x⁢sinh⁡x+I⁢At+2⁢cosh⁡x23−1324⁢cosh⁡x2−12⁢ε⁢A2⁢B2,ψ__3=−2⁢I⁢A⁢cosh⁡x⁢sinh⁡x⁢Bt+2⁢I⁢B⁢cosh⁡x⁢sinh⁡x⁢At−B⁢A2⁢B⁢A2⁢cosh⁡2⁢x⁢ε,ψ__4=2⁢cosh⁡x2−12⁢A⁢B2⁢At,t−2⁢cosh⁡x2−12⁢A2⁢B⁢Bt,t+A2⁢2⁢cosh⁡x2−1⁢Bt2+2⁢A⁢B⁢I+−cosh⁡x2+12⁢At⁢Bt−2⁢2⁢A⁢cosh⁡x⁢sinh⁡x+I⁢At−2⁢cosh⁡x2+1⁢B28⁢cosh⁡x2−12⁢ε⁢A2⁢B2
Ricciscalarsdefinition
Φ__00=−R⁢μ,ν⁢μ,ν⁢lμ⁢lν,Φ__01=−R⁢μ,ν⁢μ,ν⁢lμ⁢mν,Φ__02=−R⁢μ,ν⁢μ,ν⁢mμ⁢mν,Φ__11=−R⁢μ,ν⁢μ,ν⁢lμ⁢nν+mμ⁢m&conjugate0;ν,Φ__12=−R⁢μ,ν⁢μ,ν⁢nμ⁢mν,Φ__22=−R⁢μ,ν⁢μ,ν⁢nμ⁢nν,Λ=Rμμμμ24
Ricciscalars
The all spacetime, then mixed tetrad and spacetime, then all tetrad components of the Ricci tensor; for illustration purposes, use a simpler metric (Tolman), avoiding large algebraic expressions.
g_tol
The Tolman metric in coordinates r,θ,φ,t
Parameters: R⁡t,r,E⁡r
PDEtools:-declareRt,r
R⁡t,r⁢will now be displayed as⁢R
Ricci
Rμ,ν=Rr⁢Rt,r,t⁢R+2⁢Rt⁢Rr,t−2⁢Er1+2⁢E⁡r⁢R0000Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢RRr0000Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢R⁢sin⁡θ2Rr0000−2⁢Rt,t⁢Rr−Rt,r,t⁢RR⁢Rr
Riccia,mu,matrix
Ra,μ=2⁢Rt,r,t⁢R+2⁢Rt⁢Rr,t−2⁢Er2⁢−1−2⁢E⁡r⁢R00I2⁢2⁢2⁢Rt,t⁢Rr+Rt,r,t⁢RR⁢Rr0I2⁢2⁢Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢RRr⁢R−sin⁡θ⁢2⁢Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢R2⁢R⁢Rr00I2⁢2⁢Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢RRr⁢Rsin⁡θ⁢2⁢Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢R2⁢R⁢Rr0−2⁢Rt,r,t⁢R+2⁢Rt⁢Rr,t−2⁢Er2⁢−1−2⁢E⁡r⁢R00I2⁢2⁢2⁢Rt,t⁢Rr+Rt,r,t⁢RR⁢Rr
Riccia,b,matrix
Ra,b=2⁢I⁢Rt,t⁢−1−2⁢E⁡r−2⁢Rt⁢Rr,t−Rt,r,t⁢R+2⁢Er⁢Rr+I⁢Rt,r,t⁢R⁢−1−2⁢E⁡r2⁢R⁢Rr200I⁢Rr⁢Rt,r,t⁢R+2⁢Rt⁢Rr,t−2⁢Er⁢−1−2⁢E⁡r+4⁢Rt,t⁢Rr+Rt,r,t⁢R2⁢E⁡r+122+4⁢E⁡r⁢R⁢Rr0−I⁢sin⁡θ+1⁢Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢R2⁢R2⁢Rr−Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢R⁢I+sin⁡θ2⁢sin⁡θ⁢R2⁢Rr00I⁢sin⁡θ−1⁢Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢R2⁢R2⁢Rr−Rr,t⁢R⁢Rt+R⁢Rt,t⁢Rr+−2⁢E⁡r+Rt2⁢Rr−Er⁢R⁢I−sin⁡θ2⁢sin⁡θ⁢R2⁢Rr02⁢I⁢Rt,t⁢−1−2⁢E⁡r+2⁢Rt⁢Rr,t+Rt,r,t⁢R−2⁢Er⁢Rr+I⁢Rt,r,t⁢R⁢−1−2⁢E⁡r2⁢R⁢Rr200−I⁢Rr⁢Rt,r,t⁢R+2⁢Rt⁢Rr,t−2⁢Er⁢−1−2⁢E⁡r+4⁢Rt,t⁢Rr+Rt,r,t⁢R2⁢E⁡r+122+4⁢E⁡r⁢R⁢Rr
A database of solutions to Einstein's equations was added to the Maple library in Maple 15 with a selection of metrics from "Stephani, H.; Kramer, D.; MacCallum, M.; Hoenselaers, C.; and Herlt, E., Exact Solutions to Einstein's Field Equations" and "Hawking, Stephen; and Ellis, G. F. R., The Large Scale Structure of Space-Time". More metrics from these two books were added for Maple 16, Maple 17, and Maple 18. These metrics can be searched using g_ (the Physics command representing the spacetime metric that also sets the metric to your choice in one go) or using the command DifferentialGeometry:-Library:-MetricSearch.
For Maple 2015, one hundred and four more metrics were added to the database from various Chapters of the aforementioned book entitled "Exact Solutions to Einstein's Field Equations". Among new metrics for other chapters, with this addition, the solutions found in the literature and collected in Chapters 13 and 14 of this book are all present as well in database of solutions to Einstein's equations.
It is now possible to manipulate algebraically the properties of these metrics, for example, computing tetrads and null vectors for them - using the 13 commands of new Physics:-Tetrads package.
As mentioned previously, the solutions found in the literature and collected in Chapters 13 and 14 of the book "Exact Solutions to Einstein's Field Equations" are all now present in the database of solutions to Einstein's equations. You can query about these solutions, and set the spacetime metric to be one of them directly from the g_ Physics command, or search them in details using the DifferentialGeometry:-Library:-MetricSearch.
List, for instance, all the metrics of chapters 13 and 14 found in the Maple database - after listing, to set the metric to be any of these, or just to give an explicit look, enter g_[index_of_metric], for example: g_[[13,2,1]]:
g_13
____________________________________________________________
13,2,1=Authors=Ellis (1967), Stewart and Ellis (1968),PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G3,Comments=_epsilon=1 or _epsilon=-1, k=0
13,2,2=Authors=Ellis (1967), Stewart and Ellis (1968),PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G4 on S3 or T3,Comments=_epsilon=1 or _epsilon=-1,k=1
13,2,3=Authors=Ellis (1967), Stewart and Ellis (1968),PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G4 on S3 or T3,Comments=_epsilon=1 or _epsilon=-1, k=-1
13,7,1=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G3,Comments=_epsilon=1, -1
13,7,2=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G3,Comments=_epsilon=1, -1
13,7,3=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G3,Comments=_epsilon=1, -1
13,7,4=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G3,Comments=_epsilon=1, -1
13,7,5=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G3,Comments=_epsilon=1 or _epsilon=-1
13,7,6=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G3,Comments=_epsilon= 1, -1. Here the Petrov and Segre type are for epsilon=1/-1 accordingly.
13,7,7=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G3,Comments=_epsilon=1, -1
13,7,8=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=Local Rotational Symmetry metric, G3,Comments=_epsilon=1, -1; The Killing Vectors are calculated for y=0
13,14,1=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=G4 on T3, non-Local Rotational Symmetry metric
13,14,2=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=G4 on T3, non-Local Rotational Symmetry metric
13,14,3=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=G4 on T3, non-Local Rotational Symmetry metric
13,19,1=PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=G4 on T3 and null rotation
13,31,1=Authors=Heckmann and Schucking (1958),PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=G3I metrics,Comments=One can take _Sigma=sqrt(3)
13,32,1=Authors=Heckmann and Schucking (1958),PrimaryDescription=Hyper-surface Homogenous,SecondaryDescription=G3V metrics,Comments=Psi=Pi/2
13,46,1=Authors=Ftaclas, Cohen (1978),Henneaux (1984),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=PureRadiation,Comments=13.3 with _epsilon=1
13,48,1=Authors=Cahen, Defrise (1968),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=Stationary,Comments=_kappa generic
13,49,1=Authors=Taub (1951),Newman, Tamburino, Uniti (1963),PrimaryDescription=Vacuum,SecondaryDescription=,Comments=Exterior
13,49,2=Authors=Taub (1951),Newman, Tamburino, Uniti (1963),PrimaryDescription=Vacuum,SecondaryDescription=,Comments=Interior
13,51,1=Authors=Kasner (1921),PrimaryDescription=Vacuum,SecondaryDescription=,Comments=Riemannian signature
13,53,1=Authors=Kasner (1921),PrimaryDescription=Vacuum,SecondaryDescription=,Comments=
13,59,1=Authors=Joseph (1966),PrimaryDescription=Vacuum,SecondaryDescription=,Comments=A is an inessential parameter. It does not appear in the structure equations for Bianchi V.
13,59,2=Authors=Joseph (1966),PrimaryDescription=Vacuum,SecondaryDescription=,Comments=A is an inessential parameter. It does not appear in the structure equations for Bianchi V.
13,60,1=Authors=Lorenz-Petzold (1984),PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on S3,Comments=13.60
13,60,2=Authors=Lorenz-Petzold (1984),PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on S3,Comments=13.60
13,60,3=Authors=Lorenz-Petzold (1984),PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on S3,Comments=13.60
13,60,4=Authors=Lorenz-Petzold (1984),PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on S3,Comments=13.60
13,60,5=Authors=Lorenz-Petzold (1984),PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on S3,Comments=13.60
13,60,6=Authors=Lorenz-Petzold (1984),PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on S3,Comments=13.60
13,60,7=Authors=Lorenz-Petzold (1984),PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on S3,Comments=13.60
13,60,8=Authors=Lorenz-Petzold (1984),PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on S3,Comments=13.60
13,61,1=Authors=Barnes (1978) ),PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on T3,Comments=_epsilon=1 (VII0)
13,61,2=Authors=Barnes (1978) ,PrimaryDescription=Vacuum,SecondaryDescription=G3VI0 and VII0 on T3,Comments=_epsilon=-1, (G3VI0)
13,62,1=Authors=Lukash (1974),PrimaryDescription=Vacuum,SecondaryDescription=G3VIIh on S3 (h=4/11),Comments=Only case 1 from Table 8.2 due to the complexity of the metric, for compactness, except for the metric, we use exponents instead of trigonometric functions
13,62,2=Authors=Lukash (1974),PrimaryDescription=Vacuum,SecondaryDescription=G3VIIh on S3 (h=4/11),Comments=Case 2 from Table 8.2, for compactness, except for the metric, we use exponents instead of trigonometric functions
13,62,4=Authors=Lukash (1974),PrimaryDescription=Vacuum,SecondaryDescription=G3VIIh on S3 (h=4/11),Comments=Case 4 from Table 8.2, for compactness, except for the metric, we use exponents instead of trigonometric functions
13,62,6=Authors=Lukash (1974),PrimaryDescription=Vacuum,SecondaryDescription=G3VIIh on S3 (h=4/11),Comments=Case 6 from Table 8.2, for compactness, except for the metric, we use exponents instead of trigonometric functions
13,63,1=Authors= Kasner (1925), Saunders (1967),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=,Comments=Cases 1-4 correspond to the solutions of the DE for G and U for _C1=0
13,63,2=Authors= Kasner (1925), Saunders (1967),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=,Comments=Cases 1-4 correspond to the solutions of the DE for G and U for _C1=0
13,63,3=Authors= Kasner (1925), Saunders (1967),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=,Comments=Cases 1-4 correspond to the solutions of the DE for G and U for _C1=0
13,63,4=Authors= Kasner (1925), Saunders (1967),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=,Comments=Cases 1-4 correspond to the solutions of the DE for G and U for _C1=0
13,64,1=Authors=Siklos (1981),PrimaryDescription=Einstein,SecondaryDescription=
13,64,2=Authors=Kerr, Debney (1970),Collinson, French (1967),PrimaryDescription=Vacuum,SecondaryDescription=
13,64,3=Authors=Siklos (1981),PrimaryDescription=Einstein,SecondaryDescription=,Comments=See also (13, 64, 4) for Riemannian orbits
13,64,4=Authors=Siklos (1981),PrimaryDescription=Einstein,SecondaryDescription=,Comments=See also (13, 64, 3) for PseudoRiemannian orbits
13,65,1=Authors=Siklos (1981),PrimaryDescription=Einstein,SecondaryDescription=,Comments=We can use the transformation x -> - x to assume the parameter _b > 0,A boost and a spatial rotation are required to take the null tetrad to an adapted null tetrad
13,69,1=Authors=Datta(1965),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=
13,71,1=Authors=Wils (1989),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=(13.71) -- a special case of (13.70),Comments=_epsilon=+1, -1, _delta=+1, -1, excluding -_delta=1=epsilon
13,72,1=Authors=Tariq, Tupper (1975),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=
13,73,1=Authors=Barnes (1977),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=G3VII0,Comments=This is 19.73 for w from table 8.2 and for A=(1/3)*(2*I)*sqrt(3) -- in this case, the PetrovType is D (it's I in the general case)
13,74,1=Authors=Ruban (1971),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=G3II,Comments=13.74 and 13.75, the _b=0 is the vacuum solution, _a=0 is LRS (13.48), _epsilon=+-1
13,74,2=Authors=Ruban (1971),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=G3II,Comments=13.74 and 13.75, the _b=0 is the vacuum solution, _a=0 is LRS (13.48), |_epsilon|= 1
13,74,3=Authors=Ruban (1971),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=G3II,Comments=13.74 and 13.75, the _b=0 is the vacuum solution, _a=0 is LRS (13.48), |epsilon|=1
13,76,1=Authors=McIntosh (1979),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=
13,77,1=PrimaryDescription=EinsteinMaxwell,SecondaryDescription=,Comments=_epsilon=1
13,77,2=PrimaryDescription=EinsteinMaxwell,SecondaryDescription=,Comments=_epsilon=-1
13,79,1=Authors=Hermann (1983), Daishev (1984),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on T3,Comments=The case _l<>0
13,79,2=Authors=Hermann (1983), Daishev (1984),PrimaryDescription=PerfectFluid,SecondaryDescription=Spherical,Comments=_l=0, _k=_a/2=1, _a=2
13,80,1=Authors=Ellis (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=Dust solution,Comments=For 13.80 use _Y(w)=_Y_(w)[1], _rel[1], _Lambda>0, for 13.82 - _Y(w)=_Y_(w)[2], _rel[2], _Lambda<0
13,81,1=Authors=Ellis (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=Dust solution
13,83,1=Authors=Bradley, Marklund (1996),PrimaryDescription=PerfectFluid,SecondaryDescription=
13,84,1=Authors=Ellis (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=Shearfree Dust, _Lambda>0
13,84,2=Authors=Ellis (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=Shearfree Dust, _Lambda=0
13,84,3=Authors=Ellis (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=Shearfree Dust, _Lambda<0
13,85,1=Authors=Wainwright (1985) ,PrimaryDescription=PerfectFluid,SecondaryDescription=G3II on T3,Comments=Metric 13.85 with _a=0 and gamma-law, the PetrovType and SegreType are found for _gamma=2
13,85,2=Authors=Nilsson and Uggla (1997b) ,PrimaryDescription=PerfectFluid,SecondaryDescription=G3II on T3,Comments=Metric 13.85 with _a=1 and gamma-law
13,86,1=Authors=(Sintes et al. (1998),PrimaryDescription=PerfectFluid,SecondaryDescription=G3VI on T3
13,87,1=Authors=Hermann (1983),PrimaryDescription=PerfectFluid,SecondaryDescription=
Set the metric:
g_13,2,1
The Ellis (1967), Stewart and Ellis (1968) metric in coordinates x,y,z,t
Comments: _ⅇpsⅈlon=1 or _ⅇpsⅈlon=-1, k=0
Change it to another one, this time from chapter 14:
g_14,7,1
The Tolman (1934) metric in coordinates r,θ,φ,t
Parameters: κ0,m
Comments: Thⅈs ⅈs FRW wⅈth manⅈfolⅆ R x R^3 (k = 0)
List all the metrics of the literature, collected in chapter 14, found in the Maple database:
g_14
14,7,1=Authors=Tolman (1934),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=This is FRW with manifold R x R^3 (k = 0),radiation dominated
14,10,1=Authors=Harrison(1967),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=This is FRW with manifold R x S^3 (k = 1),cosmological constant > 0,_Lambda*_m > = 3/4, t > 0
14,10,2=Authors=Harrison(1967),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=This is FRW with manifold R x S^3 (k = 1),cosmological constant > 0,_Lambda * m < 3/4, t in (0, t0), where t0 = ln(-(3+2 sqrt(3) sqrt(_Lambda _m))/(-3+2 sqrt(3) sqrt(_Lambda _m))) sqrt(3/(4 _Lambda)).
14,12,1=Authors=McIntosh (1968), Sapar (1970), May (1975), Coquereaux and Grossmann (1982), Dabrowski and Stelmach (1986),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW with Lambda=0, instead of coordinate t we use a knowing implicitely the function a(t),dt = (-_m*cos((2*a-_m)/sqrt(_m^2+4*_N))/(sin((2*a-_m)/sqrt(_m^2+4*_N))^2*sqrt(_m^2+4*_N))-(_m-2*a)/(2*sqrt(_m*a-a^2+_N)))*da
14,12,2=Authors=McIntosh (1968), Sapar (1970), May (1975), Coquereaux and Grossmann (1982), Dabrowski and Stelmach (1986),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW with Lambda=0, instead of coordinate t we use a knowing implicitely the function a(t), dt = a*da/sqrt(_m*a+_N)
14,12,3=Authors=McIntosh (1968), Sapar (1970), May (1975), Coquereaux and Grossmann (1982), Dabrowski and Stelmach (1986),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW with Lambda=0, instead of coordinate t we use a knowing implicitely the function a(t), dt = a*d_a/sqrt(_m*a+a^2+_N)
14,14,1=Authors=(Vajk and Eltgroth 1970,PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law
14,14,2=Authors=(Vajk and Eltgroth 1970,PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law
14,15,1=Authors=Kantowski (1966), Kantowski and Sachs (1966), Shikin (1966), Thorne (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, gamma=1, dt = 2*_b*cos(psi)^2*dpsi
14,16,1=Authors=Kantowski (1966),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, gamma=4/3, k=1, dt^2=u*B*du^2
14,16,2=Authors=Kantowski (1966),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, gamma=4/3, k=1, dt^2=u*B*du^2
14,17,1=Authors=Kantowski (1966),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, gamma=4/3, k=1, dt^2=3*u/(4*(_c-u))*du^2
14,18,1=Authors=Kantowski (1966),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, gamma=2, k=1, dt^2=u*B*du^2, _c=sqrt(1-_M*lambda^4)
14,18,2=Authors=Kantowski (1966),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, gamma=2, k=-1, dt^2=u*B*du^2, _c=sqrt(1-_M*lambda^4)
14,19,1=Authors=Kantowski (1966),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, k=-1
14,20,1=Authors=Collins and Stewart (1971) ,PrimaryDescription=PerfectFluid,SecondaryDescription=gamma-law perfect fluid
14,21,1=Authors=Cohen (1972), Batakis and Cohen (1972),PrimaryDescription=PerfectFluid,SecondaryDescription=G4 on S3,Comments=Case 1, k=1, gamma=2
14,21,2=Authors=Cohen (1972), Batakis and Cohen (1972),PrimaryDescription=PerfectFluid,SecondaryDescription=G4 on S3,Comments=Case 2, k=0, gamma=2
14,21,3=Authors=Cohen (1972), Batakis and Cohen (1972),PrimaryDescription=PerfectFluid,SecondaryDescription=G4 on S3,Comments=Case 3, k=-1, gamma=2
14,22,1=Authors=Farnsworth (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=G4 on S3,Comments=the functions _g(u) satisfies 2*diff(_g(u),u,u)*_g(u)-_Lambda*_g(u)^2-1/_a^2, because of it, we make the change in coordinates u=t+b*x
14,23,1=Authors=Collins et al. (1980),PrimaryDescription=PerfectFluid,SecondaryDescription=G4 on S3
14,24,1=Authors=Collins and Wainwright (1983),PrimaryDescription=PerfectFluid,SecondaryDescription=G4 on S3,Comments=_U(w) is the solutions of diff(U(w),w,w)+diff(U(w),w)+U(w)^2=0, we change the coordinates to w=t+x
14,25,1=Authors=Lozanovski and Aarons (1999) ,PrimaryDescription=PerfectFluid,SecondaryDescription=G4 on S3
14,26,1=Authors=Saunders (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=Lambda>0, the stress-energy tensor was found in the case _M=0, _psi=Pi,_Lambda=1
14,26,2=Authors=Saunders (1967), Raychaudhuri (1958), Heckmann and Schucking (1958),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=Lambda=0, the stress-energy tensor was found in the case _M=0
14,26,3=Authors=Saunders (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=Lambda<0, the stress-energyt tensor was found in the case _M=0, _psi=Pi,_Lambda=-1
14,26,4=Authors=Lorenz (1982) ,PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=Lambda>0
14,27,1=Authors=Wainwright (1984), Wainwright and Ellis (1997),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3
14,28,1=Authors=Ellis and MacCallum (1969),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=gamma=2
14,28,2=Authors=Jacobs (1968) and Shikin (1968),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=gamma=2
14,28,3=Authors=Ellis and MacCallum (1969),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=gamma=2
14,29,1=Authors=Collins (1971), Wainwright and Ellis (1997),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments= _gamma<2, _gamma>2/3
14,30,1=Authors=Hewitt (1991b),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments= _gamma<2, _gamma>10/7
14,31,1=Authors=Hewitt et al. (2001),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments= _gamma=14/9
14,32,1=Authors=Ruban (1977),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments= _gamma=4/3
14,33,1=Authors=Collins (1971) ),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments= G3VIh metric
14,35,1=Authors=Wainwright (1983),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=G3VIh
14,37,1=Authors=Collins (1971),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments= G3VIh metric, _gamma<2, _gamma>2/3
14,38,1=Authors=Uggla and Rosquist (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=_gamma<2, _gamma>0
14,38,2=Authors=Uggla and Rosquist (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=_gamma<2, _gamma>0
14,38,3=Authors=Uggla and Rosquist (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=_gamma<2, _gamma>0
14,39,1=Authors=Uggla and Rosquist (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments= _gamma<4/3, _gamma>2/3
14,39,2=Authors=Uggla and Rosquist (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=_gamma<4/3, _gamma>2/3
14,39,3=Authors=Uggla and Rosquist (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=_gamma<4/3, _gamma>2/3
14,39,4=Authors=Uggla and Rosquist (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments= _gamma<2, _gamma>4/3
14,39,5=Authors=Uggla and Rosquist (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=_gamma<2, _gamma>4/3
14,39,6=Authors=Uggla and Rosquist (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=_gamma<2, _gamma>4/3
14,40,1=Authors=Uggla (1990),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=_gamma=6/5
14,41,1=Authors=Wainwright (1984),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=_gamma=10/9, r>2/3, r<1
14,42,1=Authors=Rosquist and Jantzen (1985),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=Bianchi VI0
14,46,1=Authors=Allnutt (1980),PrimaryDescription=PerfectFluid,SecondaryDescription=G3 on S3,Comments=G3VIh
14,6.1,1=Authors=Friedman (1922),Friedman (1924),Einstein, deSitter (1932),PrimaryDescription=Dust,SecondaryDescription=FRW,Comments=This is FRW with manifold R x S^3 (k = 1)
14,6.2,1=Authors=Friedman (1922),Friedman (1924),Einstein, deSitter (1932),PrimaryDescription=Dust,SecondaryDescription=FRW,Comments=This is FRW with manifold R x R^3 (k = 0)
14,6.3,1=Authors=Friedman (1922),Friedman (1924),Einstein, deSitter (1932),PrimaryDescription=Dust,SecondaryDescription=FRW,Comments=This is FRW with manifold R x R^3 (k = -1)
14,8.1,1=Authors=Harrison (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW
14,8.2,1=Authors=Harrison (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=This is FRW with manifold R x R^3 (k = 0),cosmological constant = 0
14,8.3,1=Authors=Harrison (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=This is FRW with manifold R x R^3 (k = 0),cosmological constant = 0
14,9.1,1=Authors=Harrison (1967),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=This is FRW with manifold R x S^3 (k = 1),cosmological constant < 0,gamma = 0 gives de-Sitter space, which we exclude here
14,9.2,1=Authors=Harrison(1967),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=This is FRW with manifold R x R^3 (k = -1),cosmological constant = 0,gamma = 0 gives de-Sitter space, which we exclude here
14,15.1,2=Authors=Kantowski (1966),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, gamma=1, k=-1, dt=2*_b*sinh(psi)^2*dpsi
14,15.2,2=Authors=Kantowski (1966),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, gamma=1, k=-1, dt = 2*_b*cosh(psi)^2*dpsi
14,15.3,2=Authors=Shukla and Patel (1977),PrimaryDescription=PerfectFluid,SecondaryDescription=FRW,Comments=FRW perfect fluid with a gamma-law, gamma=1, k=-1, dt = 2*_b*(exp(psi))^2*dpsi
Set the metric to be last one listed:
g_14,15.3,2
Systems of spacetime Coordinates are: X=x,y,z,ψ
Default differentiation variables for d_, D_ and dAlembertian are: X=x,y,z,ψ
The Shukla and Patel (1977) metric in coordinates x,y,z,ψ
Parameters: κ0,M,b,K
Comments: FRW pⅇrfⅇct fluⅈⅆ wⅈth a gamma-law, gamma=1, k=-1, ⅆt = 2*_b*(ⅇxp(psⅈ))^2*ⅆpsⅈ
When computing with products of noncommutative operators, the results depend on the algebra of commutators and anticommutators that you previously set. Besides that, in Physics, various mathematical objects themselves satisfy specific commutation rules. You can query about these rules using the Library commands Commute and AntiCommute. Previously existing functionality and enhancements in this area were refined and implemented in Maple 2015. These include:
Computing Commutators and Anticommutators between equations, or of an expression with an equation.
Library:−Commute⁡A,F⁡A=true whenever A is a quantum operator and F is a commutative mapping (see Cohen-Tannoudji, Quantum Mechanics, page 171).
Differentiating with respect to a noncommutative variable whenever all the variables present in the derivand commute with the differentiation variable.
Automatic computation of F⁡X·Ket⁡X,x=F⁡x⁢Ket⁡X,x, that is the automatic computation of a function of an operator applied to its eigenkets (see Cohen-Tannoudji, Quantum Mechanics, page 171).
Parameterized commutators; for example: when setting the rule Commutator⁡A,ⅇλ⁢B=λ⁢C, take λ as a parameter, so Commutator⁡A,ⅇα⁢B now returns α⁢C, not λ⁢C.
Automatic derivation of a commutator rule: Commutator(A, F(B)) = F '(B) when Commutator(A, C) = Commutator(B, C) = 0 and C = Commutator(A, B), as shown in (see Cohen-Tannoudji, Quantum Mechanics, page 171).
fA⁢Aa=fa⁢Aa, including cases like for instance f⁡α⁢A⁢Aa=f⁡α⁢a⁢Aa, or ⅇI⁢f⁡t⁢Aℏ⁢Aa=ⅇI⁢f⁡t⁢aℏ⁢Aa.
New mechanism to have more than one algebra rule related to the same function (for example, a function of two arguments that come in different order).
The dot product of the inverse of an operator, Inverse(A) · Ket, now returns the same as 1/A · Ket.
F⁡H is Hermitian if H is Hermitian and F is assumed to be real, via Assume, assuming, or Setuprealobjects=F.
Implement that F⁡H is Hermitian if H is Hermitian and F is a mathematical real function, that is, one that maps real objects into real objects; in this change only exp, the trigonometric functions and their inert forms are included.
Add a few previously missing Unitary and Hermitian operator cases:
a) if U and V are unitary, the U V is also unitary.
b) if A is Hermitian then ⅇi⁢A is unitary.
c) if U is unitary and A is Hermitian, then U⁢A⁢U† is also Hermitian.
Make the type definition for ExtendedQuantumOperator more precise to include as such any arbitrary function of an ExtendedQuantumOperator.
restart; withPhysics:
interfaceimaginaryunit = i;
Setupnotation = true, op = U,V,W,Z, quiet
mathematicalnotation=true,quantumoperators=U,V,W,Z
U = V
U=V
W = Z
W=Z
CommutatorU=V, W
U,W−=V,W−
AntiCommutator,
U,W+=V,Z+
Arbitrary commutative mappings of a quantum operator V commute with V.
typeF, commutative, typeV, noncommutative;
true,true
Library:-CommuteFV, V
Derivatives with respect to the noncommutative variable V can now proceed whenever all the operators found in the derivand commute with V.
%diff = diffVn, V
ⅆⅆVVn=n⁢Vn−1
When an operator is used as label for a basis of Kets, for example X, so a case where the Ket is automatically an eigenket of the operator X, the application of a function of X to its eigenkets, and with that also the Bracket of a function of X, are now automatically computed (see Cohen-Tannoudji, Quantum Mechanics, page 171).
For example:
Setupop = X, continuousbasis=X
* Partial match of 'op' against keyword 'quantumoperators'
* Partial match of 'continuousbasis' against keyword 'quantumcontinuousbasis'
quantumcontinuousbasis=X,quantumoperators=U,V,W,X,Z
From the previous Maple releases:
'X . KetX,x'
X·Xx
x⁢Xx
%BracketBraX, x__1 , X, KetX,x__2
Xx__1|X|Xx__2
x__2⁢δ⁡x__2−x__1
New in Maple 2015:
'fX . KetX,x'
f⁡X·Xx
f⁡x⁢Xx
So, for instance, for the Bracket:
%BracketBraX, x__1 , fX, KetX,x__2
Xx__1|f⁡X|Xx__2
f⁡x__2⁢δ⁡x__2−x__1
It works the same way for a discrete basis; set for instance X to be a label for a discrete basis.
Setupredo, discretebasis=X
* Partial match of 'discretebasis' against keyword 'quantumdiscretebasis'
quantumdiscretebasis=X
Compute again the value of (115):
f⁡x__2⁢δx__1,x__2
Example with functions of functions: use the `*` operator in the left-hand sides and the active dot `.` operator in the right-hand sides to see the operation performed.
fα⋅X⋅KetX,x=fα⋅X·KetX,x
f⁡α⁢X⁢Xx=f⁡α⁢x⁢Xx
expⅈ⋅ft⋅Xℏ⋅KetX,x=expⅈ⋅ft⋅Xℏ·KetX,x
ⅇⅈ⁢f⁡t⁢Xℏ⁢Xx=ⅇⅈ⁢f⁡t⁢xℏ⁢Xx
Xk⋅KetX,x=Xk·KetX,x assumingk,nonnegint
Xk⁢Xx=xk⁢Xx
Implement parameterized commutators. For example, set the following algebra rule:
Setupredo, op = A,B,C, %CommutatorA,ⅇλ⁢B=λ⁢C
algebrarules=A,ⅇλ⁢B−=λ⁢C,quantumoperators=A,B,C
As usual, you get:
%Commutator =CommutatorA,ⅇλ⁢B
A,ⅇλ⁢B−=λ⁢C
New: λ, appearing on both the left-hand and right-hand sides of the rule in (122), is thus considered one of the variables of this rule (that is, a parameter of the rule), so for instance changing λ by α or by α2 the rule works as expected, (that is, parameterized by λ)
%Commutator=CommutatorA,ⅇα⁢B
A,ⅇα⁢B−=α⁢C
%Commutator=CommutatorA,ⅇ12⁢α⁢B
A,ⅇα⁢B2−=α⁢C2
When A and B are quantum operators, both commute with their commutator, and let F be an arbitrary commutative mapping, you have that the commutator of A or B with F applied to the other one is computable (see Cohen-Tannoudji, Quantum Mechanics, (51), page 171). To illustrate this, redo the algebra rules:
Setupredo, %CommutatorA, B = C, %CommutatorA, C=0, %CommutatorB, C=0
algebrarules=A,B−=C,A,C−=0,B,C−=0
%Commutator = CommutatorA,FB
A,F⁡B−=C⁢ⅆⅆBF⁡B
Note that this turns the specification of commutator rules for known functions of quantum operators redundant. For example, there is in this moment no algebra rule for the Commutator of A with the exponential ⅇα⁢B and nevertheless the value of this commutator can be (now automatically) derived from the algebra rules:
A,ⅇα⁢B−=α⁢C⁢ⅇα⁢B
%Commutator=CommutatorA,Bk assumingk,integer
A,Bk−=k⁢C⁢B−1+k
Many algebra rules for functions with same name but different arguments.
Setupredo, hermitianoperators = A_, r_,p_
hermitianoperators=A→,p→,r→
The following two commutators involve the single product function, but the order of the arguments is relevant, consider a case where the left-hand sides of the commutators are not necessarily equal.
%Commutatorp_·A_r_,r_=−ⅈ⋅ℏ⋅B_r_
p→·A→⁡r→,r→−=−ⅈ⁢ℏ⁢B→⁡r→
%CommutatorA_r_·p_,r_=−ⅈ⋅ℏ⋅C_r_
A→⁡r→·p→,r→−=−ⅈ⁢ℏ⁢C→⁡r→
Set both commutators as algebra rules at the same time (not possible before this change).
Setupredo, ,
algebrarules=p→·A→⁡r→,r→−=−ⅈ⁢ℏ⁢B→⁡r→,A→⁡r→·p→,r→−=−ⅈ⁢ℏ⁢C→⁡r→
Verify the commutators return as expected.
%Commutator = CommutatorA_r_·p_,r_
%Commutator = Commutatorp_·A_r_,r_
Handle Inverse(A) ⋅ Ket the same as 1/A ⋅ Ket
A . KetA,n
n⁢An
InverseA . KetA, n
Ann
Setupredo, unita = U, V, her = H, quiet
hermitianoperators=H,unitaryoperators=U,V
Library:−IsUnitaryOperator⁡U⁢V
Library:−IsUnitaryOperator⁡ⅇi⁢H
U H DaggerU
U⁢H⁢U†
Library:−IsHermitianOperator⁡
withLibrary:-PhysicsType
AnnihilationCreationOperator,AnnihilationOperator,AppliableProcedure,AppliedQuantumOperator,AtProcedure,CommutativeMapping,CompositeDifferentiationOperator,Contravariant,Covariant,CreationOperator,DifferentialOperator,DifferentialOperatorIndexed,DifferentialOperatorSymbol,EntirelyNotNestedIntegral,EuclideanIndex,ExpandableProduct,ExtendedBra,ExtendedDifferentialOperator,ExtendedDifferentialOperatorIndexed,ExtendedDifferentialOperatorSymbol,ExtendedKet,ExtendedProjector,ExtendedProjectorKind,ExtendedQuantumOperator,ExtendedTensor,ExtendedVectorDifferentialOperator,HalfInteger,HermitianOperator,IdentityMatrix,LeviCivitaTensor,LiteralSubscript,NegativeExponent,NonCommutativeProduct,NotNestedIntegral,NumericalIndex,PhysicsD_2,PhysicsFunction,PhysicsKnownFunction,PhysicsVectors,Physicsd_2,Polynomial,Procedure,ProjectorCore,ProjectorInt,ProjectorKind,ProjectorKindDot,ProjectorKindStar,ProjectorSum,QuantumNumber,QuantumObject,QuantumOperator,QuantumOperatorFunction,SpaceIndexValue,SpaceTimeVectorApplied,SpacetimeIndexValue,Tensor,TensorAllowWithoutIndices,TensorInCurrentCoordinates,TensorIndex,TensorInternalRepresentation,TensorQuantumOperator,TensorStructure,TensorVector,TensorWithAbstractIndices,TensorWithIndices,UnitaryOperator,VectorDifferentialOperator,VectorOperator,VectorOperatorApplied,Vectorial,X_mu,gaugeindex,spaceindex,spacetimeindex,spinorindex,tetradindex,x_mu
typeH,HermitianOperator
Assume now that F is a real function of its argument:
AssumeF∷real
F::real
Hence FH is also an Hermitian operator:
typeFH,HermitianOperator
%Dagger = DaggerFH
F⁡H†=F⁡H
For instance, sin is a real function of its argument:
%Dagger = DaggersinH
sin⁡H†=sin⁡H
Make more precise the definition of Physics:-Library:-PhysicsType:-ExtendedQuantumOperator to include functions of ExtendedQuantumOperators.
typeV,QuantumOperator
typeFV,ExtendedQuantumOperator
typeFV+V,ExtendedQuantumOperator
One new enhanced mode was added to the Physics setup, automaticsimplification, and a new Physics:-Assume command make expressions be automatically expressed in simpler forms and allow for very flexible ways of implementing assumptions, making the Physics environment concretely more expressive.
Assume
In almost any mathematical formulation in Physics, there are objects that are real, positive, or just angles that have a restricted range; for example: Planck's constant, time, the mass and position of particles, and so on. When placing assumptions using the assume command, however, expressions entered before placing the assumptions and those entered with the assumptions cannot be reused in case the the assumptions are removed. Also, when using assume variables get redefined so that geometrical coordinates (spacetime, Cartesian, cylindrical, and spherical) loss their identity. These issues got addressed with a new Assume command, that does not redefine the variables, implementing the concept of an "extended assuming", allowing for reusing expressions entered before placing assumptions and also after removing them. Assume also includes the functionality of the additionally command.
The new Assume command implements the concept of an "extended assuming".
Consider a generic variable, x; nothing is known about it.
aboutx
x:
nothing known about this object
Each variable has an associated number that depends on the session, and the computer (internally) uses this number to refer to the variable.
addressofx
18446744078214447198
When using the assume command to place assumptions on a variable, this number associated to it changes, for example:
assume0 < x < Pi2
18446744078389139102
Indeed, the variable x got redefined and renamed, it is not anymore the variable x referenced in (152).
Originally x, renamed x~:
is assumed to be: RealRange(Open(0),Open(1/2*Pi))
To undo assumptions placed using the assume command one reassigns the variable x to itself:
x ≔ 'x'
x≔x
Check the numerical address: it is again equal to (152).
The key observation is that variables that receive assumptions using assume get redefined at each assumption, and this means two things:
1) all the equations or expressions, entered before placing the assumptions on x using assume, involve a variable x that is different than the one that exists after placing the assumptions, and so these previous expressions cannot be reused. They involve a different variable.
2) Also, because, after placing the assumptions using assume, x refers to a different object, programs that depend on the x that existed before placing the assumptions will not recognize the new x redefined by assume .
For example, if x was part of a coordinate system and the spacetime metric gμ,νdepends on it, the new variable x, redefined within assume, being a different symbol, will not be recognized as part of the dependency of gμ,ν. This posed obstacles to working with curved spacetimes that depend on parameters or on coordinates that have a restricted range. Likewise, all the Physics:-Vectors commands look for the Cartesian, cylindrical, or spherical coordinates sets x,y,z,ρ,φ,z,r,θ,φ, respectively, in order to determine how to proceed, but these variables disappear if you use assume to place assumptions on them. For that reason, only assuming was fully compatible with Physics, not assume. A similar situation happens with the VectorCalculus package.
These issues get resolved with the new Assume command that uses all the implementation of the existing assume command but with a different approach: the variables being assumed do not get redefined, and hence:
a) you can reuse expressions or equations entered before placing the assumptions, and
b) you can also undo the assumptions and reuse results obtained with assumptions.
This is the concept of an extended assuming. Also, commands that depend on these assumed variables will all continue to work normally, before, during, or after placing the assumption, because the variables never get redefined.
For example, before placing assumptions this simplification attempt accomplishes nothing:
simplifyarccoscosx
arccos⁡cos⁡x
Assume now that 0 < x < Pi2:
Assume0 < x < Pi2
x::0,π2
The new command echoes the assumption placed.
a) The address of x is still the same as in (152) before placing the assumption.
So, the variable did not get redefined. The system, however, knows about the assumption - all the machinery of the assume command is being used.
Hence, expressions entered before placing assumptions can be reused. For example, you can reuse (156) now and get:
x
To clear the assumptions on x, you can use either Assumex=x or Assumeclear=...,x in the case of many variables being cleared in one go, or in the case of a single variable being cleared:
Assumeclear = x
In summary, the new Assume command implements the concept of an extended assuming, that can be turned ON and OFF at will and at any moment without changing the variables involved.
The implementation also includes the functionality of the additionally command. For that purpose add the keyword additionally anywhere in the calling sequence. For example:
Assumex∷positive
x::0,∞
is assumed to be: RealRange(Open(0),infinity)
Assumeadditionally, x<1
x::0,1
is assumed to be: RealRange(Open(0),Open(1))
Automatic simplification
This new Physics mode of computation means that, after you enter Setup⁡automaticsimplification=true, the output corresponding to every single input (not just related to Physics) gets automatically simplified in size before being returned to the screen. This is fantastically convenient for interactive work in most situations.
restart;withPhysics:
By default, automaticsimplification is turned OFF; you can query about that via:
Setupautomaticsimplification
automaticsimplification=false
Hence, for instance, if you input the following expressions the computer just echoes your input:
a⁢c+a⁢d+b⁢c+b⁢d
−3⁢sin⁡x12⁢cos⁡x2⁢sin⁡xm+3⁢sin⁡x12⁢cos⁡x2⁢cos⁡xn+4⁢sin⁡x12⁢cos⁡x4⁢sin⁡xm−4⁢sinx12⁢cosx4⁢cosxn
−3⁢sin⁡x⁢cos⁡x2⁢sin⁡xm+3⁢sin⁡x⁢cos⁡x2⁢cos⁡xn+4⁢sin⁡x⁢cos⁡x4⁢sin⁡xm−4⁢sin⁡x⁢cos⁡x4⁢cos⁡xn
There is however some structure behind (164) and (165) and, in most situations, it is convenient to have these structures apparent, in part because they frequently provide hints on how to proceed ahead, but also because a more compact expression is, roughly speaking, simpler to understand. To see this automaticsimplification in action, turn it ON:
Setupautomaticsimplification=true
automaticsimplification=true
Recall these same expression (you could input it with the equation label (164) as well) ...
c+d⁢a+b
−4⁢cos⁡x2−34⁢sin⁡x⁢cos⁡x2⁢cos⁡xn−sin⁡xm
What happened is that this output, as everything else after you set automaticsimplification=true and with no exceptions, is now further processed with simplify/size before being returned. You can now enjoy computing with frankly shorter expressions all around.
You can turn automaticsimplification OFF the same way:
Setupautomaticsimplification=false
A number of changes were performed in the Vectors subpackage to make the computations more natural and versatile:
Enhancement in the algebraic manipulations of inert vectorial differential operators.
Improvements in the manipulation of of scalar products of vector or scalar functions (to the left) with vectorial differential operators (to the right), that result in vectorial or scalar differential operators.
Several improvements in the use of trigonometric simplifications when changing the basis or the coordinates in vectorial expressions.
Add new functionality mapping Vectors:-Component over equations, automatically changing basis if the two sides are not projected over the same base.
Implement the expansion of the square of a vectorial expression as the scalar (dot) product of the expression with itself, including the case of a vectorial quantum operator expression.
Allow multiplying equations also when the product operator is in scalar and vector products (Vectors:-`.` and Vectors:-`&x`).
ChangeBasis: allow changing coordinates between sets of orthogonal coordinates also when the expression is not vectorial.
New command: ChangeCoordinates, to rewrite an algebraic expression, using Cartesian, cylindrical, and spherical coordinates, an expression that involves these coordinates, either a scalar expression, or vectorial one but then not changing the orthonormal basis.
Enhance the capabilities for manipulating inert vectorial differential operations on projected vectors constructed with non-projected vectors.
restart; withPhysics: withVectors:
PDEtools:-declare f_x,y,z:
f→⁡x,y,z⁢will now be displayed as⁢f→
Consider the vector projected in the Cartesian basis, constructed with the non-projected vector f→:
f_x,y,z . _i⋅_i+f_x,y,z . _j⋅_j+f_x,y,z . _k⋅_k
f→·i∧⁢i∧+f→·j∧⁢j∧+f→·k∧⁢k∧
Take its divergence but not computing the operation, that is, using the inert %Divergence operator:
%Divergence
∇·f→·i∧⁢i∧+f→·j∧⁢j∧+f→·k∧⁢k∧
Evaluate and expand, also switching the order of these operations:
expand
f→·i∧⁢∇·i∧+f→×∇×i∧·i∧+f→x·i∧+f→·j∧⁢∇·j∧+f→×∇×j∧·j∧+f→y·j∧+f→·k∧⁢∇·k∧+f→×∇×k∧·k∧+f→z·k∧
f→x·i∧+f→y·j∧+f→z·k∧
Take the %Curl instead of the %Divergence:
%Curl
∇×f→·i∧⁢i∧+f→·j∧⁢j∧+f→·k∧⁢k∧
2⁢∇×i∧⁢f→·i∧−f→⁢∇×i∧·i∧+3⁢∇×f→−i∧⁢i∧·∇×f→+f→x×i∧+2⁢∇×j∧⁢f→·j∧−f→⁢∇×j∧·j∧−j∧⁢j∧·∇×f→+f→y×j∧+2⁢∇×k∧⁢f→·k∧−f→⁢∇×k∧·k∧−k∧⁢k∧·∇×f→+f→z×k∧
f→y·k∧−f→z·j∧⁢i∧+f→z·i∧−f→x·k∧⁢j∧+f→x·j∧−f→y·i∧⁢k∧
Compare this result with evaluating first the inert ∇×... operation:
3⁢∇×f→−i∧⁢i∧·∇×f→+f→x×i∧−j∧⁢j∧·∇×f→+f→y×j∧−k∧⁢k∧·∇×f→+f→z×k∧
Verify that (179) and (180) are mathematically equal by projecting f→, so using:
PDEtools:-declarefx,y,z
f⁡x,y,z⁢will now be displayed as⁢f
f_x,y,z =f1x,y,z _i +f2x,y,z _j +f3x,y,z _k
f→=f1⁢i∧+f2⁢j∧+f3⁢k∧
Substitute f→⁡x,y,z in (179) and (180)
eval,
f3y−f2z⁢i∧+f1z−f3x⁢j∧+f2x−f1y⁢k∧
2⁢f3y−f2z⁢i∧+2⁢f1z−f3x⁢j∧+2⁢f2x−f1y⁢k∧+j∧⁢f3x−k∧⁢f2x−i∧⁢f3y+k∧⁢f1y+i∧⁢f2z−j∧⁢f1z
Collecting unit vectors the two expressions are identical.
collect,_i,_j,_k
Better handling of scalar products of vectors and vectorial differential operators. Consider:
f ≔ f__1 _r+f__2 _theta+f__3 _phi
f≔f__3⁢φ∧+f__1⁢r∧+f__2⁢θ∧
So f . Nabla is actually not a vector but a differential operator, hence, for instance:
f . Nabla . f
r∧⁢−f__32r−f__22r+θ∧⁢−f__32⁢cos⁡θr⁢sin⁡θ+f__1⁢f__2r+φ∧⁢f__1⁢f__3r+f__2⁢f__3⁢cos⁡θr⁢sin⁡θ
Several improvements in the use of trigonometric simplifications when changing the orthogonal basis or the coordinates in vectorial expressions. Consider:
arctansintheta,costheta
arctan⁡sin⁡θ,cos⁡θ
assuming 0≤theta≤Pi
θ
New:
assuming Pi<theta≤2 Pi
θ−2⁢π
With that and similar relationships in mind, consider the following vectorial expressions
_phirho
φ∧ρ
ChangeBasis,cartesian
−sin⁡φ⁢i∧ρ+cos⁡φ⁢j∧ρ
ChangeBasis,cartesian,alsocomponents
−y⁢i∧x2+y2+j∧⁢xx2+y2
Reverse now this transformation, arriving back at (191).
ChangeBasis,cylindrical,alsocomponents
Compare the output of ChangeBasis with the one of the new ChangeCoordinates; when using the new command, the unit vectors remain unchanged:
ChangeCoordinates,cylindrical
−sin⁡φ⁢i∧+cos⁡φ⁢j∧ρ
ChangeBasis,cylindrical
−y⁢cos⁡φ+sin⁡φ⁢x⁢ρ∧x2+y2+cos⁡φ⁢x+y⁢sin⁡φ⁢φ∧x2+y2
For spherical coordinates, consider for instance:
_theta
θ∧
x⁢z⁢i∧x2+y2⁢x2+y2+z2+y⁢z⁢j∧x2+y2⁢x2+y2+z2−x2+y2⁢k∧x2+y2+z2
ChangeBasis,spherical,alsocomponents
θ⋅φ⋅_r
θ⁢φ⁢r∧
arccos⁡zx2+y2+z2⁢arctan⁡y,x⁢x⁢i∧x2+y2+z2+arccos⁡zx2+y2+z2⁢arctan⁡y,x⁢y⁢j∧x2+y2+z2+arccos⁡zx2+y2+z2⁢arctan⁡y,x⁢k∧⁢zx2+y2+z2
ChangeBasis,spherical, alsocomponents
Map Vectors:-Component over equations, automatically changing basis if the two sides are not projected over the same base.
a _i+b _j = A _i+B _j
a⁢i∧+b⁢j∧=A⁢i∧+B⁢j∧
Component, 1
a=A
When the sides of the equation are projected onto different basis, Component maps both sides onto the basis of the left-hand side.
a _i+b _j = A _theta
a⁢i∧+b⁢j∧=A⁢θ∧
a=A⁢cos⁡θ⁢cos⁡φ
rhs = lhs
A⁢θ∧=a⁢i∧+b⁢j∧
0=sin⁡θ⁢cos⁡φ⁢a+sin⁡θ⁢sin⁡φ⁢b
Component, 2
A=cos⁡φ⁢cos⁡θ⁢a+cos⁡θ⁢sin⁡φ⁢b
The square of a vectorial expression as the scalar (dot) product of the expression with itself.
a_ + b_2
a→+b→2
a→2+2⁢a→·b→+b→2
Example with quantum vectorial non-commutative operators:
Setupop = A_, B_
quantumoperators=A→,B→
A_+B_2
A→+B→2
A→·A→+A→·B→+B→·A→+B→·B→
Setuphermitian = A_, B_
* Partial match of 'hermitian' against keyword 'hermitianoperators'
hermitianoperators=A→,B→
A→2+A→·B→+B→·A→+B→2
Allow multiplying equations by multiplying their left-hand sides and equating the result to the product of the right-hand sides also for vectorial scalar and vector products (Vectors:-`.` and Vectors:-`&x`)
E_=F_
E→=F→
G_=H_
G→=H→
To enter the · and × vector products you can use the palette of 'Common Symbols', or directly type the dot and &x for the cross product:
·
E→·G→=F→·H→
×
E→×G→=F→×H→
Twenty-six new commands, useful for programming and interactive computation, have been added to the Physics:-Library package. These are:
ClearCaches
ExpandProductsInExpression
FlipCharacterOfFreeIndices
FromMinkowskiKindToSignature
FromSignatureToMinkowskiKind
FromTetradToTetradMetric
GetByMatchingPattern
GetTypeOfTensorIndices
GetVectorRootName
HasOriginalTypeOfIndices
IsEuclideanSignature
IsGalileanSignature
IsMinkowskiSignature
IsValidSignature
IsEuclideanMetric
IsGalileanMetric
IsMinkowskiMetric
IsOrthonormalTetradMetric
IsNullTetradMetric
IsNullTetrad
IsOrthonormalTetrad
IsTensorFunctionalForm
RepositionRepeatedIndicesAsIn
RestoreRepeatedIndices
RewriteTypeOfIndices
SplitIndicesByType
Additionally, several improvements in the previously existing Physics:-Library commands have been implemented:
Add the types spacetimeindex, spaceindex, spinorindex, gaugeindex, and tetradindex to the exports of the Library:-PhysicsType package.
Library:-ToCovariant and Library:-ToContravariant when the spacetime is curved and some 'tensors' involved are not actually a tensor in a curved space.
Add new options changefreeindices and flipcharacterofindices to the Library:-ToCovariant and Library:-ToContravariant commands, to actually lower and raise the free indices as necessary, instead of the default behavior of returning an expression that is mathematically equivalent to the given one.
Extend the Library commands GetCommutativeSymbol, GetAntiCommutativeSymbol, and GetNonCommutativeSymbol to return vectorial symbols when Vectors is loaded and a vectorial symbol is requested.
Add functionality to the Library command GetSymbolsWithSameType so that when the input is a list of objects, it returns a list with new symbols of the corresponding types, automatically taking into account the vectorial (Y/N) kind of the symbols.
restart:withPhysics
`*`,`.`,Annihilation,AntiCommutator,Antisymmetrize,Assume,Bra,Bracket,Check,Christoffel,Coefficients,Commutator,Coordinates,Creation,D_,Dagger,Define,Dγ,Einstein,Expand,ExteriorDerivative,FeynmanDiagrams,Fundiff,Geodesics,GrassmannParity,Gtaylor,Intc,Inverse,Ket,KillingVectors,KroneckerDelta,LeviCivita,Library,LieBracket,LieDerivative,Normal,Parameters,PerformOnAnticommutativeSystem,Projector,Psigma,Ricci,Riemann,Setup,Simplify,SpaceTimeVector,SubstituteTensor,SubstituteTensorIndices,SumOverRepeatedIndices,Symmetrize,TensorArray,Tetrads,ToFieldComponents,ToSuperfields,Trace,TransformCoordinates,Vectors,Weyl,`^`,dAlembertian,d_,diff,g_
ExpandProductsInExpression is a new Library routine, to perform the equivalent to frontend@expand but including now noncommutative products, powers, and vectorial sums. This routine also has the potential of substituting all the calls to frontend, difficult to use in user-written Physics programs due to not handling noncommutative operations.
FlipCharacterOfFreeIndices is a new Library routine for flipping the free indices of a tensorial expression.
DefineA,B
A,B,γμ,σμ,∂μ,gμ,ν,δμ,ν,εα,β,μ,ν
An example of a tensorial expression:
Arho Amu Bmu,nu + Anu Amu Bmu,rho
Bμ,ρ⁢A⁢μ⁢μ⁢Aν+Bμ,ν⁢Aρ⁢A⁢μ⁢μ
The free indices of this expression are covariant:
Check, free
The free indices are: ...
ν,ρ
Flip all the free indices (the resulting expression is not mathematically equal, so this is different - complementary - to what you can achieve with Library:-ToCovariant and Library:-ToContravariant and their new option flipcharacterofindices):
Library:-FlipCharacterOfFreeIndices
A⁢μ⁢μ⁢A⁢ν⁢ν⁢Bμρμρ+A⁢μ⁢μ⁢A⁢ρ⁢ρ⁢Bμνμν
Check, all
The repeated indices per term are: ...,...,...; the free indices are: ...
μ,μ,~nu,~rho
Flip only nu:
Library:-FlipCharacterOfFreeIndices, nu
Aρ⁢A⁢μ⁢μ⁢Bμνμν+A⁢μ⁢μ⁢A⁢ν⁢ν⁢Bμ,ρ
μ,μ,ρ,~nu
RepositionRepeatedIndicesAsIn is a new Library routine for repositioning repeated indices following a pattern. Consider a tensor T with one index repeated.
DefineT, symmetric
T,Aμ,Bμ,ν,γμ,σμ,∂μ,gμ,ν,δμ,ν,εα,β,μ,ν
Talpha, alpha, beta, rho
Tααβ,ρααβ,ρ
Rewrite this tensor such that the repeated indices appear in the first and third positions, so following a pattern as:
sigma, rho, sigma, delta
σ,ρ,σ,δ
Library:-RepositionRepeatedIndicesAsIn,;
Tα,βαρα,βαρ
RestoreRepeatedIndices is a new routine to use, in a given expression, the same repeated indices used in another expression.
Defineeta
η,Aμ,Bμ,ν,γμ,σμ,Tααβ,ρααβ,ρ,∂μ,gμ,ν,δμ,ν,εα,β,μ,ν
Consider these two tensorial expressions:
ημ,μ
ημμμμ
Aρ⁢Bρ
In (234), you want to use the repeated indices used in (235): indicate the two expressions, the indices in and the indices out.
Library:-RestoreRepeatedIndices,, mu, rho
ηρρρρ
RewriteTypeOfIndices rewrites a tensor in terms of the type of indices used when it got defined (for example, via Define⁡Aμ,a, where μ is spacetime and a is tetradic).
withTetrads:
Consider a tensor where the first index is tetradic and the second index is spacetime.
Defineredo, Aa,mu
Aa,μ,Bμ,ν,γμ,σμ,Tααβ,ρααβ,ρ,∂μ,ημμμμ,ηa,b,gμ,ν,lμ,mμ,m&conjugate0;μ,nμ,δμ,ν,εα,β,μ,ν
How can the components of Aμ,a, that is the first index spacetime and the second index tetrad be expressed in terms of the components of Aa,μ?
Amu,a: % = Library:-RewriteTypeOfIndices%
Aμ,a=𝔢⁢bμ⁢bμ⁢𝔢aνaν⁢Ab,ν
New dedicated Physics types added to the Physics:-Library:-PhysicsType package: CommutativeMapping, ExpandableProduct, gaugeindex, spaceindex, spacetimeindex, spinorindex, and tetradindex.
A CommutativeMapping is one performed using a commutative function (regardless of whether its arguments are or are not commutative).
typeexpx,CommutativeMapping
Setupop=A
quantumoperators=A
typeexpA, CommutativeMapping
typeAx, CommutativeMapping
false
Indices of different kinds can now be identified as being of different types.
Setupspacetimeindices=greek, spaceindices = lowercase, tetradindices=uppercase
spaceindices=lowercaselatin,spacetimeindices=greek,tetradindices=uppercaselatin
mu, a, A
μ,a,A
maptype, , spacetimeindex
true,false,false
maptype, , spaceindex
false,true,false
maptype, , tetradindex
false,false,true
Improvements in Library:-ToCovariant and Library:-ToContravariant when the spacetime is curved and the expression being transformed is not actually a tensor in curved spaces.
For example, set the spacetime to something not Galilean for experimentation purposes:
Definelmu
Aa,μ,Bμ,ν,𝒟μ,γμ,σμ,Rμ,ν,Rμ,ν,α,β,Tααβ,ρααβ,ρ,Cμ,ν,α,β,Xμ,∂μ,𝔢a,μ,ημμμμ,ηa,b,gμ,ν,γa,b,c,lμ,lμ,λa,b,c,mμ,m&conjugate0;μ,nμ,Γμ,ν,α,Gμ,ν,δμ,ν,εα,β,μ,ν
l⁡r,θ,φ,t⁢will now be displayed as⁢l
d_xil~psiX
∂ξ⁡l⁢ψ⁢ψ
In a curved spacetime as the one just set, this derivative (252) is not a tensor. Rewriting it in terms of its Covariant components, then in terms of its Contravariant components:
Library:-ToCovariant
∂ξ⁡g⁢μ,ψ⁢μ,ψ⁢lμ+g⁢μ,ψ⁢μ,ψ⁢∂ξ⁡lμ
Library:-ToContravariant
gμ,ξ⁢∂⁢μ⁢μ⁡l⁢ψ⁢ψ
dAlembertiand_xil~psiX
□⁡∂ξ⁡l⁢ψ⁢ψ
□⁡g⁢μ,ψ⁢μ,ψ⁢∂ξ⁡lμ+2⁢∂α⁡g⁢μ,ψ⁢μ,ψ⁢∂⁢α⁢α⁡∂ξ⁡lμ+g⁢μ,ψ⁢μ,ψ⁢□⁡∂ξ⁡lμ
□⁡gμ,ξ⁢∂⁢μ⁢μ⁡l⁢ψ⁢ψ+2⁢∂α⁡gμ,ξ⁢∂⁢α⁢α⁡∂⁢μ⁢μ⁡l⁢ψ⁢ψ+gμ,ξ⁢□⁡∂⁢μ⁢μ⁡l⁢ψ⁢ψ
The default behavior in Maple 18 for Library:-ToCovariant and Library:-ToContravariant is to return an expression that is mathematically equal to the given one, and where the tensors in it (all of them, or just those indicated) appear with all of their indices covariant or all contravariant.
New functionality: return an expression that is not mathematically equal to the given one but, instead, it has all (or part) of its free indices respectively covariant or contravariant. For that purpose, pass the new option flipcharacterofindices
DefineF,G
F,G,Aa,μ,Bμ,ν,𝒟μ,γμ,σμ,Rμ,ν,Rμ,ν,α,β,Tααβ,ρααβ,ρ,Cμ,ν,α,β,Xμ,∂μ,𝔢a,μ,ημμμμ,ηa,b,gμ,ν,γa,b,c,lμ,lμ,λa,b,c,mμ,m&conjugate0;μ,nμ,Γμ,ν,α,Gμ,ν,δμ,ν,εα,β,μ,ν
Fmu,nu Gmu,~alpha
Gμαμα⁢F⁢μν⁢μν
Check,indices, all
μ,ν,~alpha
Default behavior: the returned expression is mathematically equal, but the tensors appear with all of their indices covariant (Library:-ToCovariant) or contravariant (Library:-ToContravariant), by means of introducing contractions with the metric.
g⁢α,κ⁢α,κ⁢Gμ,κ⁢g⁢β,μ⁢β,μ⁢Fβ,ν
The aforementioned G and F have only covariant indices. This result simplifies to the given (259).
Simplify−
New: lower or raise only the free indices in the departing expression.
Library:-ToContravariant,changefreeindices
Gμαμα⁢F⁢μ,ν⁢μ,ν
New: flip character of free indices, to all free indices covariant (Library:-ToCovariant) or all free indices contravariant (Library:-ToContravariant). In (259), the free indices are α (contravariant) and ν (covariant), so in the following we have first α covariant, then ν contravariant.
Library:-ToCovariant,flipcharacterofindices
Gμκμκ⁢F⁢βν⁢βν⁢gα,κ⁢gβμβμ
Check,indices, free
α,ν
Library:-ToContravariant,flipcharacterofindices
Gκακα⁢Fμ,β⁢g⁢κ,μ⁢κ,μ⁢g⁢β,ν⁢β,ν
~alpha,~nu
Add several fields to the Physics:-Setup() applet in order to allow for manipulating all the Physics settings from within the applet.
New Physics:-Setup options: automaticsimplification and normusesconjugate.
When any of Physics or Physics:-Vectors are loaded, dtheta, dphi, etc. are now displayed as dθ, dφ, etc.
Implement, within the `*` operator, both the global and the Physics one, the product of equations as the product of left-hand sides equal the product of right-hand sides, eliminating the frequently tedious typing "lhseq1 lhseq2 = rhseq1 rhseq2". You can now just enter "eq1 eq2".
Automatically distribute dot products over lists, as in A·a,b,c=A·a,A·b,A·c.
Allow (A = B) - C also when A, B, and C are Matrices.
Add convert⁡`...`,setofequations and convert⁡`...`,listofequations to convert Physics:-Vectors, Matrices of equations, etc. into sets or lists of equations.
Annihilation and Creation operators are now displayed as in textbooks using a− and a+.
It is now possible to use equation labels to copy and paste expressions involving Annihilation and Creation operators.
Implement the ability in Fundiff to compute functional derivatives by passing only a function name as second argument. This works okay when the derivand contains this function with only one dependency (perhaps with many variables), say X, permitting varying a function quite like that done using paper and pencil.
The determination of symmetries and antisymmetries of tensorial expressions got enhanced.
The metric gμ,ν as well as the tetrad 𝔢a,μ and tetrad metric ημ,ν can now be (re)defined using the standard Physics:-Define command for defining tensors. Also, the definition can now be given directly in terms of a tensorial expression.
Add keyword option attemptzerorecognition in TensorArray, so that each component of the array is tested for 0.
Allow to sum over a list of objects, or over `in` structures like 'j∈a,b,c' when redefining sum, and also in Physics:-Library:-Add.
Harmonize the use of simplify/siderels with Physics, so that anticommutative and noncommutative objects, whether they are vectorial or not, are respected as such and not transformed into commutative objects when the simplification is performed.
Changes in design:
The output of KillingVectors has now the format of a vector solution by default, that is, a 4-D vector on the left-hand side and a list with its components on the right-hand side and as such can be repassed to the Define command for posterior use as a tensor. To recover the old format of a set of equation solutions for each vector component, a new optional argument, output = componentsolutions, got implemented.
Vectors:-Norm now returns the Euclidean real norm by default, that is: Norm⁡v→=v→·v→, and only return using conjugate, as in Norm⁡v→=v→·v→&conjugate0;, when the option conjugate is passed, or the setting normusesconjugate is set using Physics:-Setup.
The output of FeynmanDiagrams now discards, by default, all terms that include tadpoles. Also, an option, includetadpoles, to have these terms included as in previous releases, got implemented.
When Physics is loaded, 0m does not return 0, in view that, in Maple, 00 returns 1.
The dot product A·B of quantum operators A and B now returns as a (noncommutative) product A B when neither A nor B involve Bras or Kets.
If A is a quantum operator and Vectors is loaded, then A→ is also a quantum operator; likewise, if Z is a noncommutative prefix and Vectors is loaded then Z→ is also a noncommutative object.
When Vectors is loaded, the Hermitian and Unitary properties of operators set using the Setup command are now propagated to "the name under the arrow" and vice versa, so that if A is a Hermitian Operator, or Unitary, then A→ is too.
The SpaceTimeVector can now have dependency other than a coordinate system.
It is now possible to enter ∂μAμBμ even when the index is repeated twice, considering that μ in Aμ⁢Bμ = A·B is actually a dummy, so that a collision with μ in ∂μ can be programmatically avoided.
Diminish the use of KroneckerDelta as a tensor, using the metric g_ instead in the output of Physics commands, reserving KroneckerDelta to be used as the standard corresponding symbol in quantum mechanics, so not as a tensor.
restart;withPhysics: Setupmathematicalnotation=true
mathematicalnotation=true
Add several fields to the Physics:-Setup() applet, including Tetrad settings and the new automaticsimplification, in order to permit manipulating all the Physics settings directly from the applet.
Physics:-Setup:
dtheta, dphi, etc. are now displayed as dθ, dφ, etc. when Physics or Physics:-Vectors are loaded. This is particularly convenient when entering the spacetime metrics by giving the square of the line element and using dtheta, dphi, etc.to represent differentials of the coordinates. This is the square of the line element for the Schwarzschild metric in coordinates r,θ,φ,t
ds2 = r⁢dr22 m−r−r2⁢dtheta2−r2⁢sin⁡θ2⁢dphi2+r−2⁢m⁢dt2r
ds2=r⁢dr22⁢m−r−r2⁢dθ2−r2⁢sin⁡θ2⁢dφ2+r−2⁢m⁢dt2r
The product of equations as the product of left-hand sides equal to the product of right-hand sides.
a=b
c=d
⋅
a⁢c=b⁢d
2
a2=b2
ac=bd
⋅ 5 ⋅
5⁢a⁢c=5⁢b⁢d
Distribute a dot product over the elements of a list.
A·a,b,c
A⁢a,A⁢b,A⁢c
More flexible input notation: allow direct addition or subtraction of a Matrix to a Matrix equation.
M,N,R ≔ Matrix3,symbol=m,Matrix3,symbol=n,Matrix3,symbol=r
M,N,R≔m1,1m1,2m1,3m2,1m2,2m2,3m3,1m3,2m3,3,n1,1n1,2n1,3n2,1n2,2n2,3n3,1n3,2n3,3,r1,1r1,2r1,3r2,1r2,2r2,3r3,1r3,2r3,3
M=N−R
m1,1−r1,1m1,2−r1,2m1,3−r1,3m2,1−r2,1m2,2−r2,2m2,3−r2,3m3,1−r3,1m3,2−r3,2m3,3−r3,3=n1,1−r1,1n1,2−r1,2n1,3−r1,3n2,1−r2,1n2,2−r2,2n2,3−r2,3n3,1−r3,1n3,2−r3,2n3,3−r3,3
New: convert/setofequations and convert/listofequations, useful to transform matrix and vectorial equations into sets or lists of equations.
M=N
m1,1m1,2m1,3m2,1m2,2m2,3m3,1m3,2m3,3=n1,1n1,2n1,3n2,1n2,2n2,3n3,1n3,2n3,3
convert,setofequations
m1,1=n1,1,m1,2=n1,2,m1,3=n1,3,m2,1=n2,1,m2,2=n2,2,m2,3=n2,3,m3,1=n3,1,m3,2=n3,2,m3,3=n3,3
convert,listofequations
m1,1=n1,1,m2,1=n2,1,m3,1=n3,1,m1,2=n1,2,m2,2=n2,2,m3,2=n3,2,m1,3=n1,3,m2,3=n2,3,m3,3=n3,3
When a single matrix is passed, each element is equated to 0 and the related set or list is returned.
convertM,listofequations
m1,1=0,m1,2=0,m1,3=0,m2,1=0,m2,2=0,m2,3=0,m3,1=0,m3,2=0,m3,3=0
Vectorial equations are also handled:
A_ ≔ Ax _i +Ay _j + Az _k
A→≔Ax⁢i∧+Ay⁢j∧+Az⁢k∧
B_ ≔ Bx _i +By _j + bz _k
B→≔Bx⁢i∧+By⁢j∧+bz⁢k∧
convert⁡A→=B→,setofequations
Ax=Bx,Ay=By,Az=bz
The display of Annihilation and Creation operators is now with the minus and plus symbols as superscripts.
Annihilationpsi
a−
Creationpsi
a+
It is possible to use equation labels to refer to these operators.
%Commutator = Commutator,
a−,a+−=1
. Ketpsi, 0
ψ1
.
ψ0
Fundiff: when computing functional differentiation, you can indicate the functionality of the differentiation variable, as in:
Fundifffx, fy
δ⁡x−y
Frequently, however, x is an integration dummy variable, as in:
Intcgx fx,x
∫−∞∞g⁡x⁢f⁡xⅆx
The standard way of computing the functional derivative, indicating the functionality of the differentiation function, continues to work, as in:
Fundiff, fy
g⁡y
It is now possible to not indicate the functionality of the differentiation variable, so that the output comes directly expressed using the originally dummy variable, in this case x. Here you can delay the operation:
%Fundiff = Fundiff, f
δδ⁢f⁡∫−∞∞g⁡x⁢f⁡xⅆx=g⁡x
The determination of symmetries and antisymmetries of tensorial expressions got enhanced. Define a tensor H with the symmetries of the Riemann tensor
DefineHalpha,beta,mu,nu, symmetric = alpha,beta, mu,nu, antisymmetric = alpha,beta,mu,nu
γμ,Hα,β,μ,ν,σμ,∂μ,gμ,ν,εα,β,μ,ν
Consider now the tensorial derivative, in inert form (use %diff, not diff)
%diffHalpha,beta,mu,nu, Hrho,sigma,tau,delta
∂∂Hρ,σ,τ,δHα,β,μ,ν
This inert derivative is antisymmetric with respect to permutations of the indices of each of the pairs alpha,beta,mu,nu,rho,sigma,tau,delta.
Library:-IsTensorialAntisymmetric, alpha,beta,mu,nu,rho,sigma,tau,delta
Now replace the last pair, tau,delta by tau,sigma.
Library:-IsTensorialAntisymmetric, alpha,beta,mu,nu,rho,sigma,tau,sigma
Test the antisymmetry with respect to each pair of indices.
map2Library:-IsTensorialAntisymmetric, , alpha,beta,mu,nu,rho,sigma,tau,sigma
true,true,true,false
The metric can be defined in terms of a tensorial expression and using the standard Physics command for defining tensors, that is, Define. Consider, for instance, the following definition of the metric in terms of a tensor lμX and a Minkowski metric ημ,ν.
CoordinatesX
Define first lμX and ημ,ν.
lmuX, etamu,nu = rhsg_
γμ,Hα,β,μ,ν,σμ,Xμ,∂μ,ημ,ν,gμ,ν,lμ,δμ,ν,εα,β,μ,ν
Define now the metric gμ,νin terms of the following tensorial expression, directly using Define.
g_mu,nu = lmu lnu − etamu,nu
gμ,ν=lμ⁢lν−ημ,ν
Verify the resulting metric:
gμ,ν=l12+1l1⁢l2l1⁢l3l1⁢l4l1⁢l2l22+1l2⁢l3l2⁢l4l1⁢l3l2⁢l3l32+1l3⁢l4l1⁢l4l2⁢l4l3⁢l4l42−1
New Setup option normusesconjugate for Vectors:-Norm.
withPhysics:-Vectors
&x,`+`,`.`,ChangeBasis,ChangeCoordinates,Component,Curl,DirectionalDiff,Divergence,Gradient,Identify,Laplacian,∇,Norm,Setup,diff
A_ ≔ a _i + b _j + c _k
A→≔a⁢i∧+b⁢j∧+c⁢k∧
NormA_
a2+b2+c2
NormA_, conjugate
a⁢a&conjugate0;+b⁢b&conjugate0;+c⁢c&conjugate0;
Setupnormusesconjugate = true
normusesconjugate=true
New: summing over a list of objects.
Consider the following summation:
∑c=true,false⁡2c3otherwise
So, you want to sum a piecewise function where one of the conditions assume the value true, then false. The input would be the following and you see an error interruption.
sumpiecewisec, 2, 3, c = true, false;
Error, (in PiecewiseTools:-Is) Wrong kind of parameters in piecewise
This happens because of a premature evaluation of piecewise before the summation index c assumes a value, but even delaying the evaluation of piecewise with quotes you also receive (another kind of) error interruption
sum'piecewise'c, 2, 3, c = true, false;
Error, (in sum) second argument must be a name, name=a..b, name=RootOf, or name=algebraic
The problem is that the sum command does not accept a list of values for the summation index like the add command does.
These two issues get resolved when redefining the sum command as explained in Physics:-Setup (subsection on redefinesum) - the novelty in Maple 2015 is in accepting a list of values for the summation index as add does. Note you do not need to load Physics for this purpose; just enter:
Physics:-Setupredefinesum=true
redefinesum=true
Also, after redefining sum, you do not need to use delay evaluation quotes: the premature evaluation of the summand before the summation index assumes values do not happen anymore, so just enter:
Structures using `in`, as for instance 'j∈a,b,c' are now also allowed:
'sumpiecewisec, 2, 3, c in true, false';
∑c∈true,false⁡2c3otherwise
Change in FeynmanDiagrams: discard tadpoles by default. (This section is updated according to developments in FeynmanDiagrams for the Maple 2020 release)
PDEtools:-declarephiX
phi⁡X⁢will now be displayed as⁢φ
The interaction Lagrangian of the λ⁢φ⁡X4 model.
L ≔ lambda phiX4
L≔λ⁢φ4
The default is to compute with three vertices, to compute with only one vertex use
FeynmanDiagramsL,numberofvertices=1
I∫λ⁢φ4ⅆX 4
The corresponding graph:
FeynmanDiagramsL,numberofvertices=1,graph
The previous default included terms that involve tadpoles, that is, internal (loop) lines that start and end in the same vertex; to recover that behavior use the new keyword includetadpoles.
FeynmanDiagramsL,numberofvertices=1, tadpoles
I∫6⁢λ⁢φ2⁢φ,φ+λ⁢φ4ⅆX 4
Only the term with a tadpole and as a graph:
FeynmanDiagramsL,numberofvertices=1, tadpoles,loops=1, graphs
* Partial match of 'loops' against keyword 'numberofloops'
I∫6⁢λ⁢φ2⁢φ,φⅆX 4
The terms of the scattering matrix up to order 2 (two vertices). Set a new system of coordinates and turn OFF the PDEtools:-declare mechanism to see both X and Y in the output.
CoordinatesY
⁢Default differentiation variables for d_, D_ and dAlembertian are:⁢Y=y1,y2,y3,y4
⁢Systems of spacetime coordinates are:⁢Y=y1,y2,y3,y4
Y
OFF;
FeynmanDiagramsL,numberofvertices=2, labels=X, Y
I22!∫∫96⁢λ2⁢φ⁡X⁢φ⁡Y⁢φ⁡X,φ⁡Y3+72⁢λ2⁢φ⁡X2⁢φ⁡Y2⁢φ⁡X,φ⁡Y2+16⁢λ2⁢φ⁡X3⁢φ⁡Y3⁢φ⁡X,φ⁡YⅆX 4ⅆY 4
The graph corresponding to the term (process) with two external legs, each one in a different vertex; new: you can specify the legs using the _NP(leg 1, leg2, ...) or directly as a list with the legs, possibly indicating the vertices.
FeynmanDiagramsL,numberofvertices=2, labels=X, Y, externallegs = phiX, phiY, graph
I22!∫∫96⁢λ2⁢φ⁡X⁢φ⁡Y⁢φ⁡X,φ⁡Y3ⅆX 4ⅆY 4
See Also
Index of New Maple 2015 Features
Computer Algebra for Theoretical Physics
The Physics project
Download Help Document