KillingTensors - Maple Help

Tensor[KillingTensors] - calculate the Killing tensors of a specified rank for a given metric or connection

Calling Sequences

KillingTensors(g, p options)

KillingTensors(C, p options)

Parameters

g         - a covariant metric tensor on a manifold $M$

p         - a positive integer

C         - an affine connection on a manifold $M$

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

Description

 • Let $▿$denote covariant differentiation with respect to the given metricor connection $C.$A covariant symmetric tensor field of rank is called a Killing tensor if
 • The program KillingTensors generates the defining 1st order partial differential equations for a Killing tensor of rank p and uses pdsolve to find the solution to these equations. An empty list is returned if there are no Killing tensors. If pdsolve is unable to solve these equations, NULL is returned.
 • The keyword argument coefficientvariables  allows the user to specify the coefficient functions in the Killing tensor $T$ as functions of the variables  .
 • The exact form of the Killing tensor $T$can be specified with the keyword argument ansatz . For example, if the coordinates on the underlying manifold are and are defined symmetric tensors, then one may solve for Killing tensors 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 tensor equations.
 • If the metric or connection C 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 tensors changes, are calculated.
 • With keyword argument output = $"pde",$the defining partial differential equations for the Killing tensors are returned. The option output = returns the general Killing tensor in terms of a number of arbitrary constants ${\mathrm{_C}}_{1}$, ... . The option output = returns a list of tensors 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 KillingTensors(...) only after executing the commands with(DifferentialGeometry), with(Tensor) in that order. It can always be used in the long form DifferentialGeometry:-Tensor:-KillingTensors(...).

Examples

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

Example 1.

Find the Killing tensors of the metric g to order 3. This metric appears in Darboux, Theorie Generale des Surfaces III, page 81.

 > $\mathrm{DGsetup}\left(\left[x,y\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.1)
 M > $\mathrm{g1}≔\mathrm{evalDG}\left(\frac{1\mathrm{dx}&t\mathrm{dx}}{y}+\frac{1\mathrm{dy}&t\mathrm{dy}}{x}\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]{,}\frac{{1}}{{y}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{x}}\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]{,}\frac{{1}}{{y}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{x}}\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]{,}\frac{{1}}{{y}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{x}}\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]{,}\frac{{1}}{{y}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{x}}\right]\right]\right]\right)$ (2.2)
 M > $\mathrm{K1}≔\mathrm{KillingTensors}\left(\mathrm{g1},1\right)$
 $\left[{}\right]$ (2.3)
 M > $\mathrm{K2}≔\mathrm{KillingTensors}\left(\mathrm{g1},2\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}\frac{{1}}{{y}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{x}}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}\frac{{1}}{{y}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{x}}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}\frac{{1}}{{y}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{x}}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}\frac{{1}}{{y}}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{x}}\right]\right]\right]\right)\right]$ (2.4)
 M > $\mathrm{K3}≔\mathrm{KillingTensors}\left(\mathrm{g1},3\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}{,}{1}\right]{,}{-}\frac{{1}}{{{y}}^{{3}}}\right]{,}\left[\left[{2}{,}{2}{,}{2}\right]{,}\frac{{1}}{{{x}}^{{3}}}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}{,}{1}\right]{,}{-}\frac{{1}}{{{y}}^{{3}}}\right]{,}\left[\left[{2}{,}{2}{,}{2}\right]{,}\frac{{1}}{{{x}}^{{3}}}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}{,}{1}\right]{,}{-}\frac{{1}}{{{y}}^{{3}}}\right]{,}\left[\left[{2}{,}{2}{,}{2}\right]{,}\frac{{1}}{{{x}}^{{3}}}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}{,}{1}\right]{,}{-}\frac{{1}}{{{y}}^{{3}}}\right]{,}\left[\left[{2}{,}{2}{,}{2}\right]{,}\frac{{1}}{{{x}}^{{3}}}\right]\right]\right]\right)\right]$ (2.5)

Example 2.

We use the keyword argument coefficientvariables to find the rank 3 Killing tensors for the metric g2 which are functions of $y$ alone.

 M > $\mathrm{DGsetup}\left(\left[x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.6)
 M > $\mathrm{g2}≔\mathrm{evalDG}\left(\mathrm{dx}&t\mathrm{dx}+\mathrm{dy}&t\mathrm{dy}+x\mathrm{dz}&t\mathrm{dz}\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}\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}\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}\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}\right]\right]\right]\right)$ (2.7)
 M > $\mathrm{KillingTensors}\left(\mathrm{g2},3,\mathrm{coefficientvariables}=\left[y\right]\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{2}{,}{2}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{2}{,}{2}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{2}{,}{2}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{2}{,}{2}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.8)

Example 3.

We use the keyword arguments ansatz and unknowns to find the rank 2 Killing tensors for the metric g3 which are independent of .

 M > $\mathrm{DGsetup}\left(\left[x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.9)
 M > $\mathrm{g3}≔\mathrm{evalDG}\left(\mathrm{dx}&t\mathrm{dx}+\mathrm{dy}&t\mathrm{dy}+x\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]{,}{x}\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}\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}\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}\right]\right]\right]\right)$ (2.10)
 M > $T≔\mathrm{evalDG}\left(A\left(x,y,z\right)\mathrm{dx}&t\mathrm{dx}+B\left(x,y,z\right)\mathrm{dx}&s\mathrm{dz}+C\left(x,y,z\right)\mathrm{dz}&t\mathrm{dz}\right)$
 ${T}{:=}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{A}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{1}{,}{3}\right]{,}\frac{{B}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{B}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{C}{}\left({x}{,}{y}{,}{z}\right)\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]{,}{A}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{1}{,}{3}\right]{,}\frac{{B}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{B}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{C}{}\left({x}{,}{y}{,}{z}\right)\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]{,}{A}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{1}{,}{3}\right]{,}\frac{{B}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{B}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{C}{}\left({x}{,}{y}{,}{z}\right)\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]{,}{A}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{1}{,}{3}\right]{,}\frac{{B}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{B}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{C}{}\left({x}{,}{y}{,}{z}\right)\right]\right]\right]\right)$ (2.11)
 M > $\mathrm{KillingTensors}\left(\mathrm{g3},2,\mathrm{ansatz}=T,\mathrm{unknowns}=\left[A\left(x,y,z\right),B\left(x,y,z\right),C\left(x,y,z\right)\right]\right)$
 $\left[{\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[{3}{,}{3}\right]{,}{x}\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[{3}{,}{3}\right]{,}{x}\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[{3}{,}{3}\right]{,}{x}\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[{3}{,}{3}\right]{,}{x}\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[{3}{,}{3}\right]{,}{{x}}^{{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[{3}{,}{3}\right]{,}{{x}}^{{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[{3}{,}{3}\right]{,}{{x}}^{{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[{3}{,}{3}\right]{,}{{x}}^{{2}}\right]\right]\right]\right)\right]$ (2.12)

Example 4.

We use the keyword arguments ansatz, unknowns and auxiliaryequations find the rank 2 Killing tensors for the metric g4 which are invariant under rotations in the plane.

 M > $\mathrm{DGsetup}\left(\left[x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.13)
 M > $\mathrm{g4}≔\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{g4}}{:=}{\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.14)

We use the commands GenerateSymmmetricTensors and DGzip to construct the general rank 2 symmetric tensor on $M.$

 M > $\mathrm{T0}≔\mathrm{GenerateSymmetricTensors}\left(\left[\mathrm{dx},\mathrm{dy},\mathrm{dz}\right],2\right)$
 ${\mathrm{T0}}{:=}\left[{\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]\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]\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]\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]\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}{,}{2}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{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}{,}{2}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{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}{,}{2}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{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}{,}{2}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{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}{,}{3}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{1}}{{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}{,}{3}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{1}}{{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}{,}{3}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{1}}{{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}{,}{3}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{1}}{{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[{2}{,}{2}\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[{2}{,}{2}\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[{2}{,}{2}\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[{2}{,}{2}\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[{2}{,}{3}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{1}}{{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[{2}{,}{3}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{1}}{{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[{2}{,}{3}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{1}}{{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[{2}{,}{3}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{1}}{{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[{3}{,}{3}\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[{3}{,}{3}\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[{3}{,}{3}\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[{3}{,}{3}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.15)
 M > $\mathrm{vars}≔\left[\mathrm{A1},\mathrm{A2},\mathrm{A3},\mathrm{A4},\mathrm{A5},\mathrm{A6}\right]\left(x,y,z\right)$
 ${\mathrm{vars}}{:=}\left[{\mathrm{A1}}{}\left({x}{,}{y}{,}{z}\right){,}{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right){,}{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right){,}{\mathrm{A4}}{}\left({x}{,}{y}{,}{z}\right){,}{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right){,}{\mathrm{A6}}{}\left({x}{,}{y}{,}{z}\right)\right]$ (2.16)
 M > $T≔\mathrm{DGzip}\left(\mathrm{vars},\mathrm{T0},"plus"\right)$
 ${T}{:=}{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{\mathrm{A1}}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{1}{,}{2}\right]{,}\frac{{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{1}{,}{3}\right]{,}\frac{{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{\mathrm{A4}}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{2}{,}{3}\right]{,}\frac{{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{\mathrm{A6}}{}\left({x}{,}{y}{,}{z}\right)\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]{,}{\mathrm{A1}}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{1}{,}{2}\right]{,}\frac{{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{1}{,}{3}\right]{,}\frac{{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{\mathrm{A4}}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{2}{,}{3}\right]{,}\frac{{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{\mathrm{A6}}{}\left({x}{,}{y}{,}{z}\right)\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]{,}{\mathrm{A1}}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{1}{,}{2}\right]{,}\frac{{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{1}{,}{3}\right]{,}\frac{{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{\mathrm{A4}}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{2}{,}{3}\right]{,}\frac{{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{\mathrm{A6}}{}\left({x}{,}{y}{,}{z}\right)\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]{,}{\mathrm{A1}}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{1}{,}{2}\right]{,}\frac{{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{1}{,}{3}\right]{,}\frac{{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{\mathrm{A4}}{}\left({x}{,}{y}{,}{z}\right)\right]{,}\left[\left[{2}{,}{3}\right]{,}\frac{{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}\frac{{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{\mathrm{A6}}{}\left({x}{,}{y}{,}{z}\right)\right]\right]\right]\right)$ (2.17)

The vector field is the infinitesimal generator for rotations in the plane.

 M > $X≔\mathrm{evalDG}\left(y\mathrm{D_x}-x\mathrm{D_y}\right)$
 ${X}{:=}{\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)$ (2.18)

We use the commands LieDerivative and DGinfo to find the conditions under which $T$ is rotationally invariant.

 M > $\mathrm{LD}≔\mathrm{LieDerivative}\left(X,T\right):$
 M > $\mathrm{SymmetryEq}≔\mathrm{Tools}:-\mathrm{DGinfo}\left(\mathrm{LD},"CoefficientSet"\right)$
 ${\mathrm{SymmetryEq}}{:=}\left\{{y}{}\left(\frac{{\partial }}{{\partial }{x}}{}{\mathrm{A6}}{}\left({x}{,}{y}{,}{z}\right)\right){-}{x}{}\left(\frac{{\partial }}{{\partial }{y}}{}{\mathrm{A6}}{}\left({x}{,}{y}{,}{z}\right)\right){,}{-}{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right){+}{y}{}\left(\frac{{\partial }}{{\partial }{x}}{}{\mathrm{A1}}{}\left({x}{,}{y}{,}{z}\right)\right){-}{x}{}\left(\frac{{\partial }}{{\partial }{y}}{}{\mathrm{A1}}{}\left({x}{,}{y}{,}{z}\right)\right){,}{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right){+}{y}{}\left(\frac{{\partial }}{{\partial }{x}}{}{\mathrm{A4}}{}\left({x}{,}{y}{,}{z}\right)\right){-}{x}{}\left(\frac{{\partial }}{{\partial }{y}}{}{\mathrm{A4}}{}\left({x}{,}{y}{,}{z}\right)\right){,}\frac{{1}}{{2}}{}{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right){+}\frac{{1}}{{2}}{}{y}{}\left(\frac{{\partial }}{{\partial }{x}}{}{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)\right){-}\frac{{1}}{{2}}{}{x}{}\left(\frac{{\partial }}{{\partial }{y}}{}{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right)\right){,}{-}\frac{{1}}{{2}}{}{\mathrm{A5}}{}\left({x}{,}{y}{,}{z}\right){+}\frac{{1}}{{2}}{}{y}{}\left(\frac{{\partial }}{{\partial }{x}}{}{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)\right){-}\frac{{1}}{{2}}{}{x}{}\left(\frac{{\partial }}{{\partial }{y}}{}{\mathrm{A3}}{}\left({x}{,}{y}{,}{z}\right)\right){,}{-}{\mathrm{A4}}{}\left({x}{,}{y}{,}{z}\right){+}{\mathrm{A1}}{}\left({x}{,}{y}{,}{z}\right){+}\frac{{1}}{{2}}{}{y}{}\left(\frac{{\partial }}{{\partial }{x}}{}{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)\right){-}\frac{{1}}{{2}}{}{x}{}\left(\frac{{\partial }}{{\partial }{y}}{}{\mathrm{A2}}{}\left({x}{,}{y}{,}{z}\right)\right)\right\}$ (2.19)

We find that that there are 4 rotationally invariant, rank 2 Killing tensors for the metric $\mathrm{g4}$.

 M > $\mathrm{InvKT}≔\mathrm{KillingTensors}\left(\mathrm{g4},\mathrm{ansatz}=T,\mathrm{unknowns}=\mathrm{vars},\mathrm{auxiliaryequations}=\mathrm{SymmetryEq}\right)$
 ${\mathrm{InvKT}}{:=}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{-}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{-}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{-}\frac{{{x}}^{{2}}}{{2}}{-}\frac{{{y}}^{{2}}}{{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]{,}{-}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{-}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{-}\frac{{{x}}^{{2}}}{{2}}{-}\frac{{{y}}^{{2}}}{{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]{,}{-}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{-}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{-}\frac{{{x}}^{{2}}}{{2}}{-}\frac{{{y}}^{{2}}}{{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]{,}{-}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{-}\frac{{1}}{{2}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{-}\frac{{{x}}^{{2}}}{{2}}{-}\frac{{{y}}^{{2}}}{{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[{3}{,}{3}\right]{,}{\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}^{{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[{3}{,}{3}\right]{,}{\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}^{{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[{3}{,}{3}\right]{,}{\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}^{{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[{3}{,}{3}\right]{,}{\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}^{{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}{,}{3}\right]{,}{-}\frac{{y}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{2}{,}{3}\right]{,}\frac{{x}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}{-}\frac{{y}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{x}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{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}{,}{3}\right]{,}{-}\frac{{y}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{2}{,}{3}\right]{,}\frac{{x}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}{-}\frac{{y}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{x}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{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}{,}{3}\right]{,}{-}\frac{{y}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{2}{,}{3}\right]{,}\frac{{x}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}{-}\frac{{y}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{x}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{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}{,}{3}\right]{,}{-}\frac{{y}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{2}{,}{3}\right]{,}\frac{{x}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{3}{,}{1}\right]{,}{-}\frac{{y}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{2}}\right]{,}\left[\left[{3}{,}{2}\right]{,}\frac{{x}{}\left({{x}}^{{2}}{+}{{y}}^{{2}}\right)}{{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]{,}{{y}}^{{2}}\right]{,}\left[\left[{1}{,}{2}\right]{,}{-}{y}{}{x}\right]{,}\left[\left[{2}{,}{1}\right]{,}{-}{y}{}{x}\right]{,}\left[\left[{2}{,}{2}\right]{,}{{x}}^{{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]{,}{{y}}^{{2}}\right]{,}\left[\left[{1}{,}{2}\right]{,}{-}{y}{}{x}\right]{,}\left[\left[{2}{,}{1}\right]{,}{-}{y}{}{x}\right]{,}\left[\left[{2}{,}{2}\right]{,}{{x}}^{{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]{,}{{y}}^{{2}}\right]{,}\left[\left[{1}{,}{2}\right]{,}{-}{y}{}{x}\right]{,}\left[\left[{2}{,}{1}\right]{,}{-}{y}{}{x}\right]{,}\left[\left[{2}{,}{2}\right]{,}{{x}}^{{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]{,}{{y}}^{{2}}\right]{,}\left[\left[{1}{,}{2}\right]{,}{-}{y}{}{x}\right]{,}\left[\left[{2}{,}{1}\right]{,}{-}{y}{}{x}\right]{,}\left[\left[{2}{,}{2}\right]{,}{{x}}^{{2}}\right]\right]\right]\right)\right]$ (2.20)
 M > $\mathrm{nops}\left(\mathrm{InvKT}\right)$
 ${4}$ (2.21)

Example 5.

We wish to determine the rank 2 Killing tensors for the metric for varying values of $m,$excluding the case Because the parameter does not appear as a rational function in it is helpful to re-write the metric as , where $a\left(z\right)$satisfies the differential equation

 M > $\mathrm{DGsetup}\left(\left[x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.22)
 M > $\mathrm{g5}≔\mathrm{evalDG}\left(\left(a\left(z\right)+1\right)\mathrm{dx}&t\mathrm{dx}+\frac{1\mathrm{dy}&t\mathrm{dy}}{a\left(z\right)+1}+\mathrm{dz}&t\mathrm{dz}\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]{,}{a}{}\left({z}\right){+}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{a}{}\left({z}\right){+}{1}}\right]{,}\left[\left[{3}{,}{3}\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]{,}{a}{}\left({z}\right){+}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{a}{}\left({z}\right){+}{1}}\right]{,}\left[\left[{3}{,}{3}\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]{,}{a}{}\left({z}\right){+}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{a}{}\left({z}\right){+}{1}}\right]{,}\left[\left[{3}{,}{3}\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]{,}{a}{}\left({z}\right){+}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{1}}{{a}{}\left({z}\right){+}{1}}\right]{,}\left[\left[{3}{,}{3}\right]{,}{1}\right]\right]\right]\right)$ (2.23)
 M > $\mathrm{KT}≔\mathrm{KillingTensors}\left(\mathrm{g5},2,\mathrm{parameters}=\left\{a\left(z\right),m\right\},\mathrm{auxiliaryequations}=\left\{z\left(\frac{ⅆ}{ⅆz}a\left(z\right)\right)=ma\left(z\right),m\ne 0,a\left(z\right)\ne 0\right\}\right):$

With the keyword argument parameters, the command KillingTensors returns a sequence of lists of Killing tensors and, as the last element of the sequence, the possible exceptional parameter values. For this example, the exceptional values of are:

 M > $\mathrm{Cases}≔{\mathrm{KT}}_{-1}$
 $\left[\left\{{m}{=}{1}{,}{a}{}\left({z}\right){=}{\mathrm{_C1}}{}{z}\right\}{,}\left\{{m}{=}{\mathrm{_C1}}{,}{a}{}\left({z}\right){=}{{z}}^{{\mathrm{_C1}}}{}{\mathrm{_C2}}\right\}\right]{,}\left[\left\{{m}{=}{1}{,}{a}{}\left({z}\right){=}{\mathrm{_C1}}{}{z}\right\}{,}\left\{{m}{=}{\mathrm{_C1}}{,}{a}{}\left({z}\right){=}{{z}}^{{\mathrm{_C1}}}{}{\mathrm{_C2}}\right\}\right]{,}\left[\left\{{m}{=}{1}{,}{a}{}\left({z}\right){=}{\mathrm{_C1}}{}{z}\right\}{,}\left\{{m}{=}{\mathrm{_C1}}{,}{a}{}\left({z}\right){=}{{z}}^{{\mathrm{_C1}}}{}{\mathrm{_C2}}\right\}\right]{,}\left[\left\{{m}{=}{1}{,}{a}{}\left({z}\right){=}{\mathrm{_C1}}{}{z}\right\}{,}\left\{{m}{=}{\mathrm{_C1}}{,}{a}{}\left({z}\right){=}{{z}}^{{\mathrm{_C1}}}{}{\mathrm{_C2}}\right\}\right]$ (2.24)

We see there are 2 cases.

Case 1.

 M > ${\mathrm{KT}}_{1}$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{\mathrm{_C1}}{}{z}{+}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{\mathrm{_C1}}{}{z}}{{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{2}}}\right]{,}\left[\left[{3}{,}{3}\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[{2}{,}{2}\right]{,}\frac{{1}}{{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{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}{,}{2}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{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]{,}{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{2}}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{\mathrm{_C1}}{}{z}{+}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{\mathrm{_C1}}{}{z}}{{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{2}}}\right]{,}\left[\left[{3}{,}{3}\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[{2}{,}{2}\right]{,}\frac{{1}}{{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{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}{,}{2}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{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]{,}{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{2}}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{\mathrm{_C1}}{}{z}{+}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{\mathrm{_C1}}{}{z}}{{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{2}}}\right]{,}\left[\left[{3}{,}{3}\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[{2}{,}{2}\right]{,}\frac{{1}}{{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{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}{,}{2}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{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]{,}{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{2}}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{1}\right]{,}{\mathrm{_C1}}{}{z}{+}{1}\right]{,}\left[\left[{2}{,}{2}\right]{,}\frac{{\mathrm{_C1}}{}{z}}{{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{2}}}\right]{,}\left[\left[{3}{,}{3}\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[{2}{,}{2}\right]{,}\frac{{1}}{{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{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}{,}{2}\right]{,}\frac{{1}}{{2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{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]{,}{\left({\mathrm{_C1}}{}{z}{+}{1}\right)}^{{2}}\right]\right]\right]\right)\right]$ (2.25)

Case 2.   (the generic case)

 M > ${\mathrm{KT}}_{3}$
 $\left[\left\{{m}{=}{1}{,}{a}{}\left({z}\right){=}{\mathrm{_C1}}{}{z}\right\}{,}\left\{{m}{=}{\mathrm{_C1}}{,}{a}{}\left({z}\right){=}{{z}}^{{\mathrm{_C1}}}{}{\mathrm{_C2}}\right\}\right]$ (2.26)

Example 6.

With the keyword argument output = "pde", the defining partial differential equations for the Killing tensor are returned.

 M > $\mathrm{DGsetup}\left(\left[x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.27)
 M > $\mathrm{g6}≔\mathrm{evalDG}\left(\mathrm{dx}&t\mathrm{dx}+\mathrm{dy}&t\mathrm{dy}+x\mathrm{dz}&t\mathrm{dz}\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}\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}\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}\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}\right]\right]\right]\right)$ (2.28)
 M > $T≔\mathrm{evalDG}\left(A\left(x,y\right)\mathrm{dx}&t\mathrm{dx}+B\left(x,y\right)\mathrm{dy}&t\mathrm{dy}\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]{,}{A}{}\left({x}{,}{y}\right)\right]{,}\left[\left[{2}{,}{2}\right]{,}{B}{}\left({x}{,}{y}\right)\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]{,}{A}{}\left({x}{,}{y}\right)\right]{,}\left[\left[{2}{,}{2}\right]{,}{B}{}\left({x}{,}{y}\right)\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]{,}{A}{}\left({x}{,}{y}\right)\right]{,}\left[\left[{2}{,}{2}\right]{,}{B}{}\left({x}{,}{y}\right)\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]{,}{A}{}\left({x}{,}{y}\right)\right]{,}\left[\left[{2}{,}{2}\right]{,}{B}{}\left({x}{,}{y}\right)\right]\right]\right]\right)$ (2.29)
 M > $\mathrm{KillingTensors}\left(\mathrm{g6},\mathrm{ansatz}=T,\mathrm{unknowns}=\left[A\left(x,y\right),B\left(x,y\right)\right]\right)$
 $\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{2}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{2}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{2}\right]{,}{1}\right]\right]\right]\right)\right]{,}\left[{\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{2}\right]{,}{1}\right]\right]\right]\right)\right]$ (2.30)
 M > $\mathrm{KillingTensors}\left(\mathrm{g6},\mathrm{ansatz}=T,\mathrm{unknowns}=\left[A\left(x,y\right),B\left(x,y\right)\right],\mathrm{output}="pde"\right)$
 $\left\{{0}{,}\frac{{1}}{{3}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{1}}{{3}}{}\frac{{\partial }}{{\partial }{y}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{1}}{{3}}{}\frac{{\partial }}{{\partial }{x}}{}{B}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{x}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}{}{B}{}\left({x}{,}{y}\right)\right\}{,}\left\{{0}{,}\frac{{1}}{{3}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{1}}{{3}}{}\frac{{\partial }}{{\partial }{y}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{1}}{{3}}{}\frac{{\partial }}{{\partial }{x}}{}{B}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{x}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}{}{B}{}\left({x}{,}{y}\right)\right\}{,}\left\{{0}{,}\frac{{1}}{{3}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{1}}{{3}}{}\frac{{\partial }}{{\partial }{y}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{1}}{{3}}{}\frac{{\partial }}{{\partial }{x}}{}{B}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{x}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}{}{B}{}\left({x}{,}{y}\right)\right\}{,}\left\{{0}{,}\frac{{1}}{{3}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{1}}{{3}}{}\frac{{\partial }}{{\partial }{y}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{1}}{{3}}{}\frac{{\partial }}{{\partial }{x}}{}{B}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{x}}{}{A}{}\left({x}{,}{y}\right){,}\frac{{\partial }}{{\partial }{y}}{}{B}{}\left({x}{,}{y}\right)\right\}$ (2.31)

Example 7.

We compute the Killing tensors for a connection. We use the keyword argument output = "general" to obtain the result as a single tensor depending on constants __  .

 M > $\mathrm{DGsetup}\left(\left[x,y\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.32)
 M > $C≔\mathrm{Connection}\left(y\left(\left(\mathrm{D_y}&t\mathrm{dx}\right)&t\mathrm{dy}+\left(\mathrm{D_y}&t\mathrm{dy}\right)&t\mathrm{dx}\right)\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"connection"}{,}{M}{,}\left[\left[{"con_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{1}{,}{2}\right]{,}{y}\right]{,}\left[\left[{2}{,}{2}{,}{1}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"connection"}{,}{M}{,}\left[\left[{"con_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{1}{,}{2}\right]{,}{y}\right]{,}\left[\left[{2}{,}{2}{,}{1}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"connection"}{,}{M}{,}\left[\left[{"con_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{1}{,}{2}\right]{,}{y}\right]{,}\left[\left[{2}{,}{2}{,}{1}\right]{,}{y}\right]\right]\right]\right){,}{\mathrm{_DG}}{}\left(\left[\left[{"connection"}{,}{M}{,}\left[\left[{"con_bas"}{,}{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{2}{,}{1}{,}{2}\right]{,}{y}\right]{,}\left[\left[{2}{,}{2}{,}{1}\right]{,}{y}\right]\right]\right]\right)$ (2.33)
 M > $\mathrm{KillingTensors}\left(C,2,\mathrm{output}="general"\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]{,}{\mathrm{_C1}}{}{{y}}^{{4}}{+}{\mathrm{_C2}}{}{{y}}^{{2}}{+}{\mathrm{_C3}}\right]{,}\left[\left[{1}{,}{2}\right]{,}{\mathrm{_C1}}{}{{y}}^{{2}}{+}\frac{{1}}{{2}}{}{\mathrm{_C2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}{\mathrm{_C1}}{}{{y}}^{{2}}{+}\frac{{1}}{{2}}{}{\mathrm{_C2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{\mathrm{_C1}}\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]{,}{\mathrm{_C1}}{}{{y}}^{{4}}{+}{\mathrm{_C2}}{}{{y}}^{{2}}{+}{\mathrm{_C3}}\right]{,}\left[\left[{1}{,}{2}\right]{,}{\mathrm{_C1}}{}{{y}}^{{2}}{+}\frac{{1}}{{2}}{}{\mathrm{_C2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}{\mathrm{_C1}}{}{{y}}^{{2}}{+}\frac{{1}}{{2}}{}{\mathrm{_C2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{\mathrm{_C1}}\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]{,}{\mathrm{_C1}}{}{{y}}^{{4}}{+}{\mathrm{_C2}}{}{{y}}^{{2}}{+}{\mathrm{_C3}}\right]{,}\left[\left[{1}{,}{2}\right]{,}{\mathrm{_C1}}{}{{y}}^{{2}}{+}\frac{{1}}{{2}}{}{\mathrm{_C2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}{\mathrm{_C1}}{}{{y}}^{{2}}{+}\frac{{1}}{{2}}{}{\mathrm{_C2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{\mathrm{_C1}}\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]{,}{\mathrm{_C1}}{}{{y}}^{{4}}{+}{\mathrm{_C2}}{}{{y}}^{{2}}{+}{\mathrm{_C3}}\right]{,}\left[\left[{1}{,}{2}\right]{,}{\mathrm{_C1}}{}{{y}}^{{2}}{+}\frac{{1}}{{2}}{}{\mathrm{_C2}}\right]{,}\left[\left[{2}{,}{1}\right]{,}{\mathrm{_C1}}{}{{y}}^{{2}}{+}\frac{{1}}{{2}}{}{\mathrm{_C2}}\right]{,}\left[\left[{2}{,}{2}\right]{,}{\mathrm{_C1}}\right]\right]\right]\right)$ (2.34)

Example 8.

The following metric g8 appears in the PhD thesis of R. P. Delong. We are able to explicitly compute all Killing tensors to order 4. The explicit lists are very long and so we simply display the number of Killing tensors at each order.

 M > $\mathrm{DGsetup}\left(\left[x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.35)
 M > $\mathrm{g8}≔\mathrm{evalDG}\left(x\mathrm{dx}&s\mathrm{dy}+x\mathrm{dz}&t\mathrm{dz}\right)$
 ${\mathrm{_DG}}{}\left(\left[\left[{"tensor"}{,}{M}{,}\left[\left[{"cov_bas"}{,}{"cov_bas"}\right]{,}\left[{}\right]\right]\right]{,}\left[\left[\left[{1}{,}{2}\right]{,}\frac{{1}}{{2}}{}{x}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{2}}{}{x}\right]{,}\left[\left[{3}{,}{3}\right]{,}{x}\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}{,}{2}\right]{,}\frac{{1}}{{2}}{}{x}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{2}}{}{x}\right]{,}\left[\left[{3}{,}{3}\right]{,}{x}\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}{,}{2}\right]{,}\frac{{1}}{{2}}{}{x}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{2}}{}{x}\right]{,}\left[\left[{3}{,}{3}\right]{,}{x}\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}{,}{2}\right]{,}\frac{{1}}{{2}}{}{x}\right]{,}\left[\left[{2}{,}{1}\right]{,}\frac{{1}}{{2}}{}{x}\right]{,}\left[\left[{3}{,}{3}\right]{,}{x}\right]\right]\right]\right)$ (2.36)
 M > $\mathrm{K1}≔\mathrm{KillingTensors}\left(\mathrm{g8},1\right):$
 M > $\mathrm{K2}≔\mathrm{KillingTensors}\left(\mathrm{g8},2\right):$
 M > $\mathrm{K3}≔\mathrm{KillingTensors}\left(\mathrm{g8},3\right):$
 M > $\mathrm{K4}≔\mathrm{KillingTensors}\left(\mathrm{g8},4\right):$
 M > $\mathrm{nops}\left(\mathrm{K1}\right),\mathrm{nops}\left(\mathrm{K2}\right),\mathrm{nops}\left(\mathrm{K3}\right),\mathrm{nops}\left(\mathrm{K4}\right)$
 ${4}{,}{14}{,}{32}{,}{69}$ (2.37)