KillingVectors - 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 : KillingVectors

Physics[KillingVectors] - compute and solve the Killing equations

Calling Sequence

KillingVectors(V, options = ...)




a name to be used for the vector field (rank 1 spacetime tensor) representing the Killing vector

integrabilityconditions = ...


optional - can be true (default) or false, to reduce or not the determining PDE output system taking into account its integrability conditions

output = ...


optional - the right-hand-side can be equations, solutions (synonym: componentsolutions) or vectorsolutions (default), to return the Killing equations or attempt returning their solutions for each of the Killing vector components, or a vector solution with the Killing vector on the left-hand side and a list with its components on the right-hand side

parameters = ...


optional - the right-hand-side can be a set or a list of names or functions, that parameterize the Killing vectors; the system of equations or solutions will be split according to the different cases of these parameters

specializeconstants = ...


optional - can be true (default) or false, to specialize or not the integration constants _Cn that appear when solving the Killing differential equations



KillingVectors computes and attempts to solve the Killing equations, that is, the PDE system



where  is the covariant derivative operator D_, and V entering Vα is the name representing the Killing vectors, provided, with or without a spacetime index, and Vgα,ν is the LieDerivative of the spacetime metric with respect to Vμ. In a spacetime of dimension n there are at most 12nn+1 independent Killing vectors, where the maximum happens for a Minkowski spacetime. As it is the case of the other commands in Physics, KillingVectors operates in tensorial notation. To perform the same operation using differential forms notation see DifferentialGeometry[Tensor][KillingVectors].


When the name V is provided without an index, the equations computed are satisfied by the contravariant components Vα. To request the equations or solutions for the covariant components V__alpha, pass it with a covariant index, say as in V[alpha]. Note that when the spacetime is non-galilean, while the system may succeed in computing solutions for the covariant components, depending on the metric g_ it may fail in computing solutions for the contravariant ones, or vice-versa.


By default, KillingVectors automatically computes the equations and attempts solving them in one step. When successful, KillingVectors returns a list of Killing vectors, obtained after specializing the integration constants that appear when solving the system of differential equations (that you can see using the option output = equations). When no solution is found, KillingVectors returns NULL, the same way the PDE solver pdsolve does.


A more compact solution can be obtained by passing the optional argument specializeconstants = false, in which case KillingVectors returns an equation with the Killing vector on the left-hand side and a list with its components, depending on integration constants, on the right-hand side.


When passing the optional argument output = solutions, instead of returning a vector equation, the output is a set of solution equations, with each Killing vector component on the left-hand side and the corresponding solution on the right-hand side. This is useful, for instance, for verification purposes: you can test the solutions computed against the output of KillingVectors using the option output = equations by using the pdetest command. -When passing the optional argument output = equations, the Killing equations themselves are returned without attempting solving them. This is useful when KillingVectors fails in finding a solution, or when particular solutions of different forms may be of interest; these solutions can frequently be computed using the symmetry commands of PDEtools like FunctionFieldSolutions and PolynomialSolutions, or mainly InvariantSolutions used together with its various options for particularizing solutions.


The PDE system returned by KillingVectors with the option output = equations is by default returned as a list of equations and automatically reduced taking into account its integrability conditions. The order of the equations in the list corresponds to a total degree, obtained with an orderly ranking (see details in casesplit). Simplifying the PDE system taking into account integrability conditions is a frequently desired but in some cases expensive mathematical computation. To avoid it, pass the optional argument integrabilityconditions = false, in which case KillingVectors will return faster, a set of equations, not a list, and with no differential elimination simplifications.


When the metric g_ depends on parameters, either symbols or functions of spacetime variables, the Killing vectors computed using KillingVectors are expected to be valid for arbitrary values of these parameters. It is sometimes of interest, however, to investigate the different kinds of solutions that may exist for different particular values of these parameters. To perform such an investigation, use the optional argument parameters = ... where the right-hand-side is a set or a list with the parameters, and the system of equations will be split into cases with respect to these parameters using differential algebra techniques, and the Killing vectors will be expressed as a piecewise function according to the different cases for these parameters. As frequently happens when splitting into cases, the resulting lists of equations may involve inequations as well. Note: passing parameters automatically forces reducing the PDE system using integrability conditions, regardless of the value of the keyword integrabilityconditions.



Setup(mathematicalnotation = true);



Set a system of Coordinates

Setup(coordinates = X);

Systems of spacetime coordinates are:X=x1,x2,x3,x4




Define a tensor with one index to represent the Killing vector


Defined objects with tensor properties



The contravariant components  Vμ




The same result but directly for the covariant components and without specializing the integration constants,

KillingVectors(V[mu], specialize = false);

* Partial match of 'specialize' against keyword 'specializeconstants'



Note that there are 10 integration constants, according to the fact that the dimension of spacetime is n=4 and there are at most 12nn+1 independent Killing vectors, as it is the case of a Minkowski spacetime. To understand this result, recall that the Killing vectors generate transformations that leave the metric g_ invariant in form; these are isometries. In this case, the spacetime loaded with Physics by default is galilean




The result (4) generates translations along the four axis and rotations that leave invariant the distance between two points and thus invariant in form the metric.

Consider now a non-galilean spacetime, for instance set the Schwarzschild metric as the current metric (see g_):



Systems of spacetime coordinates are:X=r,θ,φ,t

Default differentiation variables for d_, D_ and dAlembertian are:X=r,θ,φ,t

Setting lowercaselatin_is letters to represent space indices

The Schwarzschild metric in coordinates r,θ,φ,t

Parameters: m

Signature: - - - +




Compute the Killing vectors again. For illustration purposes, compute the covariant components and compute first only the equations, with and without simplifying using integrability conditions, then compute everything automatically. First using integrability conditions. To avoid displaying VX repeatedly use the compact notation available of the PDEtools package


Vr,θ,φ,twill now be displayed asV


KillingVectors(V[alpha], output = equations);



where derivatives are displayed indexed due to the use of declare. Compare with

KillingVectors(V[alpha], output = equations, integrabilityconditions = false);


The contravariant components of the Killing vectors all in one step




The same solution but with the constants not specialized

KillingVectors(V, specializeconstants = false);



Taking m as parameter, there is another solution (from the point of view of differential algebra this other solution is a singular solution). These solutions can also be expressed as solution equations with the vector components on the left-hand sides by using the optional argument output = solutions:

KillingVectors(V, parameters = {m});



When parameters are indicated together with the specializeconstants option, the result is a sequence of piecewise functions, with each conditional on the parameters expressed as a branch of the piecewise solution

KillingVectors(V, parameters = {m}, specializeconstants);



See Also

casesplit, Coordinates, D_, declare, Define, DifferentialAlgebra, DifferentialGeometry[Tensor]KillingVectors], FunctionFieldSolutions, g_, InvariantSolutions, Library, LieBracket, LieDerivative, pdsolve, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, PolynomialSolutions, Riemann, Setup



Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.


Weinberg, S. Gravitation and Cosmology: Principles and Applications of The General Theory of Relativity, John Wiley & Sons, Inc, 1972.