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
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(...)
with⁡DifferentialGeometry:with⁡Tensor:with⁡LieAlgebras:
Example 1.
We find the Killing vectors for the metric g1 for the Poincare half-plane.
DGsetup⁡x,y,P:
g1≔evalDG⁡1y2⁢dx&tdx+dy&tdy
g1:=1y2⁢dx⁢dx+1y2⁢dy⁢dy
K1≔KillingVectors⁡g1
K1:=x22−y22⁢D_x+y⁢x⁢D_y,x⁢D_x+y⁢D_y,D_x
We check the result using the LieDerivative command.
map⁡LieDerivative,K1,g1
0⁢dx⁢dx,0⁢dx⁢dx,0⁢dx⁢dx
Alternatively, we can use the keyword argument output = general to calculate the general Killing vector in terms of 3 arbitrary constants.
KillingVectors⁡g1,output=general
12⁢x2⁢_C1+_C2⁢x−12⁢_C1⁢y2+_C3⁢D_x+y⁢_C1⁢x+_C2⁢D_y
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.
L≔LieAlgebraData⁡K1,Sym
L:=e1,e2=−e1,e1,e3=−e2,e2,e3=−e3
DGsetup⁡L
Lie algebra: Sym
Query⁡Semisimple
true
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.
DGsetup⁡x,y,z,M
frame name: M
g2≔evalDG⁡dx&tdx+a⁢x+b⁢z+1⁢dy&tdy+1a⁢x+b⁢y+1⁢dz&tdz
g2:=dx⁢dx+a⁢x+b⁢z+1⁢dy⁢dy+1a⁢x+b⁢y+1⁢dz⁢dz
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.
K2≔KillingVectors⁡g2,parameters=a,b
K2:=−z⁢D_x+x⁢D_z,−z⁢D_y+y⁢D_z,D_z,−y⁢D_x+x⁢D_y,D_y,D_x,D_x,D_z,D_y,−ba⁢D_x+D_y+D_z,a=0,b=0,a=0,b=b,a=a,b=0,a=a,b=b
Four cases are found:
Cases≔K2−1
Cases:=a=0,b=0,a=0,b=b,a=a,b=0,a=a,b=b
nops⁡Cases
4
Case 1. a=0,b=0 6 Killing vectors
K21
−z⁢D_x+x⁢D_z,−z⁢D_y+y⁢D_z,D_z,−y⁢D_x+x⁢D_y,D_y,D_x
Case 2. { a=0,b=b} 1 Killing vector
K22
D_x
Case 3. a=a,b=0 2 Killing vectors
K23
D_z,D_y
Case 4. a=a,b=b 1 Killing vector
K24
−ba⁢D_x+D_y+D_z
The case a=0,b=0 defines the flat Euclidean metric. We can exclude this case by using the keyword argument auxiliaryequations.
KillingVectors⁡g2,parameters=a,b,auxiliaryequations=a2+b2≠0
D_x,D_z,D_y,−ba⁢D_x+D_y+D_z,a=0,b=b,a=a,b=0,a=a,b=b
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.
g3≔evalDG⁡dx&tdx+dy&tdy+f⁡x+y2⁢dz&tdz
g3:=dx⁢dx+dy⁢dy+f⁡x+y2⁢dz⁢dz
We exclude the case f(x) = 0.
K≔KillingVectors⁡g3,parameters=f⁡x,auxiliaryequations=f⁡x≠0
K:=D_z,D_x,D_z,D_z,−y⁢z⁢D_x−_C1−x⁢z⁢D_y+arctan⁡y_C1−x⁢D_z,y⁢D_x+_C1−x⁢D_y,D_z,−2⁢y⁢D_x+_C1+2⁢x⁢D_y,f⁡x=_C1,f⁡x=f⁡x,f⁡x=_C12−2⁢_C1⁢x+x2,f⁡x=_C1⁢x+x2+_C2
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.
g3a≔evalDG⁡dx&tdx+dy&tdy+x2+y2⁢dz&tdz
g3a:=dx⁢dx+dy⁢dy+x2+y2⁢dz⁢dz
KillingVectors⁡g3a
y⁢z⁢D_x−z⁢x⁢D_y+arctan⁡yx⁢D_z,D_z,−y⁢D_x+x⁢D_y
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".
DGsetup⁡x,y,z,t,M
Ω≔evalDG⁡dx,dy,1sqrt⁡2⁢exp⁡x⁢dz,dt+exp⁡x⁢dz
Ω:=dx,dy,2⁢ⅇx2⁢dz,ⅇx⁢dz+dt
FD≔FrameData⁡Ω,Godel
FD:=d⁢Θ1=0,d⁢Θ2=0,d⁢Θ3=Θ1⁢⋀⁢Θ3,d⁢Θ4=2⁢Θ1⁢⋀⁢Θ3
DGsetup⁡FD,verbose
The following coordinates have been protected:
x,y,z,t
The following vector fields have been defined and protected:
E1,E2,E3,E4
The following differential 1-forms have been defined and protected:
Θ1,Θ2,Θ3,Θ4
frame name: Godel
Here is the Godel metric, first in the orthonormal frame and then in the coordinate frame (see Exact Solutions, page 178).
g4≔evalDG⁡Θ1&tΘ1+Θ2&tΘ2+Θ3&tΘ3−Θ4&tΘ4
g4:=Θ1⁢Θ1+Θ2⁢Θ2+Θ3⁢Θ3−Θ4⁢Θ4
Φ≔Transformation⁡M,Godel,x=x,y=y,z=z,t=t
Φ:=x=x,y=y,z=z,t=t
PushPullTensor⁡Φ,g4
dx⁢dx+dy⁢dy−ⅇ2⁢x2⁢dz⁢dz−ⅇx⁢dz⁢dt−ⅇx⁢dt⁢dz−dt⁢dt
Here are the 5 Killing vectors for the Godel metric in the adapted frame.
K4≔KillingVectors⁡g4
K4:=z⁢E1−ⅇx⁢z2−2⁢ⅇ−x⁢24⁢E3−ⅇx⁢z22+ⅇ−x⁢E4,E1−ⅇx⁢z⁢22⁢E3−ⅇx⁢z⁢E4,−2⁢ⅇx2⁢E3−ⅇx⁢E4,−E4,E2
Here are the structure equations for the Lie algebra of Killing vectors.
L2≔LieAlgebraData⁡K4,Sym
L2:=e1,e2=e1,e1,e3=e2,e2,e3=e3
DGsetup⁡L2
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.
DA≔Decompose⁡factoralgebras=true
L3≔LieAlgebraData⁡DA2
L3:=e1,e2=e1,e1,e3=e2,e2,e3=e3
DGsetup⁡L3,f,α
Lie algebra: L1
MultiplicationTable⁡LieTable
See Also
DifferentialGeometry
LieAlgebras
Tensor
Decompose
LieAlgebraData
LieDerivative
MultiplicationTable
Query
Download Help Document