calculate the Killing vectors for a given metric - Maple Programming Help

Online Help

All Products    Maple    MapleSim


Home : Support : Online Help : Mathematics : DifferentialGeometry : Tensor : DifferentialGeometry/Tensor/KillingVectors

Tensor[KillingVectors] - calculate the Killing vectors for a given metric

Calling Sequences

     KillingVectors(g)

Parameters

     g         - a metric tensor on a manifold M

     options   - any of the following keywords arguments: ansatz, unknowns, auxiliaryequations, coefficientvariables, parameters, output

 

Description

Examples

Description

• 

A vector field X is called a Killing vector for the metric g if ℒXg = 0, where ℒX denotes Lie differentiation with respect to X. If Xj = gjk Xk and denotes covariant differentiation with respect to the given metric, then this equation can be written as(iXj)= 0. The set of all Killing vectors forms a finite dimensional Lie algebra of vector fields.

• 

The program KillingVectors generates the defining system of 1st order PDE for a Killing vector and uses pdsolve to find the solutions to these PDE.

• 

The keyword argument coefficientvariables = x1 , x2, ... , xk allows the user to specify the coefficient functions in the Killing vector Xas functions of the variables x1 , x2, ... , xk.

• 

The exact form of the Killing vector X can be specified with the keyword argument ansatz = X . For example, if the coordinates on the underlying manifold are x, y, z and X1, X2 are defined vectors, then one may solve for Killing vectors of the form X = fy,zX1 + gy,zX2 . In this situation the unknown functions must be explicitly specified with the keyword argument unknowns, for example, unknowns = fy,z, gy,z.

• 

When using the keyword argument ansatz, additional algebraic or differential conditions may be imposed upon the unknowns using the keyword argument auxiliaryequations = EqList. Here EqList is a list of the auxiliary equations to be added to the Killing equations.

• 

If the metric g depends upon a number of unspecified parameters (either constants or functions), then the keyword argument parameters= ParList,where ParList is the list of parameters, will invoke case-splitting with respect to these parameters. Special values of the parameters, where either the number or the explicit form of the Killing vectors changes, are calculated. The keyword argument auxiliaryequations can be used to specify additional algebraic or differential conditions on the parameters.

• 

With keyword argument output = pde, the defining partial differential equations for the Killing vectors are returned. The option output = general returns the general Killing vector in terms of a number of arbitrary constants _C1, _C2 ,... . The option output = list returns a list of vectors which form a basis for the solution space. The default value of this keyword argument is output = list.

• 

This command is part of the DifferentialGeometry:-Tensor package, and so can be used in the form KillingVectors(...) only after executing the commands with(DifferentialGeometry), with(Tensor), in that order. It can always be used in the long form DifferentialGeometry:-Tensor:-KillingVectors(...)

Examples

withDifferentialGeometry:withTensor:withLieAlgebras:

 

Example 1.

We find the Killing vectors for the metric g1 for the Poincare half-plane.

DGsetupx,y,P:

P > 

g1evalDG1y2dx&tdx+dy&tdy

g1:=_DGtensor,P,cov_bas,cov_bas,,1,1,1y2,2,2,1y2

(2.1)
P > 

K1KillingVectorsg1

K1:=_DGvector,P,,1,x22y22,2,yx,_DGvector,P,,1,x,2,y,_DGvector,P,,1,1

(2.2)

 

We check the result using the LieDerivative command.

P > 

mapLieDerivative,K1,g1

_DGtensor,P,cov_bas,cov_bas,,1,1,0,_DGtensor,P,cov_bas,cov_bas,,1,1,0,_DGtensor,P,cov_bas,cov_bas,,1,1,0

(2.3)

 

Alternatively, we can use the keyword argument output = general to calculate the general Killing vector in terms of 3 arbitrary constants.

P > 

KillingVectorsg1,output=general

_DGvector,P,,1,12x2_C1+_C2x12_C1y2+_C3,2,y_C1x+_C2

(2.4)

 

We calculate the structure equations for this Lie algebra of Killing vectors using the LieAlgebraData command, initialize the resulting Lie algebra, and check that it is semi-simple with the LieAlgebra Query command.

P > 

LLieAlgebraDataK1,Sym

L:=e1,e2=e1,e1,e3=e2,e2,e3=e3

(2.5)
P > 

DGsetupL

Lie algebra: Sym

(2.6)
Sym > 

QuerySemisimple

true

(2.7)

 

Example 2.

In this example we consider a metric g2 which depends upon 2 parameters a and b. We find the Killing vectors of g2 for different values of these parameters.

P > 

DGsetupx,y,z,M

frame name: M

(2.8)
M > 

g2evalDGdx&tdx+ax+bz+1dy&tdy+1ax+by+1dz&tdz

g2:=_DGtensor,M,cov_bas,cov_bas,,1,1,1,2,2,ax+bz+1,3,3,1ax+by+1

(2.9)

 

To invoke case-splitting, we use the keyword argument parameters. With this calling sequence KillingVectors will return a sequence of Killing vectors and, as the last element in the sequence, the special parameter values used to calculate these Killing vectors.

M > 

K2KillingVectorsg2,parameters=a,b

K2:=_DGvector,M,,1,z,3,x,_DGvector,M,,2,z,3,y,_DGvector,M,,3,1,_DGvector,M,,1,y,2,x,_DGvector,M,,2,1,_DGvector,M,,1,1,_DGvector,M,,1,1,_DGvector,M,,3,1,_DGvector,M,,2,1,_DGvector,M,,1,ba,2,1,3,1,a=0,b=0,a=0,b=b,a=a,b=0,a=a,b=b

(2.10)

 

Four cases are found:

M > 

CasesK21

Cases:=a=0,b=0,a=0,b=b,a=a,b=0,a=a,b=b

(2.11)
M > 

nopsCases

4

(2.12)

 

Case 1. a=0,b=0 6 Killing vectors

M > 

K21

_DGvector,M,,1,z,3,x,_DGvector,M,,2,z,3,y,_DGvector,M,,3,1,_DGvector,M,,1,y,2,x,_DGvector,M,,2,1,_DGvector,M,,1,1

(2.13)

 

Case 2. { a=0,b=b} 1 Killing vector

M > 

K22

_DGvector,M,,1,1

(2.14)

 

Case 3. a=a,b=0 2 Killing vectors

M > 

K23

_DGvector,M,,3,1,_DGvector,M,,2,1

(2.15)

 

Case 4. a=a,b=b 1 Killing vector

M > 

K24

_DGvector,M,,1,ba,2,1,3,1

(2.16)

 

The case a=0,b=0 defines the flat Euclidean metric. We can exclude this case by using the keyword argument auxiliaryequations.

M > 

KillingVectorsg2,parameters=a,b,auxiliaryequations=a2+b20

_DGvector,M,,1,1,_DGvector,M,,3,1,_DGvector,M,,2,1,_DGvector,M,,1,ba,2,1,3,1,a=0,b=b,a=a,b=0,a=a,b=b

(2.17)

 

Example 3.

In this example we consider a metric g3 which depends upon an arbitrary function. We find the Killing vectors of g3 for different values of this function.

P > 

DGsetupx,y,z,M

frame name: M

(2.18)
M > 

g3evalDGdx&tdx+dy&tdy+fx+y2dz&tdz

g3:=_DGtensor,M,cov_bas,cov_bas,,1,1,1,2,2,1,3,3,fx+y2

(2.19)

 

We exclude the case f(x) = 0.

M > 

KKillingVectorsg3,parameters=fx,auxiliaryequations=fx0

K:=_DGvector,M,,3,1,_DGvector,M,,1,1,_DGvector,M,,3,1,_DGvector,M,,3,1,_DGvector,M,,1,yz,2,_C1xz,3,arctany_C1x,_DGvector,M,,1,y,2,_C1x,_DGvector,M,,3,1,_DGvector,M,,1,2y,2,_C1+2x,fx=_C1,fx=fx,fx=_C122_C1x+x2,fx=_C1x+x2+_C2

(2.20)

 

In the generic case where f(x) is arbitrary there is just 1 Killing vector. When f(x) is a constant there are 2 Killing vectors. If f(x) is a generic quadratic function there are 2 Killing vectors while if f(x) is a perfect square there are 3 Killing vectors. Let's check this last case by direct calculation.

M > 

g3aevalDGdx&tdx+dy&tdy+x2+y2dz&tdz

g3a:=_DGtensor,M,cov_bas,cov_bas,,1,1,1,2,2,1,3,3,x2+y2

(2.21)
M > 

KillingVectorsg3a

yzD_xzxD_y+arctanyxD_z,D_z,yD_x+xD_y

(2.22)

 

Example 4.

We use an orthonormal frame to find the Killing vectors for the Godel metric. First we set up a 4-dimensional spacetime M with coordinates t,x,y, z. Then we define a coframe, calculate the structure equations for this coframe, and initialize the result as a frame called "Godel".

Sym > 

DGsetupx,y,z,t,M

frame name: M

(2.23)
M > 

ΩevalDGdx,dy,1sqrt2expxdz,dt+expxdz

Ω:=_DGform,M,1,1,1,_DGform,M,1,2,1,_DGform,M,1,3,2ⅇx2,_DGform,M,1,3,ⅇx,4,1

(2.24)
M > 

FDFrameDataΩ,Godel

FD:=dΘ1=0,dΘ2=0,dΘ3=Θ1Θ3,dΘ4=2Θ1Θ3

(2.25)
M > 

DGsetupFD,verbose

The following coordinates have been protected:

x,y,z,t

The following vector fields have been defined and protected:

_DGvector,Godel,,1,1,_DGvector,Godel,,2,1,_DGvector,Godel,,3,1,_DGvector,Godel,,4,1

The following differential 1-forms have been defined and protected:

_DGform,Godel,1,1,1,_DGform,Godel,1,2,1,_DGform,Godel,1,3,1,_DGform,Godel,1,4,1

frame name: Godel

(2.26)

 

Here is the Godel metric, first in the orthonormal frame and then in the coordinate frame (see Exact Solutions, page 178).

Godel > 

g4evalDGΘ1&tΘ1+Θ2&tΘ2+Θ3&tΘ3Θ4&tΘ4

g4:=_DGtensor,Godel,cov_bas,cov_bas,,1,1,1,2,2,1,3,3,1,4,4,−1

(2.27)
Godel > 

ΦTransformationM,Godel,x=x,y=y,z=z,t=t

Φ:=_DGtransformation,M,0,Godel,0,,100001000022ⅇx0001ⅇx1,x,x,y,y,z,z,t,t

(2.28)
M > 

PushPullTensorΦ,g4

_DGtensor,M,cov_bas,cov_bas,,1,1,1,2,2,1,3,3,ⅇ2x2,3,4,ⅇx,4,3,ⅇx,4,4,−1

(2.29)

 

Here are the 5 Killing vectors for the Godel metric in the adapted frame.

M > 

K4KillingVectorsg4

K4:=_DGvector,Godel,,1,z,3,ⅇxz22ⅇx24,4,ⅇxz22ⅇx,_DGvector,Godel,,1,1,3,ⅇxz22,4,ⅇxz,_DGvector,Godel,,3,2ⅇx2,4,ⅇx,_DGvector,Godel,,4,−1,_DGvector,Godel,,2,1

(2.30)

 

Here are the structure equations for the Lie algebra of Killing vectors.

Godel > 

L2LieAlgebraDataK4,Sym

L2:=e1,e2=e1,e1,e3=e2,e2,e3=e3

(2.31)
Godel > 

DGsetupL2

Lie algebra: Sym

(2.32)

 

We can use the LieAlgebras package to decompose this Lie algebra. The command Decompose returns a basis in which the algebra is decomposed into a direct sum of subalgebras.

Sym > 

DADecomposefactoralgebras=true

DA:=1000001000001000001000001,_DGvector,Sym,,1,1,_DGvector,Sym,,2,1,_DGvector,Sym,,3,1,_DGvector,Sym,,4,1,_DGvector,Sym,,5,1,e1,e2=e1,e1,e3=e2,e2,e3=e3,

(2.33)
Sym > 

L3LieAlgebraDataDA2

L3:=e1,e2=e1,e1,e3=e2,e2,e3=e3

(2.34)
Sym > 

DGsetupL3,f,α

Lie algebra: L1

(2.35)
L1 > 

MultiplicationTableLieTable

| f1f2f3f4f5------------------------f1| 0_DGvector,L1,,1,1_DGvector,L1,,2,100f2| _DGvector,L1,,1,−10_DGvector,L1,,3,100f3| _DGvector,L1,,2,−1_DGvector,L1,,3,−1000f4| 00000f5| 00000

(2.36)

See Also

DifferentialGeometry

LieAlgebras

Tensor

Decompose

LieAlgebraData

LieDerivative

MultiplicationTable

Query