Physics for Maple 18 - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Physics : Updates : Physics for Maple 18

Physics

 

Maple provides a state-of-the-art environment for algebraic computations in physics, with emphasis on ensuring the computational experience is as natural as possible. The theme of the Physics project for Maple 18 has been the consolidation and integration of the Physics package with the rest of the Maple library, making it even easier to combine standard Maple commands and techniques with Physics-specific computations. With more than 500 enhancements throughout the entire package to increase robustness and versatility, an extension of its typesetting capabilities to support even more standard notation, as well 17 new Physics:-Library commands to support further explorations and extensions, Maple 18 extends the range of physics-related algebraic formulations that can be done in a natural way inside Maple. The impact of these changes is across the board, from vector analysis to quantum mechanics, relativity and field theory.


As part of its commitment to providing the best possible environment for algebraic computations in physics, Maplesoft has launched a Maple Physics: Research and Development web site, where users can 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 18.

 

Simplify

4-Vectors, Substituting Tensors

Functional Differentiation

More Metrics in the Database of Solutions to Einstein's Equations

Commutators, AntiCommutators

Expand and Combine

New Enhanced Modes in Physics Setup

Dagger

Vectors Package

Library

Miscellaneous

Simplify

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 18 for all these cases.

Examples

restart; withPhysics: Setupmathematicalnotation = true;

mathematicalnotation=true

(1)

Simplification of sums when the summand is linear in KroneckerDeltas:

Sumsqrtn+1 KroneckerDeltam,n+1+sqrtn KroneckerDeltam,n1,n = 0 .. infinity

n=0n+1δm,n+1+nδm,n1

(2)

Simplify

m+m+1

(3)

Simplification of tensorial expressions. To facilitate typing, set the spacetime indices to be lowercaselatin:

Setupspacetimeindices = lowercaselatin

spacetimeindices=lowercaselatin

(4)

Define a tensor Fa:

DefineFa

Defined objects with tensor properties

γμ,Fa,σμ,μ,gμ,ν,δμ,ν,εα,β,μ,ν

(5)

 

The following tensorial expression,

1010921950548Ff2Fd2Fj2FaFbFc2023081095744Ff2Fd2FaFbFc+1701FcFeFfge,f81FeFf2δc,e1350Feδc,fδe,f81FdFiFjgi,j162Fjδd,iδi,j+108Fjδd,j2511FaFhgd,h+27FdFhga,h+324FdFhδa,h432FbFn2+27Fbgl,n2+6156Fnδb,n81FaFdFk2+81FdFkδa,jδj,k+8100FjFkga,kδd,j81FbFdFi25832FbFdδh,i2+135Fi2δb,d642978Fe2Ffgc,f+8748Ffgc,f+128755884390192Fe2Fh2FaFbFc25470904248Fh2Fn2Fi2FaFbFc148090286178Fe2Fn2Fh2Fi2FaFbFc5022FcFigh,iδd,h1458FdFhgc,iδh,i+81FhFiδc,iδd,h5994FeFggb,eδa,g2700FaFgδb,g9396Fg2ga,b7695FdFkFmδk,m30780Fmδd,kδk,m+500455863936Fd2FaFbFc1850647623120ga,bFh2Fg2Fc18366600960Fe2Fn2Fi2Fd2FaFbFc355087618560Fe2Fd2FaFbFc5179618847700Fh2FaFbFc290804515200Fe2Fd2Fj2FaFbFc462661905780ga,bFh2Fg2Fk2Fc1378008798300Fh2Fn2FaFbFc

1010921950548FdFddFfFffFjFjjFaFbFc2023081095744FdFddFfFffFaFbFc+1701ge,fFcFeeFff81FfFffFeδcece1350Feδc,fδe,fe,f81gi,jFdFiiFjj162Fjδd,iδi,ji,j+108Fjδdjdj2511FaFhhgdhdh+324FhFddδahah+27FddFhhga,h432FnFnnFb+27gl,ngl,nl,nFb+6156Fnδbnbn81FkFkkFaFd+81FdFkδa,jδj,kj,k+8100ga,kFjFkkδdjdj81FbFiFddFii5832FbFddδh,iδh,ih,i+135FiFiiδbdbd642978FeFeegc,fFff+8748gc,fFff+128755884390192FeFeeFhFhhFaFbFc25470904248FhFhhFiFiiFnFnnFaFbFc148090286178FeFeeFhFhhFiFiiFnFnnFaFbFc5022gh,iFcFiiδdhdh1458gc,iFdFhδh,ih,i+81FhFiδciciδdhdh5994gb,eFeeFgδagag2700FaFgδbgbg9396FgFggga,b7695FkFmFddδk,mk,m30780Fmδdkdkδk,mk,m+500455863936FdFddFaFbFc1850647623120FgFggFhFhhga,bFc18366600960FdFddFeFeeFiFiiFnFnnFaFbFc355087618560FdFddFeFeeFaFbFc5179618847700FhFhhFaFbFc290804515200FdFddFeFeeFjFjjFaFbFc462661905780FgFggFhFhhFkFkkga,bFc1378008798300FhFhhFnFnnFaFbFc

(6)

has various terms with contracted indices. In each term, {a,b,c} are free indices:

Check, all

The repeated indices per term are: ...,...,...; the free indices are: ...

d,f,j,d,f,d,e,f,h,i,j,l,n,d,e,f,h,i,j,k,e,h,h,i,n,e,h,i,n,d,e,g,h,i,k,m,d,g,h,d,e,i,n,d,e,h,d,e,j,g,h,k,h,n,a,b,c

(7)

Taking into account Einstein's sum rule for contracted (repeated) indices, the symmetry properties of gi,j and δi,j, this tensorial expression is equal to zero:

Simplify

0

(8)

The simplification of integrals and sums involving quantum operators that satisfy algebra rules is now more powerful, both in the continuous and discrete case. Consider a field, ψ, and its expansion in terms in a basis of functions, φ using operators, a and a, that satisfy:an,ap=δnp

Setupop = a, psi, algebrarules = %Commutatoran, %Daggerap = Diracnp, %Commutatoran, ap = 0

* Partial match of 'op' against keyword 'quantumoperators'

algebrarules=an,ap=0,an,ap=δnp,quantumoperators=a,ψ

(9)

The expansion of terms ψ and ψis given by:

ψr=φn,ranⅆn

ψr=φn,ranⅆn

(10)

subsn=p,r=s,Dagger

ψs=φp,s&conjugate0;apⅆp

(11)

The commutator ψr,ψs is equal to:

Commutator,

ψr,ψs=φn,ranⅆn,φp,s&conjugate0;apⅆp

(12)

expand

ψrψsψsψr=φn,ranⅆnφp,s&conjugate0;apⅆpφp,s&conjugate0;apⅆpφn,ranⅆn

(13)

The products of integrals on the right-hand side can both be combined into double integrals, then recombined into a single integral and simplified taking into account the algebra rule stated: an,ap= δnp.

Simplify

ψrψsψsψr=φp,s&conjugate0;φp,rⅆp

(14)

The step involving only the combination of the integrals can now also be performed separately:

combine

ψrψsψsψr=φp,s&conjugate0;φn,rapan+φn,rφp,s&conjugate0;anapⅆnⅆp

(15)

The extended capabilities in Simplify regarding integration also work in the discrete case, over sums. Redo the algebra rule now considering the same relations but in the discrete case.

Setupredo, quantumoperators = a, psi, algebrarules=%Commutatoran,%Daggerap=KroneckerDeltan,p,%Commutatoran,ap=0, spacetimeindices = greek

algebrarules=an,ap=0,an,ap=δn,p,quantumoperators=a,ψ,spacetimeindices=greek

(16)


The following sum can now be simplified by combining the sums and taking into account the new (discrete) algebra rules, or just performing the combination step:

ψr=Sumφnran,n=..

ψr=n=φnran

(17)

subsn=p,r=s,Dagger

ψs=p=φps&conjugate0;ap

(18)

expandCommutator,

ψrψsψsψr=n=φnranp=φps&conjugate0;app=φps&conjugate0;apn=φnran

(19)

Simplify

ψrψsψsψr=p=φps&conjugate0;φpr

(20)

combine

ψrψsψsψr=p=n=φps&conjugate0;φnrapan+φnrφps&conjugate0;anap

(21)

Improvements in the simplification of annihilation and the creation of fermionic operators, as well as the related occupation number operator:

Setupanticommutativeprefix = psi

anticommutativeprefix=_λ,ψ

(22)

am  Annihilationpsi, notation = explicit

amaψ1

(23)

ap  Creationpsi, notation = explicit

apa+ψ1

(24)

The related occupation number operator:

N  ap . am

Na+ψ1aψ1

(25)

Consider the application of these fermionic operators to a related state vector:

Ketpsi, 1

ψ1

(26)

am . 

ψ0

(27)

am . 

0

(28)

Increasing the occupation number,

ap . 

ψ1

(29)

ap . 

0

(30)

In other words, powers of annihilation and creation fermionic operators are equal to zero:

am2

aψ12

(31)

Simplifyam2

0

(32)

Simplifyap2

0

(33)

The occupation number operator is also idempotent:

N N N = N

a+ψ1aψ1a+ψ1aψ1a+ψ1aψ1=a+ψ1aψ1

(34)

These expressions can now be simplified:

Simplify%

a+ψ1aψ1=a+ψ1aψ1

(35)

The simplification of vectorial expressions was also enhanced. For example:

withVectors :

B0·v&xB0+B1

B0·v×B0+B1

(36)

Simplify

B0·v×B1

(37)

4-Vectors, Substituting Tensors

In Maple 17, it is possible to define a tensor with a tensorial equation, where the tensor being defined is on the left-hand side. Then, on the right-hand side, you write either a tensorial expression with free and repeated indices, or a Matrix or Array with the components themselves. In Maple 18, you can also define a 4-Vector with a tensorial equation, where you indicate the vector's components on the right-hand side as a list.

One new Library routine specialized for tensor substitutions was added to the Maple library: SubstituteTensor, which substitutes the 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, and 2) repeated indices in Eqs do not clash with repeated indices in the expression. This new routine 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.

Examples

restart; withPhysics: Setupmathematicalnotation = true;

mathematicalnotation=true

(38)

Define a contravariant 4-vector with components p__x, p__y, p__z,p__t:

Definep~mu = p__x, p__y, p__z,p__t

Defined objects with tensor properties

γμ,σμ,μ,gμ,ν,pμμ,δμ,ν,εα,β,μ,ν

(39)

You can retrieve the components in different ways:

p~mu = Library:-TensorComponentsp~mu

pμμ=p__x,p__y,p__z,p__t

(40)

pmu = Library:-TensorComponentspmu

pμ=p__x,p__y,p__z,p__t

(41)

Or, indexing p with a contravariant or covariant integer value of the index:

p~1p1

p__xp__x

(42)

You can compute with pμμ algebraically; p[~mu] will return its components only when the index assumes integer values 0μ 4.

pmu pnu ep_mu,nu,alpha,beta

εα,β,μ,νpμμpνν

(43)

Simplify

0

(44)

pmu2

pμpμμ

(45)

SumOverRepeatedIndices

p__t2p__x2p__y2p__z2

(46)

Define some tensors for experimentation with the new Library:-SubstituteTensor command:

DefineA,B,F,G

Defined objects with tensor properties

A,B,F,G,γμ,σμ,μ,gμ,ν,pμμ,δμ,ν,εα,β,μ,ν

(47)

A substitution equation:

Aμ=Gν,αAαFμ,ν

Aμ=Gν,αAααFμνμν

(48)

Substitute into AνAνν: the free indices of (48) are taken as parameters, repeated indices in the substitution equation do not repeat more than once in the result:

Library:-SubstituteTensor, AνAνν

Gβ,αAααFνβνβGλ,κAκκFν,λν,λ

(49)

When the left-hand side of the substitution equation is a tensor function, the functionality is also taken as a parameter,

Library:-SubstituteTensorAμX=BμX,AνY

BνY

(50)

SubstituteTensor can also substitute sub-expressions of type product or sum, similar to what algsubs does, so for example substitute:

Amu Bnu = Gmu,nu

AμBν=Gμ,ν

(51)

into,

Aalpha Fmu,nu Bbeta Arho Brho Gmu,nu

AαFμ,νGμ,νμ,νBβAρBρρ

(52)

Library:-SubstituteTensor,

Gα,βGρρρρFμ,νGμ,νμ,ν

(53)

Check the free and repeated indices of this result and verify that the free indices of (52) are the same:

Check,all

The repeated indices per term are: ...,...,...; the free indices are: ...

μ,ν,ρ,α,β

(54)

Check,free

The free indices are: ...

α,β

(55)

Functional Differentiation

The Physics:-Fundiff command for functional differentiation has been extended to handle all the complex components (abs, argument, conjugate, Im, Re, signum) and vectorial differential operators in order to compute field equations using variational principles when the field function enters the Lagrangian together with its conjugate. For an example illustrating the use of the new capabilities in the context of a more general problem, see the MaplePrimes post Quantum Mechanics using Computer Algebra.

Examples

restart; withPhysics:Setupmathematicalnotation = true

mathematicalnotation=true

(56)

A function and its conjugate are considered independent from each other regarding functional differentiation:

%Fundiff = Fundiffconjugatefx, fy

δδfyfx&conjugate0;=0

(57)

Fundiff can now compute functional derivatives of expressions involving vectorial differential operators and the corresponding conjugate functions.

withVectors:

%Fundiff = Fundiff%Gradientfx, fy

δδfyfx=δxyi

(58)

Set a system of coordinates for functional differentiation with many variables:

CoordinatesQ = X, Y, Z, T

Default differentiation variables for d_, D_ and dAlembertian are: Q=X,Y,Z,T

Systems of spacetime Coordinates are: Q=X,Y,Z,T

Q

(59)

The Action for a system:

S  IntcNorm%GradientPhix,y,z,t2, x,y,z,t

SΦx,y,z,t2ⅆxⅆyⅆzⅆt

(60)

The equations of motion through functional differentiation:

%Fundiff = FundiffS, PhiX,Y,Z,T

δδΦQΦx,y,z,t2ⅆxⅆyⅆzⅆt=ⅆ2ⅆZ2ΦQ&conjugate0;ⅆ2ⅆY2ΦQ&conjugate0;ⅆ2ⅆX2ΦQ&conjugate0;

(61)

The Action for a complex scalar field with a Lagrangian quadratic in the derivatives: note that abs now automatically maps into the Norm of the vector.

SIntc12absGradientΦx,y,z,t2, x,y,z,t

SⅆⅆxΦx,y,z,t&conjugate0;xΦx,y,z,t2ⅆⅆyΦx,y,z,t&conjugate0;yΦx,y,z,t2ⅆⅆzΦx,y,z,t&conjugate0;zΦx,y,z,t2ⅆxⅆyⅆzⅆt

(62)

The corresponding field equation:

FundiffS, ΦX,Y,Z,T  = 0

ⅆ2ⅆZ2ΦQ&conjugate0;2+ⅆ2ⅆY2ΦQ&conjugate0;2+ⅆ2ⅆX2ΦQ&conjugate0;2=0

(63)

More Metrics in the Database of Solutions to Einstein's Equations

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 and Maple 17. These metrics can be searched using the command DifferentialGeometry:-Library:-MetricSearch, or directly using g_ (the Physics command representing the spacetime metric that also sets the metric to your choice).

• 

For Maple 18, fifty more metrics were added to the database from Chapter 28 of the aforementioned book entitled "Exact Solutions to Einstein's Field Equations".

• 

It is now possible to list all the metrics of a chapter by indexing the metric command with the chapter's number, for example, entering g_["28"].

Examples

restart; withPhysics:Setupmathematicalnotation = true

mathematicalnotation=true

(64)

By default, the metric is a Minkowski type:

g_

You can query about metrics directly from the metric command g_

g_Bajer

____________________________________________________________

28,58.2,1=Authors=Bajer, Kowalezynski (1985),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=RobinsonTrautman,Comments=All tensor components given with respect to the anholonomic frame,The coordinates xi and xi1 are complex conjugates

____________________________________________________________

28,58.3,1=Authors=Bajer, Kowalezynski (1985),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=RobinsonTrautman,Stationary,Comments=Case 1 of 2,The coordinates xi and xi1 are complex conjugates, the parameters _Q0 and _Q01 are complex conjugates,AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28,58.3,2=Authors=Bajer, Kowalezynski (1985),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=RobinsonTrautman,Comments=Case 1 of 2,The coordinates xi and xi1 are complex conjugates, the parameters _Q0 and _Q01 are complex conjugates,AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28,58.4,1=Authors=Bajer, Kowalezynski (1985),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=RobinsonTrautman,Comments=The coordinates xi and xi1 are complex conjugates,AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

Warning, found more than one match for the keyword 'Bajer', as seen above. Please refine your 'keyword' or re-enter the metric 'g_[...]' with the list of three numbers identifying the metric, for example as in g_[[28, 58.2, 1]] or Setup(metric = [28, 58.2, 1])

When you identified the metric, you can set it directly from g_ (alternatively, you can do that using Setup):

g_28, 58.2, 1

Systems of spacetime Coordinates are: X=r,ξ,ξ1,u

Default differentiation variables for d_, D_ and dAlembertian are: X=r,ξ,ξ1,u

The Bajer, Kowalezynski (1985) metric in coordinates r,ξ,ξ1,u

Parameters: κ0,Q0,Q01,m0,b,Q

Comments: All tⅇnsor componⅇnts gⅈvⅇn wⅈth rⅇspⅇct to thⅇ anholonomⅈc framⅇ

New in Maple 18, you can now also list all the metrics of a chapter. For example, for the metrics of Chapter 28,

g_28

____________________________________________________________

28,16,1=Authors=Robinson-Trautman (1962),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=The coordinate zeta is changed to xi,AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28,17,1=Authors=Robinson (1975),Foster, Newman (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=The coordinate zeta is changed to xi,AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence

____________________________________________________________

28,21,1=Authors=Robinson (1975),Foster, Newman (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=The coordinate zeta is changed to xi

____________________________________________________________

28,21,2=Authors=Robinson (1975),Foster, Newman (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=The coordinate zeta is changed to xi

____________________________________________________________

28,21,3=Authors=Robinson (1975),Foster, Newman (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Static,Comments=The coordinate zeta is changed to xi

____________________________________________________________

28,21,4=Authors=Robinson (1975),Foster, Newman (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=The coordinate zeta is changed to xi,This is _a special case of Kasner spacetime Stephani [13, 51,1], [13, 53,1]

____________________________________________________________

28,21,5=Authors=Robinson (1975),Foster, Newman (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Static,Comments=The coordinate zeta is changed to xi

____________________________________________________________

28,21,6=Authors=Robinson (1975),Foster, Newman (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=The coordinate zeta is changed to xi

____________________________________________________________

28,21,7=Authors=Robinson (1975),Foster, Newman (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Static,Comments=The coordinate zeta is changed to xi

____________________________________________________________

28,24,1=Authors=Collinson, French (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=Stephani claims this metric is static which is false since the orbit type is generically Riemannian,The assumption _b >0 and _c >0 is made so that the given base point is in the domain

____________________________________________________________

28,25,1=Authors=Collinson, French (1967),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28,26,1=Authors=Robinson, Trautman (1962),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=One can use the diffeo r -> -r and u -> -u to make the assumption r > 0,The case _m = 0 is Stephani, [28, 16,1],The metric is type D at points where r = 3*_m/(xi1+xi2) and type II on either side of this hypersurface. For convenience, it is assumed that 3*_m - r*(xi1 + xi2) > 0,AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28,26,2=Authors=Robinson, Trautman (1962),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=One can use the diffeo r -> -r and u -> -u to make the assumption r > 0,The case _m = 0 is Stephani, [28, 16,1].,AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28,26,3=Authors=Robinson, Trautman (1962),PrimaryDescription=Vacuum,SecondaryDescription=RobinsonTrautman,Comments=One can use the diffeo r -> -r and u -> -u to make the assumption r > 0,The case _m = 0 is Stephani, [28, 16,1].,AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28,41,1=Authors= Bartrum (1967),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=PureRadiation,RobinsonTrautman,Comments=AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28,43,1=Authors=Robinson, Trautman (1962),PrimaryDescription=EinsteinMaxwell,SecondaryDescription=PureRadiation,RobinsonTrautman,Comments=h1(u) is the conjugate of h(u)

____________________________________________________________

28&comma;44&comma;1=Authors=Leroy (1976)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=Case 1 of 6. K = 1, Riemmannian Orbits&comma;_Q1 is the conjugate of Q&comma;The metric is defined for all r > 0. The restriction 2*r^2 - 4*_m*r +_kappa0*_Q*_Q1 < 0 gives Riemannian orbits for the isometry group

____________________________________________________________

28&comma;44&comma;2=Authors=Leroy (1976)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Static&comma;Comments=Case 2 of 6 K = 1, PseudoRiemmannian Orbits&comma;_Q1 is the conjugate of Q&comma;The metric is defined for all r > 0. The restriction 2*r^2 - 4*_m*r +_kappa0*_Q*_Q1 > 0 gives PseudoRiemannian orbits for the isometry group

____________________________________________________________

28&comma;44&comma;3=Authors=Leroy (1976)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=Case 3 of 6 K = 0, Riemmannian Orbits&comma;_Q1 is the conjugate of Q&comma;The metric is defined for all r > 0. The restriction _Q*_Q1*_kappa0-4*_m*r < 0 gives Riemannian orbits for the isometry group

____________________________________________________________

28&comma;44&comma;4=Authors=Leroy (1976)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Static&comma;Comments=Case 4 of 6 K = 0, Pseudo-Riemmannian Orbits&comma;_Q1 is the conjugate of Q&comma;The metric is defined for all r > 0. The restriction _Q*_Q1*_kappa0-4*_m*r > 0 gives Pseudo-Riemannian orbits for the isometry group

____________________________________________________________

28&comma;44&comma;5=Authors=Leroy (1976)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=Case of 6. K = 1, Riemmannian Orbits&comma;_Q1 is the conjugate of _Q&comma;The metric is defined for all r > 0. The restriction _Q*_Q1*_kappa0 - 4*m*r- 2*r^2 < 0 gives Riemannian orbits for the isometry group

____________________________________________________________

28&comma;44&comma;6=Authors=Leroy (1976)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Static&comma;Comments=Case 6 of 6. K = 1, Pseudo-Riemmannian Orbits&comma;_Q1 is the conjugate of _Q&comma;The metric is defined for all r > 0. The restriction 2*r^2 - 4*_m*r +_kappa0*_Q*_Q1 > 0 gives Pseudo-Riemannian orbits for the isometry group

____________________________________________________________

28&comma;45&comma;1=Authors=Leroy (1976)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=Static&comma;Comments=Case 1 of 2&comma;Note that the metric only depends on the square of the function P. If the funtion P^(-2) is negative, then the solution is static.&comma;The parameter _q determines _a duality rotation on the electromagnetic field.

____________________________________________________________

28&comma;45&comma;2=Authors=Leroy (1976)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=&comma;Comments=Case 2 of 2&comma;Note that the metric only depends on the square of the function P. If the funtion P^(-2) is negative, then the solution is static.&comma;The parameter _q determines _a duality rotation on the electromagnetic field.

____________________________________________________________

28&comma;46&comma;1=PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=Case 1 of 2

____________________________________________________________

28&comma;46&comma;2=PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Stationary&comma;Comments=Case 2 of 2

____________________________________________________________

28&comma;53&comma;1=Authors=Bartrum (1967)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;PureRadiation&comma;Stationary&comma;Comments=Case 1 of 2. We take _m > 0 for simplicity. AlternativeNullTetrad1 is the standard Robinson Trautman null tetrad. The orbit type is pseudo-Riemannian at the given base point if _f1(0)^2*_f2(0)^2 > 2_m. If alpha = constant then the electromagnetic field is inheriting.

____________________________________________________________

28&comma;53&comma;2=Authors=Bartrum (1967)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;PureRadiation&comma;Comments=Case 2 of 2. We take _m > 0 for simplicity. AlternativeNullTetrad1 is the standard Robinson Trautman null tetrad. The orbit type is pseudo-Riemannian at the given base point if _f1(0)^2*_f2(0)^2 < 2_m. If alpha = constant then the electromagnetic field is inheriting.

____________________________________________________________

28&comma;55&comma;1=PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Stationary&comma;Comments=Case 1 of 2. We choose _A > 0 and u > 0 for simplicity. AlternativeNullTetrad1 is the standard Robinson Trautman null tetrad.

____________________________________________________________

28&comma;55&comma;2=PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=Case 2 of 2. We choose _A > 0 and u > 0 for simplicity. AlternativeNullTetrad1 is the standard Robinson Trautman null tetrad.

____________________________________________________________

28&comma;60&comma;1=Authors=Kowalczynski (1978)&comma;Kowalczynski (1985)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=The coordinates xi and xi1 are complex conjugates, the parameters _Q0 and _Q01 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;61&comma;1=Authors=Kowalczynski (1978)&comma;Kowalczynski (1985)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=The coordinates xi and xi1 are complex conjugates, the parameters _Q0 and _Q01 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;64&comma;1=Authors=Herlt and Stephani (1984)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=The coordinates xi and xi1 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;66&comma;1=Authors=Herlt and Stephani (1984)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=The coordinates xi and xi1 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;67&comma;1=Authors=Herlt and Stephani (1984)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=The coordinates xi and xi1 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;68&comma;1=Authors=Herlt and Stephani (1984)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=The coordinates xi and xi1 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;72&comma;1=PrimaryDescription=PureRadiation&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=The coordinates xi and xi1 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;73&comma;1=Authors=Frolov and Khlebnikov (1975)&comma;PrimaryDescription=PureRadiation&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=The coordinates xi and xi1 are complex conjugates

____________________________________________________________

28&comma;74&comma;1=Authors=Frolov and Khlebnikov (1975)&comma;PrimaryDescription=PureRadiation&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=With _m(u) = constant, the metric is Ricci flat and becomes 28.24 in Stephani.

____________________________________________________________

28&comma;56.1&comma;1=Authors=Leroy, 1976&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Stationary&comma;Comments=Case 1 of 3, epsilon = 0, stationary&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;56.2&comma;2=Authors=Leroy, 1976&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=Case 2 of 3, epsilon = 0&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;56.2&comma;3=Authors=Leroy, 1976&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=Case 3 of 3, epsilon = 1&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;56.3&comma;1=Authors=Leroy, 1976&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;56.4&comma;1=Authors=Leroy, 1976&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;56.5&comma;1=Authors=Leroy, 1976&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;56.6&comma;1=Authors=Leroy, 1976&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;58.2&comma;1=Authors=Bajer, Kowalezynski (1985)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=All tensor components given with respect to the anholonomic frame&comma;The coordinates xi and xi1 are complex conjugates

____________________________________________________________

28&comma;58.3&comma;1=Authors=Bajer, Kowalezynski (1985)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Stationary&comma;Comments=Case 1 of 2&comma;The coordinates xi and xi1 are complex conjugates, the parameters _Q0 and _Q01 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;58.3&comma;2=Authors=Bajer, Kowalezynski (1985)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=Case 1 of 2&comma;The coordinates xi and xi1 are complex conjugates, the parameters _Q0 and _Q01 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

____________________________________________________________

28&comma;58.4&comma;1=Authors=Bajer, Kowalezynski (1985)&comma;PrimaryDescription=EinsteinMaxwell&comma;SecondaryDescription=RobinsonTrautman&comma;Comments=The coordinates xi and xi1 are complex conjugates&comma;AlternativeOrthonormalTetrad1 and AlternativeNullTetrad1 are adapted to the shear-free null geodesic congruence (Robinson-Trautman tetrads)

Warning, found more than one match for the keyword '28', as seen above. Please refine your 'keyword' or re-enter the metric 'g_[...]' with the list of three numbers identifying the metric, for example as in g_[[28, 16, 1]] or Setup(metric = [28, 16, 1])

Commutators, AntiCommutators

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 18. Among them:

• 

Both Commutator and AntiCommutator now accept matrices as arguments.

• 

The AntiCommutator of products of fermionic operators - for instance annihilation and creation operators - is now derived automatically from the intrinsic anticommutation rules they satisfy.

• 

Commutators and Anticommutators of vectorial quantum operators A,B, are now implemented and expressed using the dot (scalar) product, as in A,B=A·BB·A

• 

If two noncommutative operators a and S  satisfy a&comma;S=0 , then the commutator  a&comma;S is automatically taken equal to 0; if in addition S is Hermitian, then  a&comma;Sis also automatically taken equal to zero.

Examples

restart&semi; withPhysics&colon;Setupmathematicalnotation &equals; true

mathematicalnotation=true

(65)

Commutator and AntiCommutator now also operate on matrices:

M__1 Matrix2&comma;2&comma;a&comma;b&comma;c&comma;d

M__1abcd

(66)

M__2 Matrix2&comma;2&comma;alpha&comma;beta&comma;gamma&comma;delta

M__2αβγδ

(67)

%Commutator &equals; CommutatorM__1&comma; M__2

abcd,αβγδ=bγcβaβαb+bδβdγa+cαδc+dγbγ+cβ

(68)

Commutators of vectorial operators were implemented, expressed using the scalar (dot) product:

withVectors&colon; Setupop &equals; A_&comma; B_

* Partial match of 'op' against keyword 'quantumoperators'

quantumoperators=A&comma;B

(69)

Commutator &equals; expand&commat;CommutatorA_&comma; B_

A,B=A·BB·A

(70)

Define 4 pairs of annihilation/creation operators for fermionic particles:

Setupanticommutativeprefix &equals; psi

anticommutativeprefix=_&lambda;&comma;ψ

(71)

for j to 4 do      apj  Creationpsi&comma; j&comma; notation &equals; explicit&semi;      amj  Annihilationpsi&comma; j&comma; notation &equals; explicit  end do&semi;

ap1a+ψ1

am1aψ1

ap2a+ψ2

am2aψ2

ap3a+ψ3

am3aψ3

ap4a+ψ4

am4aψ4

(72)

For these operators, the system knows about the anticommutator rules satisfied between any two of them, the algebra is set on the fly when you define them.

Setupalgebra

* Partial match of 'algebra' against keyword 'algebrarules'

algebrarules=aψ1,a+ψ1+=1&comma;aψ2,a+ψ2+=1&comma;aψ3,a+ψ3+=1&comma;aψ4,a+ψ4+=1

(73)

Using that information, the system now also knows about the anticommutator of products of these fermionic operators. For example, on the left-hand side: inert, on the right-hand side: computed.

%AntiCommutator &equals; AntiCommutatorap1&comma;am1am2ap2

a+ψ1,aψ1aψ2a+ψ2+=aψ2a+ψ2

(74)

This new functionality is automatically used when sorting products of non-commutative operators according to a specified ordering using the new Library:-SortProducts routine; let P be a product:

P  ap2 am2 am1 ap1

Pa+ψ2aψ2aψ1a+ψ1

(75)

Rewrite this product using the following ordering: with the creation operators to the left, using the anticommutator relations between them.

ApAm  seqapj&comma; j &equals; 1 .. 2&comma; seqamj&comma; j &equals; 1 .. 2

ApAma+ψ1&comma;a+ψ2&comma;aψ1&comma;aψ2

(76)

Library:-SortProductsP&comma; ApAm&comma; useanticommutator

a+ψ1a+ψ2aψ1aψ2+a+ψ2aψ2

(77)

Changes in design:

• 

Fa&comma;b&comma; ..&period; is now considered noncommutative when any of the arguments a,b, ..&period; is noncommutative, regardless of the character of F itself;

• 

Fa automatically commutes with a whenever F is a known mathematical function (understanding that in these cases F can be represented as a combination of sums and products of its arguments)

• 

Unless indicated otherwise through commutation rules set using Setup, the commutation between quantum operators, Bras and Kets is now as follows:

a. 

Quantum operators do not commute with Kets or Bras.

b. 

Kets do not commute with Bras.

c. 

Kets commute with Kets and Bras commute with Bras only when they are eigenvectors of operators that commute (i.e.: their labels commute).

 

Set some operators for experimentation, two of which commute:

Setupop &equals; A&comma; B&comma; C&comma; %CommutatorA&comma;B&equals;0

* Partial match of 'op' against keyword 'quantumoperators'

algebrarules=A,B=0&comma;aψ1,a+ψ1+=1&comma;aψ2,a+ψ2+=1&comma;aψ3,a+ψ3+=1&comma;aψ4,a+ψ4+=1&comma;quantumoperators=A&comma;A&comma;B&comma;B&comma;C

(78)

A&comma; KetC

A,C

(79)

Library:-Commute

false

(80)

Library:-CommuteA&comma; KetB

false

(81)

Library:-CommuteKetA&comma; KetB

true

(82)

Library:-CommuteKetA&comma; KetC

false

(83)

Expand and Combine

In the context of Physics, the expansion and recombination of algebraic expressions requires additional care: products may involve non-commutative operators and then some of the standard expansion and combination rules do not apply, or apply differently. Similarly, the expansion of vectorial operators also follows special rules. In Maple 18, many of these algebraic operations were reviewed and related special formulas (such as Glauber's and Hausdorff's) were implemented.

Examples

restart&semi; withPhysics&colon; Setupnotation &equals; true

* Partial match of 'notation' against keyword 'mathematicalnotation'

mathematicalnotation=true

(84)

Set three quantum operators to illustrate ideas:

Setupop &equals; A&comma;B&comma;C

* Partial match of 'op' against keyword 'quantumoperators'

quantumoperators=A&comma;B&comma;C

(85)
• 

The exponential of a sum of noncommutative operators and Glauber's formula:

expA &plus;B

&ExponentialE;A+B

(86)

This exponential cannot be expanded into a product of two exponentials because A and B do not commute with their commutator.

expand

&ExponentialE;A+B

(87)

However, an expansion is possible when A and B commute with their commutator; this is Glauber's formula. For instance, set A and B to commute with C, while C represents their commutator:

Setup%CommutatorA&comma; B &equals; C&comma; %CommutatorA&comma; C &equals; 0&comma; %CommutatorB&comma; C &equals; 0

algebrarules=A,B=C&comma;A,C=0&comma;B,C=0

(88)

 

Now,

 &equals; expand

&ExponentialE;A+B=&ExponentialE;A&ExponentialE;B&ExponentialE;C2

(89)
• 

The combination of a product of exponentials of noncommutative exponents using combine.

You can recombine back the right-hand side using combine:

combine

&ExponentialE;A+B=&ExponentialE;A+B

(90)
• 

Expanding the logarithm of a product of exponentials of noncommutative operands.

An expansion is possible depending on the value of the commutator of the exponents, as in:

ln&ExponentialE;A&ExponentialE;B=A+B+12A&comma;B+112A&comma;A&comma;BB&comma;A&comma;B+...

This is Hausdorff's formula. It is implemented now for the more frequent case where the commutator A&comma;B=C, such that  C is commutative and A and B are real, so that all but the first three terms on the right-hand side remain. Clear C from the set of quantum operators:

Setupclear&comma; quantumoperators &equals; C

quantumoperators=A&comma;B

(91)

lnexpA expB

ln&ExponentialE;A&ExponentialE;B

(92)

So, for nonreal A and B, the expansion of this logarithm is not possible in closed form:

expand

ln&ExponentialE;A&ExponentialE;B

(93)

Assuming they are real:

expand assuming A&comma;real&comma; B&comma;real

A+B+C2

(94)

Alternatively, setting A and B as real objects, using the new realobjects option of Setup, this operation can soon after be performed without using assuming:

Setupreal &equals; A&comma; B

* Partial match of 'real' against keyword 'realobjects'

realobjects=A&comma;B

(95)

 &equals; expand

ln&ExponentialE;A&ExponentialE;B=A+B+C2

(96)
• 

Powers of the same noncommutative base can be combined when the exponents commute, but not otherwise.

Setupop &equals; n&comma;m

* Partial match of 'op' against keyword 'quantumoperators'

quantumoperators=A&comma;B&comma;m&comma;n

(97)

An Am

AnAm

(98)

Library:-Commuten&comma; m

false

(99)

So, this product cannot be combined as "powers of the same base":

combine

AmAn

(100)

However, if the exponents commute:

Setup%Commutatorm&comma;n&equals;0

algebrarules=A,C=0&comma;A,B=C&comma;B,C=0&comma;m,n=0

(101)

combine

Am+n

(102)

The combined exponential can then be expanded:

expand

AmAn

(103)

Also ABCk is expanded into ABkCk whenever C commutes with AB, even if none of A,B and C are commutative (they may commute through user-defined algebra rules).

Setupop &equals; C

* Partial match of 'op' against keyword 'quantumoperators'

quantumoperators=A&comma;B&comma;C&comma;m&comma;n

(104)

From the algebra rules already set:

Setupalg

* Partial match of 'alg' against keyword 'algebrarules'

algebrarules=A,B=C&comma;A,C=0&comma;B,C=0&comma;m,n=0

(105)

The product AB commutes with C&period;

Library:-CommuteA B&comma; C

true

(106)

Hence, when k is a nonnegative integer, the product ABCk can be rewritten as ABkCk=CkABk.  As a result:  

AB Ck

ABCk

(107)

expand assuming knonnegint

CkABk

(108)
• 

A new option in Expand is to not sort noncommutative operands in products. This permits an expansion without further automatic simplifications, which therefore allows more control over the steps.

Suppose there are two objects, A and B, both noncommutative, which commute between themselves:

Setupredo&comma; %CommutatorA&comma; B &equals; 0

algebrarules=A,B=0

(109)

By default, Expand will expand products and normalize noncommutative products by rewriting them in a unique way. For instance, because A and B commute, then the product BA is automatically rewritten as AB&period;

A&plus;B2

A+B2

(110)

Expand

A2+2AB+B2

(111)

It is sometimes preferred to keep the ordering visible. That is, to not perform this sorting of operands in noncommutative products taking into account their commutability. The new option, sortnoncommutative, (the same option described in the help page of Physics:-Normal) allows for that:

Expand&comma; sortnoncommutative &equals; false

A2+AB+BA+B2

(112)
• 

Expansion of inert brackets.

For convenience, brackets are automatically expanded:

Setupop &equals; C

* Partial match of 'op' against keyword 'quantumoperators'

quantumoperators=A&comma;B&comma;C&comma;m&comma;n

(113)

BracketA&comma; B&plus;C&comma; A

A|B|A+A|C|A

(114)

However, inert brackets are not automatically expanded. An expansion rule for the inert case is now available. This allows one to take more control over the operations when computing with brackets and only perform the expansion when desired.

%BracketA&comma; B&plus;C&comma; A

A|B+C|A

(115)

expand

A|B|A+A|C|A

(116)

It is now possible to re-combine inert brackets.

combine

A|B+C|A

(117)
• 

Algebraic vectorial expressions can also be expanded in different ways.

withVectors&colon;

B0_  &period; v_ &x B0_ &plus; B1_&semi;

B0·v×B0+B1

(118)

You can use expand, Expand, or – in the case of Vectors expandable commands as this one – Simplify.

expand

B0·v×B1

(119)

Expansion of inert vectorial operators:

%Curl%CurlA_

××A

(120)

expand

·A2A

(121)

%Divergence%CurlA_

·×A

(122)

expand

0

(123)

%Curl%GradientFx&comma;y&comma;z

×Fx&comma;y&comma;z

(124)

expand

0

(125)

New Enhanced Modes in Physics Setup

Four enhanced modes were added to the Physics setup. With these modes, you can:

1. 

Indicate the real objects of a computation.

2. 

Automatically combine powers of the same base.

3. 

Set Maple to take z and its conjugate, z&conjugate0;&comma; as independent variables and in equal footing; this is Wirtinger calculus.

4. 

Redefine the sum command in order to perform multi-index summation.

In Maple 18, these options combined provide flexibility, subsequently making the Physics environment more expressive.

Real Objects

In almost any mathematical formulation in Physics, there are objects that are real; for example: Planck's constant, time, the mass and position of particles, etc. Independent of the Physics package, there are two standard ways to indicate that a variable is real. First, by using assuming, where the real character is valid only for one computation. Second, by using assume, where the real character is taken into account only after the assumption is placed, and so you cannot reuse previous expressions with the new assumption meaning.

 

In Maple 18, there is now a third way, so that:

• 

You can turn the real character of selected variables ON and OFF at any moment, without restarting.

• 

You can reuse computations found anywhere on the worksheet, which take the indicated real character of variables and functions into account (including expressions entered before saying which are the real objects).

• 

You can query about the real objects set at any moment.

• 

You can indicate algebraic non-projected vectors to be real.

• 

All of the geometrical coordinates, Cartesian, cylindrical and spherical, including the related unit vectors, as well as any 4-D coordinate system defined using Coordinates or Setup are automatically taken as real.

• 

The real variables and functions that you set to be real are automatically recognized by the is  and coulditbe commands and through them, by the rest of the Maple library.

As with everything else in Physics, you set the realobjects involved in your computation in Physics:-Setup, either entering the information in the Maple worksheet or using the Physics setup visual-applet.

Examples

This development is integrated with the commands is and coulditbe, and by extension, with the whole Maple library (conjugate, simplify, int, series, etc.), such that the real objects specified using Physics:-Setup are considered real by the whole system.

restart&semi; withPhysics&colon;Setupmathematicalnotation &equals; true

mathematicalnotation=true

(126)

To query about the real objects at any moment,

Setuprealobjects

realobjects=

(127)

Define a coordinate system:

Setupcoordinates &equals; X

* Partial match of 'coordinates' against keyword 'coordinatesystems'

Default differentiation variables for d_, D_ and dAlembertian are: X=x1&comma;x2&comma;x3&comma;x4

Systems of spacetime Coordinates are: X=x1&comma;x2&comma;x3&comma;x4

coordinatesystems=X

(128)

Setuprealobjects

realobjects=X

(129)

X1

x1

(130)

isx1&comma; real

true

(131)

Imx1

0

(132)

conjugatex1

x1

(133)

Load the vector package:

withVectors&colon;

Setuprealobjects

realobjects=i&comma;j&comma;k&comma;φ&comma;r&comma;ρ&comma;θ&comma;φ&comma;r&comma;ρ&comma;θ&comma;x&comma;x1&comma;x2&comma;x3&comma;x4&comma;y&comma;z

(134)

The norm of the sum of two vectors:

NormA_ &plus; B_

A+B

(135)

expand

A2+A·B&conjugate0;+B·A&conjugate0;+B2

(136)

Above, we see the norm computed in a general domain where vectors are complex. Frequently, however, vectors in Physics assume real values:

Setupreal &equals; A_&comma; B_

* Partial match of 'real' against keyword 'realobjects'

realobjects=A&comma;B&comma;i&comma;j&comma;k&comma;φ&comma;r&comma;ρ&comma;θ&comma;φ&comma;r&comma;ρ&comma;θ&comma;x&comma;x1&comma;x2&comma;x3&comma;x4&comma;y&comma;z

(137)

Expand now (135) 

expand

A2+2A·B+B2

(138)

You can unset real objects the same way as every other Physics setting, using the clear keyword of Setup:

Setupclear&comma; real &equals; B_

* Partial match of 'real' against keyword 'realobjects'

realobjects=A&comma;i&comma;j&comma;k&comma;φ&comma;r&comma;ρ&comma;θ&comma;φ&comma;r&comma;ρ&comma;θ&comma;x&comma;x1&comma;x2&comma;x3&comma;x4&comma;y&comma;z

(139)

isA_&comma; real&comma; isB_&comma; real

true,false

(140)

expand

A2+A·B&conjugate0;+A·B+B2

(141)

Combining Powers of the Same Base

In Maple, if you enter xnxm, in order to receive xn+m, you need to use the combine command and the same happens with products of exponentials. The idea is to give you more control over the steps. On the other hand, depending on your problem, this level of control may be too elementary and an automatic combination of powers of the same base may be preferred. This combination of powers, for example, &ExponentialE;A&ExponentialE;B, is invalid when the exponents A and B do not commute (if A and B are matrices); unless A and B commute with their commutator ABBA. In this case, the combination can be done using Glauber's formula, which is related to Hausdorff's formula. These have both been implemented in Physics for Maple 18.

 

To address this situation and its nuances, Maple 18 allows you to turn the automatic combination of powers of the same base ON and OFF. This can be done without having to restart and includes the correct combination rules for noncommutative bases or exponents.

Examples

The starting value of combinepowersofsamebase is false:

Setupcombinepowersofsamebase

combinepowersofsamebase=false

(142)

Activate the feature:

Setupcombine &equals; true

* Partial match of 'combine' against keyword 'combinepowersofsamebase'

combinepowersofsamebase=true

(143)

From here on, powers of the same base are automatically combined when it is mathematically correct:

Am An

Am+n

(144)

The combination is valid for noncommutative A provided that n and m commute:

Setupquantumoperators &equals; A

quantumoperators=A

(145)

Library:-Commutem&comma; n

true

(146)

Am An

Am+n

(147)

You can turn this feature ON and OFF at any moment and continue computing:

Setupcombine &equals; false

* Partial match of 'combine' against keyword 'combinepowersofsamebase'

combinepowersofsamebase=false

(148)

Am An

AmAn

(149)

Setupcombine &equals; true

* Partial match of 'combine' against keyword 'combinepowersofsamebase'

combinepowersofsamebase=true

(150)

Am An

Am+n

(151)

Setupop &equals; m&comma; n

* Partial match of 'op' against keyword 'quantumoperators'

quantumoperators=A&comma;m&comma;n

(152)

Library:-Commutem&comma; n

false

(153)

Now, the combination cannot be performed.

Am An

AmAn

(154)

Setup%Commutatorm&comma; n &equals; 0

algebrarules=m,n=0

(155)

Am An

Am+n

(156)

For exponentials, Glauber's formula is automatically taken into account. For instance, set B and C to be noncommutative operators, A and B to commute with C ,  and C equal to the commutator of A and B &colon;

 Setupop &equals; B&comma; C&comma; %CommutatorA&comma; C &equals; 0&comma; %CommutatorB&comma; C &equals; 0&comma; %CommutatorA&comma; B &equals; C

* Partial match of 'op' against keyword 'quantumoperators'

algebrarules=A,B=C&comma;A,C=0&comma;B,C=0&comma;m,n=0&comma;quantumoperators=A&comma;B&comma;C&comma;m&comma;n

(157)

Automatic combination of exponentials using Glauber's formula:

expA expB

&ExponentialE;A+B+C2

(158)

Turn the feature OFF and expand the previous result:

Setupcombine &equals; false

* Partial match of 'combine' against keyword 'combinepowersofsamebase'

combinepowersofsamebase=false

(159)

expand

&ExponentialE;A&ExponentialE;B

(160)

You can recombine this result as usual using combine:

combine

&ExponentialE;A+B+C2

(161)

Complex variables: z and z&conjugate0; in equal footing

Generally speaking, there are two contexts for differentiating complex functions with respect to complex variables. In the first context, called the classical complex analysis, the derivatives of the complex components (abs, argument, conjugate, Im, Re, signum) with respect to complex variables do not exist (do not satisfy the Cauchy-Riemann conditions), with the exception of special cases. In the second context, first introduced by Poincare (also called Wirtinger calculus), z and its conjugate z&conjugate0; are taken as independent variables, and all the six derivatives (Wirtinger derivatives) of the complex components are computable. In the first context, differentiation can only be performed on holomorphic functions. However, Wirtinger calculus permits extending complex differentiation to non-holomorphic functions provided that they are =-differentiable (i.e. differentiable functions of real and imaginary parts, taking fz&equals;fx&comma;y as a mapping &reals;2).  Correspondingly, Physics in Maple 18 implements:

a. 

Redefinition of the differentiation rules of the complex components: without loading Physics, these six derivatives are returned expressed in terms of the uncomputed higher order derivatives of abs and signum, as in previous Maple releases. After loading Physics, they return uncomputed, but the derivative of each complex component is expressed in terms of itself instead of abs and signum. This permits working with complex functions and their derivatives in a more natural way.

b. 

A new set of conversion routines allows for the six complex components and their derivatives in terms of any of the other components to be rewritten.

c. 

Optional work with d/dz and d/dz&conjugate0; as classical complex analysis differentiation operators (context 1), or Wirtinger differentiation operators (context 2), depending on the value of a new Physics Setup setting: usewirtingerderivatives.

Examples

restart&semi; withPhysics&colon;Setupmathematicalnotation &equals; true

mathematicalnotation=true

(162)

The six complex components are:

complex_components  abs&comma; argument&comma; conjugate&comma; Re&comma; Im&comma; signumz

complex_componentsz&comma;argz&comma;z&conjugate0;&comma;z&comma;z&comma;signumz

(163)

New conversion routines to express any complex component in terms of the other ones:

mapu  u &equals; convertu&comma; abs&comma;complex_components

z=z&comma;argz=−Ilnzz&comma;z&conjugate0;=z2z&comma;z=z2+z22z&comma;z=I2zz2z&comma;signumz=zz

(164)

mapu  u &equals; convertu&comma; conjugate&comma;complex_components

z=zz&conjugate0;&comma;argz=−Ilnzzz&conjugate0;&comma;z&conjugate0;=z&conjugate0;&comma;z=z2+z&conjugate0;2&comma;z=I2z+z&conjugate0;&comma;signumz=zzz&conjugate0;

(165)

mapu  u &equals; convertu&comma; argument&comma;complex_components

z=z&ExponentialE;Iargz&comma;argz=argz&comma;z&conjugate0;=z&ExponentialE;2Iargz&comma;z=z1+1&ExponentialE;2Iargz2&comma;z=I2zz&ExponentialE;2Iargz&comma;signumz=&ExponentialE;Iargz

(166)

The derivatives of these complex components return unevaluated. However, after loading Physics, they are expressed in terms of themselves (not in terms of unevaluated derivatives of abs and signum). The left-hand side is the inert representation for the derivative and the right-hand side is the actual derivative after being computed:

dcc  map%diff &equals; diff&comma; complex_components&comma; z

dcc&DifferentialD;&DifferentialD;zz=abs1&comma;z&comma;&DifferentialD;&DifferentialD;zargz=&DifferentialD;&DifferentialD;zargz&comma;&DifferentialD;&DifferentialD;zz&conjugate0;=&DifferentialD;&DifferentialD;zz&conjugate0;&comma;&DifferentialD;&DifferentialD;zz=&DifferentialD;&DifferentialD;zz&comma;&DifferentialD;&DifferentialD;zz=&DifferentialD;&DifferentialD;zz&comma;&DifferentialD;&DifferentialD;zsignumz=signum1&comma;z

(167)

New: the same way we have &DifferentialD;&DifferentialD;zz&conjugate0;0&comma; we now also have &DifferentialD;&DifferentialD;z&conjugate0; z0.

diffz&comma; conjugatez  0

z&conjugate0;z0

(168)

With these changes, it is possible to compute field equations naturally. For instance, consider the following Lagrangian of a complex scalar field. For readability, make Φx&comma;y&comma;z&comma;t have a compact display and derivatives be displayed indexed (see PDEtools:-declare)

PDEtools:-declarePhix&comma; y&comma; z&comma; t

Φx&comma;y&comma;z&comma;twill now be displayed asΦ

(169)

The Lagrangian:

L  I&sol;2 conjugatePhix&comma; y&comma; z&comma; t diffPhix&comma; y&comma; z&comma; t&comma; tdiffconjugatePhix&comma; y&comma; z&comma; t&comma; t Phix&comma; y&comma; z&comma; t&semi;

LI2Φ&conjugate0;ΦtΦ&conjugate0;tΦ

(170)

The corresponding action:

S  IntcL&comma;x&comma;y&comma;z&comma;t&semi;

SI2Φ&conjugate0;ΦtΦ&conjugate0;tΦ&DifferentialD;x&DifferentialD;y&DifferentialD;z&DifferentialD;t

(171)

The field equation is computed in a natural way, taking the functional derivative of the action with respect to the field &Phi;&colon;

%Fundiff &equals; FundiffS&comma; ΦX&comma;Y&comma;Z&comma;T

δδΦX&comma;Y&comma;Z&comma;TI2Φ&conjugate0;ΦtΦ&conjugate0;tΦ&DifferentialD;x&DifferentialD;y&DifferentialD;z&DifferentialD;t=−IΦX&comma;Y&comma;Z&comma;T&conjugate0;T

(172)


Higher derivatives of signum are not anymore equal to signum1&comma;z for all differentiation orders. They now also take into account the chain rule.

&DifferentialD;&DifferentialD;zsignumfz

fzsignum1&comma;fz

(173)

&DifferentialD;&DifferentialD;z

fz,zsignum1&comma;fz+fz2signum2&comma;fz

(174)

This is relevant in connection with the relationship between the derivative of signum and the Dirac delta function.

The derivative of z is now computable when z=0.

abs1&comma; I

−I

(175)

Derivatives of complex components can also be converted using the new convert routines.

diffargumentz&comma;z

argzz

(176)

convert&comma; conjugate

−I1zz&conjugate0;zz&conjugate0;+zz&conjugate0;z2zz&conjugate0;32zz&conjugate0;z

(177)

diffsignumz&comma;z

signum1&comma;z

(178)

convert&comma; argument

2Iargzzzargzz2Izargzz,z&ExponentialE;Iargz

(179)

Wirtinger calculus, with z and z&conjugate0; in equal footing: this is perhaps the most important part of the changes performed regarding complex components. You can switch between using or not using Wirtinger derivatives in the middle of a worksheet without restarting Maple 18. Simply use the usewirtingerderivatives keyword of Setup.

Setupwir&equals;true

* Partial match of 'wir' against keyword 'usewirtingerderivatives'

usewirtingerderivatives=true

(180)

In this Wirtinger context, the six derivatives of the non-holomorphic complex components are now computed as: (compare with (167))

dcc  map%diff &equals; diff&comma; complex_components&comma; z

dcc&DifferentialD;&DifferentialD;zz=z&conjugate0;2z&comma;&DifferentialD;&DifferentialD;zargz=I2z&comma;&DifferentialD;&DifferentialD;zz&conjugate0;=0&comma;&DifferentialD;&DifferentialD;zz=12&comma;&DifferentialD;&DifferentialD;zz=I2&comma;&DifferentialD;&DifferentialD;zsignumz=12z

(181)

Note that in this context &DifferentialD;&DifferentialD;zz&conjugate0;=0 (this is the third derivative in the list (181)). Likewise, when usewirtingerderivatives=true,

%diff &equals; diffz&comma;z&conjugate0;

z&conjugate0;z=0

(182)

Redefine Sum for Multi-Index Summation

A new option, redefinesum, permits redefining the sum command, such that:

a. 

 The sum command can now perform multi-index summation. For example,  1i+jnfi,j

b. 

 The sum command avoids premature evaluation of its arguments.


Without redefining the sum command, both features are also available by using the new Add command of the Physics:-Library.

Examples

By default, the sum command is not redefined. Therefore, the value of redefinesum is:

restart&semi; withPhysics&colon;Setupredefinesum

redefinesum=false

(183)

Multi-index summation is a summation performed over various indices at the same time for a pre-established value of the sum of these indices (lower and upper values).  The multi-index summation functionality is new in Maple 18 and available through the Physics:-Library:-Add command:

Library:-Addfi&comma;j&comma; 1i&plus;jn

1i+jnfi,j

(184)

For instance, for n = 2,

eval&comma; n&equals;2

f0,1+f1,0+f0,2+f1,1+f2,0

(185)

This functionality can be plugged directly into the sum command. For that purpose, set redefinesum to true:

Setupredefinesum &equals; true

redefinesum=true

(186)

You can now perform multi-index summation directly from sum. The left-hand side is inert while the right-hand side is computed:

%sum &equals; sumfi&comma;j&comma; i&plus;j  2

i+j2fi,j=f0,0+f0,1+f1,0+f0,2+f1,1+f2,0

(187)

value

f0,0+f0,1+f1,0+f0,2+f1,1+f2,0=f0,0+f0,1+f1,0+f0,2+f1,1+f2,0

(188)

Indicate a lower value for the sum of the indices:

%sum &equals; sumfi&comma;j&comma; 1  i&plus;j  2

1i+j2fi,j=f0,1+f1,0+f0,2+f1,1+f2,0

(189)

The formula for the integer power of a sum:

a&plus;b&plus;cn &equals; sumn&excl;&sol;p&excl; q&excl; r&excl; ap bq cr&comma; p&plus;q&plus;r &equals; n&semi;

a+b+cn=p+q+r=nn!1p!q!r!apbqcr

(190)

eval&comma; n&equals;2

a+b+c2=a2+2ab+2ac+b2+2bc+c2

(191)

eval&comma; n&equals;3

a+b+c3=a3+3a2b+3a2c+3ab2+6abc+3ac2+b3+3b2c+3bc2+c3

(192)

Verify whether this equation is true

evalb&commat;expand

true

(193)

Besides this new function, the redefined sum accomplishes a more modern/convenient handling of its arguments, consider:

a  1&semi; b  2&semi; j  3&semi;

a1

b2

j3

(194)

In the following summation, j is a dummy summation index. As a result, the value assigned above, j3, is not expected to interfere with the summation. This is the case with the redefined sum:

sumfj&comma; j&equals;a..b

f1+f2

(195)

Without redefining sum, the input above is interrupted with an error message due to the premature evaluation of the summation index. Similarly, in this other case:

g  jif jodd then Gj else 0 fi

gjifj::oddthenGjelse0endif

(196)

The following two summations can be performed after having a redefined sum:

sumgi&comma; i &equals; 1 .. f&semi;

i=1fgi

(197)

eval&comma; f&equals;3

G1+G3

(198)

For the summation (197), without redefining sum, it returns 0 instead of unevaluated. This is because of a premature evaluation of the function gi with an unassigned index i, before performing the summation. Returning unevaluated as (197) permits evaluating the sum at a later moment, for instance attributing a value to f as in (198).

Dagger

Physics:-Dagger now has the same shortcut notation of Hermitian transpose, which acts on Vectors, vector products, equations, and automatically maps over the arguments of derivatives when the differentiation variables are real.

Examples

restart&semi; withPhysics&colon;Setupmathematicalnotation &equals; true

mathematicalnotation=true

(199)

PDEtools:-declarex&comma;y&comma;zt

xtwill now be displayed asx

ytwill now be displayed asy

ztwill now be displayed asz

(200)

Handling Vector structures, Matrices and equations:

V  Vectordiffx&comma;y&comma;zt&comma;t&equals;Matrix3&comma;i&comma;j  fi&comma;j &period; Vectorcolumnx&comma;y&comma;zt

Vxtytzt=f1,1x+f1,2y+f1,3zf2,1x+f2,2y+f2,3zf3,1x+f3,2y+f3,3z

(201)

Indicate that t is real:

Setupreal &equals; t

* Partial match of 'real' against keyword 'realobjects'

realobjects=t

(202)

Computing the Dagger (Hermitian conjugate) automatically maps Dagger on both sides of the equation:

Dagger

x&conjugate0;ty&conjugate0;tz&conjugate0;t=f1,1&conjugate0;x&conjugate0;+f1,2&conjugate0;y&conjugate0;+f1,3&conjugate0;z&conjugate0;f2,1&conjugate0;x&conjugate0;+f2,2&conjugate0;y&conjugate0;+f2,3&conjugate0;z&conjugate0;f3,1&conjugate0;x&conjugate0;+f3,2&conjugate0;y&conjugate0;+f3,3&conjugate0;z&conjugate0;

(203)

A new shortcut notation is available: V^* for DaggerV:

V&ast;

x&conjugate0;ty&conjugate0;tz&conjugate0;t=f1,1&conjugate0;x&conjugate0;+f1,2&conjugate0;y&conjugate0;+f1,3&conjugate0;z&conjugate0;f2,1&conjugate0;x&conjugate0;+f2,2&conjugate0;y&conjugate0;+f2,3&conjugate0;z&conjugate0;f3,1&conjugate0;x&conjugate0;+f3,2&conjugate0;y&conjugate0;+f3,3&conjugate0;z&conjugate0;

(204)

Load the Vectors package to compute with algebraic vectors instead of Matrix structures:

withVectors&colon;

Dagger recognizes Vectorial differential operators from Physics:-Vectors, and because the differentiation variables of these operators are always real, it automatically maps over the operands.

%DivergenceA_

·A

(205)

%Dagger &equals; Dagger

·A=·A&conjugate0;

(206)

Setupreal &equals; A_

* Partial match of 'real' against keyword 'realobjects'

realobjects=A&comma;i&comma;j&comma;k&comma;φ&comma;r&comma;ρ&comma;θ&comma;φ&comma;r&comma;ρ&comma;t&comma;θ&comma;x&comma;y&comma;z

(207)

%Dagger &equals; Dagger

·A=·A

(208)

Set two vectorial quantum operators:

Setupop &equals; A_&comma; B_

* Partial match of 'op' against keyword 'quantumoperators'

quantumoperators=A&comma;B

(209)

A_ &period; B_

A·B

(210)

Dagger

B·A

(211)

Set an anticommutative prefix to eta,

Setupanticommutativeprefix &equals; eta

anticommutativeprefix=_&lambda;&comma;η

(212)

eta1 eta2

η1η2

(213)

Dagger

η1η2

(214)

Indicate that these anticommutative objects are scalars; set the system to display assumed variables without trailing tilde:

interfaceshowassumed &equals; 0&semi;

1

(215)

assumeeta1&comma; scalar&semi; assumeeta2&comma; scalar

Compute the dagger of the product (213) again:

Dagger

η1&conjugate0;η2&conjugate0;

(216)

Furthermore, indicate that these numbers are real and compute the Dagger again:

Setupreal &equals; eta1&comma; eta2

* Partial match of 'real' against keyword 'realobjects'

realobjects=A&comma;i&comma;j&comma;k&comma;φ&comma;r&comma;ρ&comma;θ&comma;φ&comma;r&comma;ρ&comma;t&comma;θ&comma;x&comma;y&comma;z&comma;η1&comma;η2

(217)

Dagger

η1η2

(218)

Vectors Package

A number of changes were performed in the Vectors subpackage to make the computations more natural and versatile:

• 

You can now use geometrical coordinates indexed, as in rj, to represent mathematical objects unrelated to the coordinates themselves (in this case the spherical coordinate r).  This is a more appropriate mimicry of the way we compute with paper and pencil.

• 

Integrate the Vectors package commands with assuming and accept a tensor with 1 index (of type Library:-PhysicsType:-Tensor, defined using Define) as a possible abstract representation of the kth component of a vector.

• 

When V is a vector of the Physics:-Vectors package, make its absolute value V, compute automatically using Physics:-Vectors:-Norm

• 

For an arbitrary vector  A, make its Norm A = A·A&conjugate0;&comma; and introduce a new option conjugate to Norm, to specify whether to use A·A&conjugate0; or A·A when computing A.

• 

When A is a quantum operator, Norm returns using Dagger instead of conjugate.

• 

Commutators and Anticommutators of vectorial quantum operators A,B, are now implemented and expressed using the dot (scalar) product, as in A,B=A·BB·A &period; 

• 

New PhysicsVectors type in the Library of types Library:-PhysicsTypes, in order to programmatically identify vectors of the Physics:-Vectors package.

 

Two examples illustrating the use of the new capabilities in the context of a more general problem are found in the MaplePrimes posts Quantum Mechanics using Computer Algebra and Quantum Mechanics (II).

Examples

restart&semi; withPhysics&colon;withVectors&colon;Setupmathematicalnotation &equals; true

mathematicalnotation=true

(219)

In previous releases, the geometrical coordinates, Cartesian (x,y,z), cylindrical (ρ,φ,z) or spherical (r,θ,φ) could not be used or indexed to represent anything other than geometrical coordinates. In Maple 18, that restriction is removed. For example, you can use x1, x2 and x3 to represent the components of a vector in the directions x,y,z&period;

r__1_  x1 _i &plus; x2 _j &plus; x3 _k

r__1x1i+x2j+x3k

(220)

r__2_  y1 _i &plus; y2 _j &plus; y3 _k

r__2y1i+y2j+y3k

(221)

r__1_ &x  r__2_

x2y3x3y2i+x1y3+x3y1j+x1y2x2y1k

(222)

f_  z1x&comma;y&comma;z _i &plus; z2x&comma;y&comma;z _j &plus; z3x&comma;y&comma;z _k

fz1x&comma;y&comma;zi+z2x&comma;y&comma;zj+z3x&comma;y&comma;zk

(223)

%Divergence &equals; Divergence

·z1x&comma;y&comma;zi+z2x&comma;y&comma;zj+z3x&comma;y&comma;zk=xz1x&comma;y&comma;z+yz2x&comma;y&comma;z+zz3x&comma;y&comma;z

(224)

When Vectors is loaded, all geometrical coordinates and related unit vectors are automatically considered real. New in Maple 18, you can also query about the real objects directly from Setup:

Setuprealobjects

realobjects=i&comma;j&comma;k&comma;φ&comma;r&comma;ρ&comma;θ&comma;φ&comma;r&comma;ρ&comma;θ&comma;x&comma;y&comma;z

(225)

istheta&comma; real

true

(226)

Dagger recognizes Vectorial differential operators from Physics:-Vectors, and because the differentiation variables of these operators are always real, it automatically maps over the operands:

%DivergenceA_

·A

(227)

%Dagger &equals; Dagger

·A=·A&conjugate0;

(228)

Setupreal &equals; A_

* Partial match of 'real' against keyword 'realobjects'

realobjects=A&comma;i&comma;j&comma;k&comma;φ&comma;r&comma;ρ&comma;θ&comma;φ&comma;r&comma;ρ&comma;θ&comma;x&comma;y&comma;z

(229)

%Dagger &equals; Dagger

·A=·A

(230)

The jthcomponent of a vector is now automatically considered a tensor:

ComponentA_&comma; j

Aj

(231)

type&comma;Library:-PhysicsType&colon;Tensor

true

(232)

The absolute value of a vector is now automatically interpreted as its norm (on the left-hand side, the inert form of the absolute value; on the right-hand side, the active form)

%abs &equals; absA_

A=A

(233)

The Norm of an arbitrary vector is now computed as its scalar product with its conjugate, so for instance for r__1 in (220),

%Norm &equals; Normr__1_

x1i+x2j+x3k=x1&conjugate0;x1+x2&conjugate0;x2+x3&conjugate0;x3

(234)

You can specify that you are working with real vectors (and want to compute the Norm without using conjugate) in two different ways:

1. 

Using the new optional argument of Norm.

Normr__1_&comma; conjugate &equals; false

x12+x22+x32

(235)
2. 

Indicating that the components are real.

Setupreal &equals; x1&comma; x2&comma; x3

* Partial match of 'real' against keyword 'realobjects'

realobjects=A&comma;i&comma;j&comma;k&comma;φ&comma;r&comma;ρ&comma;θ&comma;φ&comma;r&comma;ρ&comma;θ&comma;x&comma;y&comma;z&comma;x1&comma;x2&comma;x3

(236)

Normr__1_

x12+x22+x32

(237)

The same applies for vectorial quantum operators, but in that case Norm uses Dagger instead of conjugate, and the expression is symmetrized with respect to the Dagger operation. Consider,

NormA_ &plus; B_

A+B

(238)

and compare the following four different situations:

expand assuming real

A2+2A·B+B2

(239)

expand

A2+A·B&conjugate0;+B·A+B2

(240)

Now, set A_ and B_ to be quantum operators:

Setupop &equals; A_&comma; B_

* Partial match of 'op' against keyword 'quantumoperators'

quantumoperators=A&comma;B

(241)

expand assuming real

A2+A·B+B·A+B2

(242)

expand

A·A2+A·B2+B·A2+B·B2+A·A2+A·B2+B·A2+B·B2

(243)

Commutators and Anticommutators of vectorial quantum operators A,B, are now implemented and expressed using the dot (scalar) product

CommutatorA_&comma;B_

A,B

(244)

expand

A·BB·A

(245)

New PhysicsVectors type in the Library of types Library:-PhysicsTypes, in order to programmatically identify vectors of the Physics:-Vectors package

typeA_&comma; Library:-PhysicsType:-PhysicsVectors

true

(246)

r__1_

x1i+x2j+x3k

(247)

type&comma; Library:-PhysicsType:-PhysicsVectors

true

(248)

Library

Seventeen new commands, useful for programming and interactive computation, were added to the Physics:-Library package. These are:

• 

Add unifies the standard add and sum commands using a more modern handling of arguments, free of premature evaluation problems, and brings new multi-index functionality.

• 

ApplyCommandUsingImplicitAssumptions applies any command to expressions containing sums, integrals or products such that the command is applied to the summand (integrand or 1st argument of the product) taking into account the assumptions implicit in the summation (integration or product) range.

• 

CombinePowersOfSameBase combines powers of the same base in products correctly handling the case of noncommutative products and powers, using Glauber's formula.

• 

FromTensorFunctionalForm is a generalization of the former FromGeneralRelativityTensorFunctionalForm command, that also handles user defined tensor functions.

• 

GetFAndDifferentiationVariables receives a derivative and returns a sequence with derivand and all the differentiation variables.

• 

GetReplacementIndices receives a list of indices of different kinds (spacetime, space, spinor, etc) and any other arguments and returns a list with new indices of the same kinds - useful for replacements - not present in the rest of the arguments.

• 

GetSymbolsWithSameType receives an expression x, of type commutative, anticommutative or noncommutative, and any other arguments, and returns symbols of the same type as x, and not present in the rest of arguments.

• 

GetTensorDependency gets the dependency of a given tensor; this dependency typically depends of the spacetime metric or on the way you defined the tensor using Define.

• 

GetTensorFunctionalForm is a generalization of the former GetGeneralRelativityTensorFunctionalForm command, that also handles user defined tensor functions.

• 

IsLiteralSubscript returns true or false according to whether a symbol s is of the form x__y, that is, it has the substring __ after the first or next characters and before the last one.

• 

IsRealObject returns true or false according to whether a mathematical expression, function or variable passed is known to be real, either because it was assumed to be real, or because it was set to be real using Setup and its realobjects keyword.

• 

RealObjects sets and unsets mathematical variables and functions as real, and answers queries about them.

• 

SortProducts sorts the operands of noncommutative products into any particular desired ordering while taking into account commutator and anticommutator algebra rules, such that the returned product is mathematically equivalent to the one received.

• 

SubstituteTensor substitutes equations into an expression, taking care of the free and repeated indices such that: 1) the substitution equations are interpreted as mappings having the free indices as parameters, and 2) repeated indices in the substitution equations do not clash with existing repeated indices in the target expression.

• 

ToContravariant and ToCovariant rewrite a given expression multiplying by the spacetime metric so that all of its free indices become respectively contravariant or covariant.

• 

ToTensorFunctionalForm reverses the operation performed by the new FromTensorFunctionalForm described above.

Examples

Examples for all these new routines are provided in the corresponding sections of the Physics Library help page.

Miscellaneous

• 

Implement formulas for abstract k, n both nonnegint entering a+k·An and ak·An, where a+ and a are Creation and Annihilation operators, respectively, acting on the 1st quantum number of the space of quantum states labeled A.

• 

Implement new PDEtools:-dchange rules for changing variables in Bras Kets and Brackets of the Physics package

• 

Library:-Degree can now compute the degree for noncommutative products Enhance PDEtools:-Library:-Degree and PDEtools:-Coefficients, to work with Physics:-`.` the same way it does with Physics:-`*`

• 

Changes in design:

a. 

When the spacetime is Euclidean, there is no difference in value between the covariant and contravariant components of a tensor. Therefore, represent both with covariant indices making simplification and all manipulations simpler. This change affects the display of indices on the screen as well as the output of SumOverRepeatedIndices.

b. 

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.

c. 

When A is a quantum operator (generic, Hermitian or unitary), the literal subscript object A__x is now considered an operator of the same kind.

d. 

Normal normalizes powers of the same base (including exponentials) by combining them. For example, AnAm An+m&period;

e. 

Normal normalizes noncommutative products by sorting objects that commute between themselves putting those that involve Dagger and conjugate to the left, more aligned with normal ordering in quantum field theories.

f. 

FeynmanDiagrams does not return any crossed propagators unless explicitly requested using the new option includecrossedpropagators. The former option, normalproducts, was renamed as externallegs.

Examples

restart&semi;withPhysics&colon; Setupmathematicalnotation &equals; true

mathematicalnotation=true

(249)

Construct Annihilation and Creation operators related to a quantum operator A&colon;

Setupquantumoperator &equals; A

* Partial match of 'quantumoperator' against keyword 'quantumoperators'

quantumoperators=A

(250)

am  AnnihilationA&semi;

ama

(251)

ap  CreationA&semi;

apa+

(252)

Consider the action of a&plus;k on the ket An&colon;

K  KetA&comma;n

KAn

(253)

apk&period; K

a+k·An

(254)

However, if both k and n are nonnegative integers,

% &equals; % assuming knonnegint&comma; nnonnegint

a+k·An=n+k!n!An+k

(255)

The action of the annihilation operator am can also be expressed using an exact formula for arbitrary nonnegative k.

amk &period; K&colon;

% &equals; % assuming knonnegint&comma; nnonnegint

ak·An=nk+1kAnk

(256)

The expression above is expressed using Pochhammer symbols to handle the case where n=0,0<k .  It can, however, be expressed in more familiar form using factorial:

convert%&comma; factorial

ak·An=n!nk!Ank

(257)

New rules for changing variables in Bras, Kets and Brackets were implemented:

n=1p&plus;1fn αn1KetA&comma;n1n1!

n=1p+1fnαn1An1n1!

(258)

PDEtools:-dchangen&equals;k&plus;1&comma; fn &equals; gk&comma;

k=0pgkαkAkk!

(259)

Library:-Degree can now operate on noncommutative dot and star products when the operation is not ambiguous.

withVectors&colon; Setupop &equals; A&comma; B&comma; r_&comma; p_

* Partial match of 'op' against keyword 'quantumoperators'

quantumoperators=A&comma;B&comma;p&comma;r

(260)

Library:-DegreeA B&comma; A

1

(261)

You can also, formally, compute the degree "with respect to a vector" in a vector scalar product.

Library:-Degreer·p,r

1

(262)

When the spacetime is Euclidean, there is no difference in value between the covariant and contravariant components of a tensor. Therefore, represent both with covariant indices making simplification and all manipulations simpler. To illustrate this, define a couple of tensors

DefineV&comma;S

Defined objects with tensor properties

S&comma;V&comma;γμ&comma;σμ&comma;μ&comma;gμ,ν&comma;δμ,ν&comma;εα,β,μ,ν

(263)

The default metric is not Euclidean.

g_

Correspondingly, as distinction between covariant and contravariant indices is relevant, and although in algebraic contracted products of tensors it is not relevant which tensor is contravariant, the display shows one contracted index covariant, the other one contravariant:

Vmu Smu

SμVμμ

(264)

Now set the spacetime metric to be Euclidean:

g_Euclidean

The Euclidean metric in cartesian coordinates

Contracted indices are now shown all covariant.

Vmu Smu

VμSμ

(265)

The "scalar" (dot) product of two operators, A and B, is now represented with the noncommutative product operator `*` when neither A nor B involve Bras or Kets.

A &period; B

AB

(266)

A &period; KetB

A·B

(267)

When A is a quantum operator (generic, Hermitian or unitary) the literal subscript object A__x for any x is now considered an operator of the same kind. The same happens when using anticommutative and noncommutative prefixes, or tensor indices - although in these cases the subscript should be an integer. So now this convention regarding the literal subscripted variables applies in general in the Physics package .

A&comma; A__1&comma;A__x&comma;A__operator

A&comma;A__1&comma;A__x&comma;A__operator

(268)

 

lprint

[A, A__1, A__x, A__operator]

type&comma; listLibrary:-PhysicsType:-QuantumOperator

true

(269)

Setupnoncommutativeprefix &equals; Z&comma; spaceindices &equals; lowercaselatin

noncommutativeprefix=Z&comma;spaceindices=lowercaselatin

(270)

Z&comma;Z__1

Z&comma;Z__1

(271)

lprint%

[Z, Z__1]

type&comma; listnoncommutative

true

(272)

The Normal command now automatically combines powers of the same base when normalizing expressions:

AnAm

AnAm

(273)

Normal

Am+n

(274)

The normalization of noncommutative products when some of their operands commute and involve Dagger or conjugate is performed, such that these involving Dagger or conjugate are located to the left, more aligned with normal ordering in quantum field theories.

A DaggerA

AA

(275)

For an arbitrary operator A&comma;nothing is known about A&comma;A&comma; so the normal form of the product (275) is the product itself.

Normal

AA

(276)

However, if these two operands commute, that is  A&comma;A&equals;0&comma; then the product is normalized putting A to the left.

Setup%CommutatorA&comma; DaggerA &equals; 0

algebrarules=A,A=0&comma;a,a+=1

(277)

 &equals; Normal

AA=AA

(278)

See Also

Index of New Maple 18 Features

Physics

The Physics project