KillingVectors - Maple Help

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

 • A vector field is called a Killing vector for the metric $g$ if, where denotes Lie differentiation with respect to $X.$ If  and $▿$denotes covariant differentiation with respect to the given metric, then this equation can be written asThe 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  allows the user to specify the coefficient functions in the Killing vector $X$as functions of the variables .
 • The exact form of the Killing vector $X$can be specified with the keyword argument ansatz  . For example, if the coordinates on the underlying manifold are and are defined vectors, then one may solve for Killing vectors of the form . In this situation the unknown functions must be explicitly specified with the keyword argument unknowns, for example, unknowns
 • When using the keyword argument ansatz, additional algebraic or differential conditions may be imposed upon the unknowns using the keyword argument auxiliaryequations Here is a list of the auxiliary equations to be added to the Killing equations.
 • If the metric depends upon a number of unspecified parameters (either constants or functions), then the keyword argument parameterswhere 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 = the defining partial differential equations for the Killing vectors are returned. The option output = returns the general Killing vector in terms of a number of arbitrary constants ${\mathrm{_C}}_{1}$, ... . The option output = 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

 > $\mathrm{with}\left(\mathrm{DifferentialGeometry}\right):$$\mathrm{with}\left(\mathrm{Tensor}\right):$$\mathrm{with}\left(\mathrm{LieAlgebras}\right):$

Example 1.

We find the Killing vectors for the metric ${g}_{1}$ for the Poincare half-plane.

 > $\mathrm{DGsetup}\left(\left[x,y\right],P\right):$
 P > $\mathrm{g1}≔\mathrm{evalDG}\left(\frac{1\left(\mathrm{dx}&t\mathrm{dx}+\mathrm{dy}&t\mathrm{dy}\right)}{{y}^{2}}\right)$
 ${\mathrm{g1}}{:=}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}\frac{{1}}{{{y}}^{{2}}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{{y}}^{{2}}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}\frac{{1}}{{{y}}^{{2}}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{{y}}^{{2}}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}\frac{{1}}{{{y}}^{{2}}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{{y}}^{{2}}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}\frac{{1}}{{{y}}^{{2}}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{{y}}^{{2}}}\right]\right]\right]\right)$ (2.1)
 P > $\mathrm{K1}≔\mathrm{KillingVectors}\left(\mathrm{g1}\right)$
 ${\mathrm{K1}}{:=}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}\frac{{{x}}^{{2}}}{{2}}{-}\frac{{{y}}^{{2}}}{{2}}\right]{,}\left[\left[{2}\right]{,}{y}{}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}\frac{{{x}}^{{2}}}{{2}}{-}\frac{{{y}}^{{2}}}{{2}}\right]{,}\left[\left[{2}\right]{,}{y}{}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}\frac{{{x}}^{{2}}}{{2}}{-}\frac{{{y}}^{{2}}}{{2}}\right]{,}\left[\left[{2}\right]{,}{y}{}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}\frac{{{x}}^{{2}}}{{2}}{-}\frac{{{y}}^{{2}}}{{2}}\right]{,}\left[\left[{2}\right]{,}{y}{}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{x}\right]{,}\left[\left[{2}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{x}\right]{,}\left[\left[{2}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{x}\right]{,}\left[\left[{2}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{x}\right]{,}\left[\left[{2}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.2)

We check the result using the LieDerivative command.

 P > $\mathrm{map}\left(\mathrm{LieDerivative},\mathrm{K1},\mathrm{g1}\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{P}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{0}\right]\right]\right]\right)\right]$ (2.3)

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

 P > $\mathrm{KillingVectors}\left(\mathrm{g1},\mathrm{output}="general"\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}\frac{{1}}{{2}}{}{{x}}^{{2}}{}{\mathrm{_C1}}{+}{\mathrm{_C2}}{}{x}{-}\frac{{1}}{{2}}{}{\mathrm{_C1}}{}{{y}}^{{2}}{+}{\mathrm{_C3}}\right]{,}\left[\left[{2}\right]{,}{y}{}\left({\mathrm{_C1}}{}{x}{+}{\mathrm{_C2}}\right)\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}\frac{{1}}{{2}}{}{{x}}^{{2}}{}{\mathrm{_C1}}{+}{\mathrm{_C2}}{}{x}{-}\frac{{1}}{{2}}{}{\mathrm{_C1}}{}{{y}}^{{2}}{+}{\mathrm{_C3}}\right]{,}\left[\left[{2}\right]{,}{y}{}\left({\mathrm{_C1}}{}{x}{+}{\mathrm{_C2}}\right)\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}\frac{{1}}{{2}}{}{{x}}^{{2}}{}{\mathrm{_C1}}{+}{\mathrm{_C2}}{}{x}{-}\frac{{1}}{{2}}{}{\mathrm{_C1}}{}{{y}}^{{2}}{+}{\mathrm{_C3}}\right]{,}\left[\left[{2}\right]{,}{y}{}\left({\mathrm{_C1}}{}{x}{+}{\mathrm{_C2}}\right)\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{P}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}\frac{{1}}{{2}}{}{{x}}^{{2}}{}{\mathrm{_C1}}{+}{\mathrm{_C2}}{}{x}{-}\frac{{1}}{{2}}{}{\mathrm{_C1}}{}{{y}}^{{2}}{+}{\mathrm{_C3}}\right]{,}\left[\left[{2}\right]{,}{y}{}\left({\mathrm{_C1}}{}{x}{+}{\mathrm{_C2}}\right)\right]\right]\right]\right)$ (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 > $L≔\mathrm{LieAlgebraData}\left(\mathrm{K1},\mathrm{Sym}\right)$
 ${L}{:=}\left[\left[{\mathrm{e1}}{,}{\mathrm{e2}}\right]{=}{-}{\mathrm{e1}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e3}}\right]{=}{-}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e3}}\right]{=}{-}{\mathrm{e3}}\right]$ (2.5)
 P > $\mathrm{DGsetup}\left(L\right)$
 ${\mathrm{Lie algebra: Sym}}$ (2.6)
 Sym > $\mathrm{Query}\left("Semisimple"\right)$
 ${\mathrm{true}}$ (2.7)

Example 2.

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

 P > $\mathrm{DGsetup}\left(\left[x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.8)
 M > $\mathrm{g2}≔\mathrm{evalDG}\left(\mathrm{dx}&t\mathrm{dx}+\left(ax+bz+1\right)\mathrm{dy}&t\mathrm{dy}+\frac{1\mathrm{dz}&t\mathrm{dz}}{ax+by+1}\right)$
 ${\mathrm{g2}}{:=}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{a}{}{x}{+}{b}{}{z}{+}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}\frac{{1}}{{a}{}{x}{+}{b}{}{y}{+}{1}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{a}{}{x}{+}{b}{}{z}{+}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}\frac{{1}}{{a}{}{x}{+}{b}{}{y}{+}{1}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{a}{}{x}{+}{b}{}{z}{+}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}\frac{{1}}{{a}{}{x}{+}{b}{}{y}{+}{1}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{a}{}{x}{+}{b}{}{z}{+}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}\frac{{1}}{{a}{}{x}{+}{b}{}{y}{+}{1}}\right]\right]\right]\right)$ (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 > $\mathrm{K2}≔\mathrm{KillingVectors}\left(\mathrm{g2},\mathrm{parameters}=\left[a,b\right]\right)$
 ${\mathrm{K2}}{:=}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}\right]{,}\left[\left[{2}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}\right]{,}\left[\left[{2}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}\right]{,}\left[\left[{2}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}\right]{,}\left[\left[{2}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[\left\{{a}{=}{0}{,}{b}{=}{0}\right\}{,}\left\{{a}{=}{0}{,}{b}{=}{b}\right\}{,}\left\{{a}{=}{a}{,}{b}{=}{0}\right\}{,}\left\{{a}{=}{a}{,}{b}{=}{b}\right\}\right]$ (2.10)

Four cases are found:

 M > $\mathrm{Cases}≔{\mathrm{K2}}_{-1}$
 ${\mathrm{Cases}}{:=}\left[\left\{{a}{=}{0}{,}{b}{=}{0}\right\}{,}\left\{{a}{=}{0}{,}{b}{=}{b}\right\}{,}\left\{{a}{=}{a}{,}{b}{=}{0}\right\}{,}\left\{{a}{=}{a}{,}{b}{=}{b}\right\}\right]$ (2.11)
 M > $\mathrm{nops}\left(\mathrm{Cases}\right)$
 ${4}$ (2.12)

Case 1. 6 Killing vectors

 M > ${\mathrm{K2}}_{1}$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{-}{z}\right]{,}\left[\left[{3}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}\right]{,}\left[\left[{2}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}\right]{,}\left[\left[{2}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}\right]{,}\left[\left[{2}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}\right]{,}\left[\left[{2}\right]{,}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.13)

Case 2. { 1 Killing vector

 M > ${\mathrm{K2}}_{2}$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.14)

Case 3. 2 Killing vectors

 M > ${\mathrm{K2}}_{3}$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.15)

Case 4. $\left\{a=a,b=b\right\}$ 1 Killing vector

 M > ${\mathrm{K2}}_{4}$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.16)

The case $\left\{a=0,b=0\right\}$ defines the flat Euclidean metric. We can exclude this case by using the keyword argument auxiliaryequations.

 M > $\mathrm{KillingVectors}\left(\mathrm{g2},\mathrm{parameters}=\left[a,b\right],\mathrm{auxiliaryequations}=\left[{a}^{2}+{b}^{2}\ne 0\right]\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}\frac{{b}}{{a}}\right]{,}\left[\left[{2}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[\left\{{a}{=}{0}{,}{b}{=}{b}\right\}{,}\left\{{a}{=}{a}{,}{b}{=}{0}\right\}{,}\left\{{a}{=}{a}{,}{b}{=}{b}\right\}\right]$ (2.17)

Example 3.

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

 P > $\mathrm{DGsetup}\left(\left[x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.18)
 M > $\mathrm{g3}≔\mathrm{evalDG}\left(\mathrm{dx}&t\mathrm{dx}+\mathrm{dy}&t\mathrm{dy}+\left(f\left(x\right)+{y}^{2}\right)\mathrm{dz}&t\mathrm{dz}\right)$
 ${\mathrm{g3}}{:=}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{f}{}\left({x}\right){+}{{y}}^{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{f}{}\left({x}\right){+}{{y}}^{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{f}{}\left({x}\right){+}{{y}}^{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{f}{}\left({x}\right){+}{{y}}^{{2}}\right]\right]\right]\right)$ (2.19)

We exclude the case f(x) = 0.

 M > $K≔\mathrm{KillingVectors}\left(\mathrm{g3},\mathrm{parameters}=\left\{f\left(x\right)\right\},\mathrm{auxiliaryequations}=\left\{f\left(x\right)\ne 0\right\}\right)$
 ${K}{:=}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}{}{z}\right]{,}\left[\left[{2}\right]{,}{-}\left({\mathrm{_C1}}{-}{x}\right){}{z}\right]{,}\left[\left[{3}\right]{,}{\mathrm{arctan}}{}\left(\frac{{y}}{{\mathrm{_C1}}{-}{x}}\right)\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}{}{z}\right]{,}\left[\left[{2}\right]{,}{-}\left({\mathrm{_C1}}{-}{x}\right){}{z}\right]{,}\left[\left[{3}\right]{,}{\mathrm{arctan}}{}\left(\frac{{y}}{{\mathrm{_C1}}{-}{x}}\right)\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}{}{z}\right]{,}\left[\left[{2}\right]{,}{-}\left({\mathrm{_C1}}{-}{x}\right){}{z}\right]{,}\left[\left[{3}\right]{,}{\mathrm{arctan}}{}\left(\frac{{y}}{{\mathrm{_C1}}{-}{x}}\right)\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{y}{}{z}\right]{,}\left[\left[{2}\right]{,}{-}\left({\mathrm{_C1}}{-}{x}\right){}{z}\right]{,}\left[\left[{3}\right]{,}{\mathrm{arctan}}{}\left(\frac{{y}}{{\mathrm{_C1}}{-}{x}}\right)\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{y}\right]{,}\left[\left[{2}\right]{,}{\mathrm{_C1}}{-}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{y}\right]{,}\left[\left[{2}\right]{,}{\mathrm{_C1}}{-}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{y}\right]{,}\left[\left[{2}\right]{,}{\mathrm{_C1}}{-}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{y}\right]{,}\left[\left[{2}\right]{,}{\mathrm{_C1}}{-}{x}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{2}{}{y}\right]{,}\left[\left[{2}\right]{,}{\mathrm{_C1}}{+}{2}{}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{2}{}{y}\right]{,}\left[\left[{2}\right]{,}{\mathrm{_C1}}{+}{2}{}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{2}{}{y}\right]{,}\left[\left[{2}\right]{,}{\mathrm{_C1}}{+}{2}{}{x}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{M}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{-}{2}{}{y}\right]{,}\left[\left[{2}\right]{,}{\mathrm{_C1}}{+}{2}{}{x}\right]\right]\right]\right)\right]{,}\left[\left\{{f}{}\left({x}\right){=}{\mathrm{_C1}}\right\}{,}\left\{{f}{}\left({x}\right){=}{f}{}\left({x}\right)\right\}{,}\left\{{f}{}\left({x}\right){=}{{\mathrm{_C1}}}^{{2}}{-}{2}{}{\mathrm{_C1}}{}{x}{+}{{x}}^{{2}}\right\}{,}\left\{{f}{}\left({x}\right){=}{\mathrm{_C1}}{}{x}{+}{{x}}^{{2}}{+}{\mathrm{_C2}}\right\}\right]$ (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 > $\mathrm{g3a}≔\mathrm{evalDG}\left(\mathrm{dx}&t\mathrm{dx}+\mathrm{dy}&t\mathrm{dy}+\left({x}^{2}+{y}^{2}\right)\mathrm{dz}&t\mathrm{dz}\right)$
 ${\mathrm{g3a}}{:=}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{{x}}^{{2}}{+}{{y}}^{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{{x}}^{{2}}{+}{{y}}^{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{{x}}^{{2}}{+}{{y}}^{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{{x}}^{{2}}{+}{{y}}^{{2}}\right]\right]\right]\right)$ (2.21)
 M > $\mathrm{KillingVectors}\left(\mathrm{g3a}\right)$
 $\left[{y}{}{z}{}{\mathrm{D_x}}{-}{z}{}{x}{}{\mathrm{D_y}}{+}{\mathrm{arctan}}{}\left(\frac{{y}}{{x}}\right){}{\mathrm{D_z}}{,}{\mathrm{D_z}}{,}{-}{y}{}{\mathrm{D_x}}{+}{x}{}{\mathrm{D_y}}\right]$ (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 . Then we define a coframe, calculate the structure equations for this coframe, and initialize the result as a frame called "Godel".

 Sym > $\mathrm{DGsetup}\left(\left[x,y,z,t\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.23)
 M > $\mathrm{Ω}≔\mathrm{evalDG}\left(\left[\mathrm{dx},\mathrm{dy},\frac{1{ⅇ}^{x}\mathrm{dz}}{\sqrt{2}},\mathrm{dt}+{ⅇ}^{x}\mathrm{dz}\right]\right)$
 ${\mathrm{Ω}}{:=}\left[{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}\frac{\sqrt{{2}}{}{{ⅇ}}^{{x}}}{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}\frac{\sqrt{{2}}{}{{ⅇ}}^{{x}}}{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}\frac{\sqrt{{2}}{}{{ⅇ}}^{{x}}}{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}\frac{\sqrt{{2}}{}{{ⅇ}}^{{x}}}{{2}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{M}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.24)
 M > $\mathrm{FD}≔\mathrm{FrameData}\left(\mathrm{Ω},"Godel"\right)$
 ${\mathrm{FD}}{:=}\left[{d}{}{\mathrm{Θ1}}{=}{0}{,}{d}{}{\mathrm{Θ2}}{=}{0}{,}{d}{}{\mathrm{Θ3}}{=}{\mathrm{Θ1}}{}{\bigwedge }{}{\mathrm{Θ3}}{,}{d}{}{\mathrm{Θ4}}{=}\sqrt{{2}}{}{\mathrm{Θ1}}{}{\bigwedge }{}{\mathrm{Θ3}}\right]$ (2.25)
 M > $\mathrm{DGsetup}\left(\mathrm{FD},\mathrm{verbose}\right)$
 ${\mathrm{The following coordinates have been protected:}}$
 $\left[{x}{,}{y}{,}{z}{,}{t}\right]$
 ${\mathrm{The following vector fields have been defined and protected:}}$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right)\right]$
 ${\mathrm{The following differential 1-forms have been defined and protected:}}$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{3}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"form"}{,}{"Godel"}{,}{1}\right]{,}\left[\left[\left[{4}\right]{,}{1}\right]\right]\right]\right)\right]$
 ${\mathrm{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 > $\mathrm{g4}≔\mathrm{evalDG}\left(\mathrm{Θ1}&t\mathrm{Θ1}+\mathrm{Θ2}&t\mathrm{Θ2}+\mathrm{Θ3}&t\mathrm{Θ3}-\mathrm{Θ4}&t\mathrm{Θ4}\right)$
 ${\mathrm{g4}}{:=}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{"Godel"}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{1}\right]{,}\left[\left[{4}{,}{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{"Godel"}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{1}\right]{,}\left[\left[{4}{,}{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{"Godel"}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{1}\right]{,}\left[\left[{4}{,}{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{"Godel"}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{1}\right]{,}\left[\left[{4}{,}{4}\right]{,}{-1}\right]\right]\right]\right)$ (2.27)
 Godel > $\mathrm{Φ}≔\mathrm{Transformation}\left(M,"Godel",\left[x=x,y=y,z=z,t=t\right]\right)$
 ${\mathrm{Φ}}{:=}{\mathrm{_DG}}{}\left(\left[\left[{"transformation"}{,}\left[\left[{M}{,}{0}\right]{,}\left[{"Godel"}{,}{0}\right]\right]{,}\left[\right]{,}\left[\left[\begin{array}{cccc}{1}& {0}& {0}& {0}\\ {0}& {1}& {0}& {0}\\ {0}& {0}& \frac{\sqrt{{2}}}{{2}{}{{ⅇ}}^{{-}{x}}}& {0}\\ {0}& {0}& \frac{{1}}{{{ⅇ}}^{{-}{x}}}& {1}\end{array}\right]\right]\right]{,}\left[\left[{x}{,}{x}\right]{,}\left[{y}{,}{y}\right]{,}\left[{z}{,}{z}\right]{,}\left[{t}{,}{t}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"transformation"}{,}\left[\left[{M}{,}{0}\right]{,}\left[{"Godel"}{,}{0}\right]\right]{,}\left[\right]{,}\left[\left[\begin{array}{cccc}{1}& {0}& {0}& {0}\\ {0}& {1}& {0}& {0}\\ {0}& {0}& \frac{\sqrt{{2}}}{{2}{}{{ⅇ}}^{{-}{x}}}& {0}\\ {0}& {0}& \frac{{1}}{{{ⅇ}}^{{-}{x}}}& {1}\end{array}\right]\right]\right]{,}\left[\left[{x}{,}{x}\right]{,}\left[{y}{,}{y}\right]{,}\left[{z}{,}{z}\right]{,}\left[{t}{,}{t}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"transformation"}{,}\left[\left[{M}{,}{0}\right]{,}\left[{"Godel"}{,}{0}\right]\right]{,}\left[\right]{,}\left[\left[\begin{array}{cccc}{1}& {0}& {0}& {0}\\ {0}& {1}& {0}& {0}\\ {0}& {0}& \frac{\sqrt{{2}}}{{2}{}{{ⅇ}}^{{-}{x}}}& {0}\\ {0}& {0}& \frac{{1}}{{{ⅇ}}^{{-}{x}}}& {1}\end{array}\right]\right]\right]{,}\left[\left[{x}{,}{x}\right]{,}\left[{y}{,}{y}\right]{,}\left[{z}{,}{z}\right]{,}\left[{t}{,}{t}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"transformation"}{,}\left[\left[{M}{,}{0}\right]{,}\left[{"Godel"}{,}{0}\right]\right]{,}\left[\right]{,}\left[\left[\begin{array}{cccc}{1}& {0}& {0}& {0}\\ {0}& {1}& {0}& {0}\\ {0}& {0}& \frac{\sqrt{{2}}}{{2}{}{{ⅇ}}^{{-}{x}}}& {0}\\ {0}& {0}& \frac{{1}}{{{ⅇ}}^{{-}{x}}}& {1}\end{array}\right]\right]\right]{,}\left[\left[{x}{,}{x}\right]{,}\left[{y}{,}{y}\right]{,}\left[{z}{,}{z}\right]{,}\left[{t}{,}{t}\right]\right]\right]\right)$ (2.28)
 M > $\mathrm{PushPullTensor}\left(\mathrm{Φ},\mathrm{g4}\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{-}\frac{{{ⅇ}}^{{2}{}{x}}}{{2}}\right]{,}\left[\left[{3}{,}{4}\right]{,}{-}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}{,}{3}\right]{,}{-}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}{,}{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{-}\frac{{{ⅇ}}^{{2}{}{x}}}{{2}}\right]{,}\left[\left[{3}{,}{4}\right]{,}{-}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}{,}{3}\right]{,}{-}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}{,}{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{-}\frac{{{ⅇ}}^{{2}{}{x}}}{{2}}\right]{,}\left[\left[{3}{,}{4}\right]{,}{-}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}{,}{3}\right]{,}{-}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}{,}{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}{1}\right]{,}\left[\left[{3}{,}{3}\right]{,}{-}\frac{{{ⅇ}}^{{2}{}{x}}}{{2}}\right]{,}\left[\left[{3}{,}{4}\right]{,}{-}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}{,}{3}\right]{,}{-}{{ⅇ}}^{{x}}\right]{,}\left[\left[{4}{,}{4}\right]{,}{-1}\right]\right]\right]\right)$ (2.29)

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

 M > $\mathrm{K4}≔\mathrm{KillingVectors}\left(\mathrm{g4}\right)$
 ${\mathrm{K4}}{:=}\left[{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{z}\right]{,}\left[\left[{3}\right]{,}{-}\frac{\left({{ⅇ}}^{{x}}{}{{z}}^{{2}}{-}{2}{}{{ⅇ}}^{{-}{x}}\right){}\sqrt{{2}}}{{4}}\right]{,}\left[\left[{4}\right]{,}{-}\frac{{{ⅇ}}^{{x}}{}{{z}}^{{2}}}{{2}}{-}{{ⅇ}}^{{-}{x}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{z}\right]{,}\left[\left[{3}\right]{,}{-}\frac{\left({{ⅇ}}^{{x}}{}{{z}}^{{2}}{-}{2}{}{{ⅇ}}^{{-}{x}}\right){}\sqrt{{2}}}{{4}}\right]{,}\left[\left[{4}\right]{,}{-}\frac{{{ⅇ}}^{{x}}{}{{z}}^{{2}}}{{2}}{-}{{ⅇ}}^{{-}{x}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{z}\right]{,}\left[\left[{3}\right]{,}{-}\frac{\left({{ⅇ}}^{{x}}{}{{z}}^{{2}}{-}{2}{}{{ⅇ}}^{{-}{x}}\right){}\sqrt{{2}}}{{4}}\right]{,}\left[\left[{4}\right]{,}{-}\frac{{{ⅇ}}^{{x}}{}{{z}}^{{2}}}{{2}}{-}{{ⅇ}}^{{-}{x}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{z}\right]{,}\left[\left[{3}\right]{,}{-}\frac{\left({{ⅇ}}^{{x}}{}{{z}}^{{2}}{-}{2}{}{{ⅇ}}^{{-}{x}}\right){}\sqrt{{2}}}{{4}}\right]{,}\left[\left[{4}\right]{,}{-}\frac{{{ⅇ}}^{{x}}{}{{z}}^{{2}}}{{2}}{-}{{ⅇ}}^{{-}{x}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{-}\frac{{{ⅇ}}^{{x}}{}{z}{}\sqrt{{2}}}{{2}}\right]{,}\left[\left[{4}\right]{,}{-}{{ⅇ}}^{{x}}{}{z}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{-}\frac{{{ⅇ}}^{{x}}{}{z}{}\sqrt{{2}}}{{2}}\right]{,}\left[\left[{4}\right]{,}{-}{{ⅇ}}^{{x}}{}{z}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{-}\frac{{{ⅇ}}^{{x}}{}{z}{}\sqrt{{2}}}{{2}}\right]{,}\left[\left[{4}\right]{,}{-}{{ⅇ}}^{{x}}{}{z}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{1}\right]{,}{1}\right]{,}\left[\left[{3}\right]{,}{-}\frac{{{ⅇ}}^{{x}}{}{z}{}\sqrt{{2}}}{{2}}\right]{,}\left[\left[{4}\right]{,}{-}{{ⅇ}}^{{x}}{}{z}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{-}\frac{\sqrt{{2}}{}{{ⅇ}}^{{x}}}{{2}}\right]{,}\left[\left[{4}\right]{,}{-}{{ⅇ}}^{{x}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{-}\frac{\sqrt{{2}}{}{{ⅇ}}^{{x}}}{{2}}\right]{,}\left[\left[{4}\right]{,}{-}{{ⅇ}}^{{x}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{-}\frac{\sqrt{{2}}{}{{ⅇ}}^{{x}}}{{2}}\right]{,}\left[\left[{4}\right]{,}{-}{{ⅇ}}^{{x}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{3}\right]{,}{-}\frac{\sqrt{{2}}{}{{ⅇ}}^{{x}}}{{2}}\right]{,}\left[\left[{4}\right]{,}{-}{{ⅇ}}^{{x}}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{4}\right]{,}{-1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"vector"}{,}{"Godel"}{,}\left[\right]\right]{,}\left[\left[\left[{2}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.30)

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

 Godel > $\mathrm{L2}≔\mathrm{LieAlgebraData}\left(\mathrm{K4},\mathrm{Sym}\right)$
 ${\mathrm{L2}}{:=}\left[\left[{\mathrm{e1}}{,}{\mathrm{e2}}\right]{=}{\mathrm{e1}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e3}}\right]$ (2.31)
 Godel > $\mathrm{DGsetup}\left(\mathrm{L2}\right)$
 ${\mathrm{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 > $\mathrm{DA}≔\mathrm{Decompose}\left(\mathrm{factoralgebras}=\mathrm{true}\right)$
 Sym > $\mathrm{L3}≔\mathrm{LieAlgebraData}\left({\mathrm{DA}}_{2}\right)$
 ${\mathrm{L3}}{:=}\left[\left[{\mathrm{e1}}{,}{\mathrm{e2}}\right]{=}{\mathrm{e1}}{,}\left[{\mathrm{e1}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e2}}{,}\left[{\mathrm{e2}}{,}{\mathrm{e3}}\right]{=}{\mathrm{e3}}\right]$ (2.33)
 Sym > $\mathrm{DGsetup}\left(\mathrm{L3},\left[f\right],\left[\mathrm{α}\right]\right)$
 ${\mathrm{Lie algebra: L1}}$ (2.34)
 L1 > $\mathrm{MultiplicationTable}\left("LieTable"\right)$