CovariantlyConstantTensors - Maple Help

Home : Support : Online Help : Mathematics : DifferentialGeometry : Tensor : CovariantlyConstantTensors

Tensor[CovariantlyConstantTensors] - calculate the covariantly constant tensors with respect to a given metric or connection

Calling Sequences

CovariantlyConstantTensors(g$,$ T, options)

CovariantlyConstantTensors( ${\mathbf{Γ}}$, T, options )

Parameters

g       - a metric tensor on a manifold $M$

$\mathrm{Γ}$       - a connection, either an affine connection on $M$ or a connection on a vector bundle over $M$

T       - a list of vector fields, differential forms or tensors (all of the same type)

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

Description

 • Let $▿$ denote covariant differentiation with respect to the given connection $\mathrm{Γ}$, or with respect to the Christoffel connection defined by the metric $g$. A tensor field is covariantly constant if .
 • Let  be a list of tensor fields, all of the same of the same covariant-contravariant type and let , where the coefficients ${f}_{i}$ are functions on the underlying manifold. The command CovariantlyConstantTensors generates the system of first order PDE in the unknowns ${f}_{i}$ from the tensor equation and uses pdsolve to find the solutions to these PDE.
 • The coefficient functions ${f}_{i}$ are taken to be functions of all the coordinate variables. The keyword argument coefficientvariables  allows the user to specify the coefficient functions ${f}_{i}$ as functions of the variables  .
 • The exact form of the tensor $T$ can be specified with the keyword argument ansatz  . For example, if the coordinates on the underlying manifold are and are given tensor fields, then one may solve for covariantly constant tensor fields 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 where is a list of the auxiliary equations to be added to the equations obtained from .
 • If the metric or connection $\mathrm{Γ}$ depends upon a number of unspecified parameters (either constants or functions), then the keyword argument parameters where 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 covariantly constant tensors changes, are calculated.
 • With keyword argument output = the defining partial differential equations for the covariantly constant tensors are returned. The option output = returns the general solution in terms of a number of arbitrary constants ${\mathrm{_C}}_{1}$, ... while 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 CovariantlyConstantTensors(...) only after executing the commands with(DifferentialGeometry), with(Tensor) in that order. It can always be used in the long form DifferentialGeometry:-Tensor:-CovariantlyConstantTensors.

Examples

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

Example 1.

We find the covariantly constant 2 forms and covariantly constant rank 2 symmetric tensors for a metric $g$, defined on a 3 dimensional manifold.

 > $\mathrm{DGsetup}\left(\left[x,y,z\right],M\right)$
 ${\mathrm{frame name: M}}$ (2.1)
 > $g≔\mathrm{evalDG}\left({z}^{2}\mathrm{dx}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dx}+\mathrm{dy}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dy}+{x}^{4}\mathrm{dz}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dz}\right)$
 ${g}{:=}{{z}}^{{2}}{}{\mathrm{dx}}{}{\mathrm{dx}}{+}{\mathrm{dy}}{}{\mathrm{dy}}{+}{{x}}^{{4}}{}{\mathrm{dz}}{}{\mathrm{dz}}$ (2.2)

We use the command GenerateForms to generate a basis for the space of 2 forms.

 M > $\mathrm{\Omega }≔\mathrm{Tools}:-\mathrm{GenerateForms}\left(\left[\mathrm{dx},\mathrm{dy},\mathrm{dz}\right],2\right)$
 ${\mathrm{Ω}}{:=}\left[{\mathrm{dx}}{}{\bigwedge }{}{\mathrm{dy}}{,}{\mathrm{dx}}{}{\bigwedge }{}{\mathrm{dz}}{,}{\mathrm{dy}}{}{\bigwedge }{}{\mathrm{dz}}\right]$ (2.3)

The space of covariantly constant 2 forms is 1-dimensional.

 M > $\mathrm{CovariantlyConstantTensors}\left(g,\mathrm{\Omega }\right)$
 $\left[{{x}}^{{2}}{}{z}{}{\mathrm{dx}}{}{\bigwedge }{}{\mathrm{dz}}\right]$ (2.4)

We use the command GenerateSymmetricTensors to generate a basis for the space of rank 2 symmetric tensors.

 M > $S≔\mathrm{GenerateSymmetricTensors}\left(\left[\mathrm{dx},\mathrm{dy},\mathrm{dz}\right],2\right)$
 ${S}{:=}\left[{\mathrm{dx}}{}{\mathrm{dx}}{,}\frac{{1}}{{2}}{}{\mathrm{dx}}{}{\mathrm{dy}}{+}\frac{{1}}{{2}}{}{\mathrm{dy}}{}{\mathrm{dx}}{,}\frac{{1}}{{2}}{}{\mathrm{dx}}{}{\mathrm{dz}}{+}\frac{{1}}{{2}}{}{\mathrm{dz}}{}{\mathrm{dx}}{,}{\mathrm{dy}}{}{\mathrm{dy}}{,}\frac{{1}}{{2}}{}{\mathrm{dy}}{}{\mathrm{dz}}{+}\frac{{1}}{{2}}{}{\mathrm{dz}}{}{\mathrm{dy}}{,}{\mathrm{dz}}{}{\mathrm{dz}}\right]$ (2.5)

The space of covariantly constant, rank 2 symmetric tensors is two-dimensional. We obtain the output as a single tensor depending upon two arbitrary constants and ${\mathrm{_C}}_{2}.$

 M > $T≔\mathrm{CovariantlyConstantTensors}\left(g,S,\mathrm{output}="general"\right)$
 ${T}{:=}{\mathrm{_C1}}{}{{z}}^{{2}}{}{\mathrm{dx}}{}{\mathrm{dx}}{+}{\mathrm{_C2}}{}{\mathrm{dy}}{}{\mathrm{dy}}{+}{\mathrm{_C1}}{}{{x}}^{{4}}{}{\mathrm{dz}}{}{\mathrm{dz}}$ (2.6)

We can check this result using the CovariantDerivative command. For this we need the Christoffel connection for the metric.

 M > $C≔\mathrm{Christoffel}\left(g\right)$
 ${C}{:=}\frac{{1}}{{z}}{}{\mathrm{D_x}}{}{\mathrm{dx}}{}{\mathrm{dz}}{+}\frac{{1}}{{z}}{}{\mathrm{D_x}}{}{\mathrm{dz}}{}{\mathrm{dx}}{-}\frac{{2}{}{{x}}^{{3}}}{{{z}}^{{2}}}{}{\mathrm{D_x}}{}{\mathrm{dz}}{}{\mathrm{dz}}{-}\frac{{z}}{{{x}}^{{4}}}{}{\mathrm{D_z}}{}{\mathrm{dx}}{}{\mathrm{dx}}{+}\frac{{2}}{{x}}{}{\mathrm{D_z}}{}{\mathrm{dx}}{}{\mathrm{dz}}{+}\frac{{2}}{{x}}{}{\mathrm{D_z}}{}{\mathrm{dz}}{}{\mathrm{dx}}$ (2.7)
 M > $\mathrm{CovariantDerivative}\left(T,C\right)$
 ${0}{}{\mathrm{dx}}{}{\mathrm{dx}}{}{\mathrm{dx}}$ (2.8)

Example 2.

We find the trace-free, covariantly constant, rank 2 symmetric tensors for the metric $g$ from Example 1. First construct the general rank 2 symmetric tensor.

 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.9)
 M > $T≔\mathrm{DGzip}\left(\mathrm{Vars},S,"plus"\right)$
 ${T}{:=}{\mathrm{a1}}{}\left({x}{,}{y}{,}{z}\right){}{\mathrm{dx}}{}{\mathrm{dx}}{+}\frac{{\mathrm{a2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}{}{\mathrm{dx}}{}{\mathrm{dy}}{+}\frac{{\mathrm{a3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}{}{\mathrm{dx}}{}{\mathrm{dz}}{+}\frac{{\mathrm{a2}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}{}{\mathrm{dy}}{}{\mathrm{dx}}{+}{\mathrm{a4}}{}\left({x}{,}{y}{,}{z}\right){}{\mathrm{dy}}{}{\mathrm{dy}}{+}\frac{{\mathrm{a5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}{}{\mathrm{dy}}{}{\mathrm{dz}}{+}\frac{{\mathrm{a3}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}{}{\mathrm{dz}}{}{\mathrm{dx}}{+}\frac{{\mathrm{a5}}{}\left({x}{,}{y}{,}{z}\right)}{{2}}{}{\mathrm{dz}}{}{\mathrm{dy}}{+}{\mathrm{a6}}{}\left({x}{,}{y}{,}{z}\right){}{\mathrm{dz}}{}{\mathrm{dz}}$ (2.10)

The trace of is given by

 M > $\mathrm{TraceT}≔\mathrm{TensorInnerProduct}\left(g,g,T\right)$
 ${\mathrm{TraceT}}{:=}\frac{{\mathrm{a4}}{}\left({x}{,}{y}{,}{z}\right){}{{z}}^{{2}}{}{{x}}^{{4}}{+}{\mathrm{a1}}{}\left({x}{,}{y}{,}{z}\right){}{{x}}^{{4}}{+}{\mathrm{a6}}{}\left({x}{,}{y}{,}{z}\right){}{{z}}^{{2}}}{{{z}}^{{2}}{}{{x}}^{{4}}}$ (2.11)

We now invoke the keyword arguments ansatz, auxiliaryequations, and unknowns.

 M > $\mathrm{CovariantlyConstantTensors}\left(g,\mathrm{ansatz}=T,\mathrm{auxiliaryequations}=\left[\mathrm{TraceT}=0\right],\mathrm{unknowns}=\mathrm{Vars}\right)$
 $\left[{{z}}^{{2}}{}{\mathrm{dx}}{}{\mathrm{dx}}{-}{2}{}{\mathrm{dy}}{}{\mathrm{dy}}{+}{{x}}^{{4}}{}{\mathrm{dz}}{}{\mathrm{dz}}\right]$ (2.12)

Example 3.

In this example we consider a metric $g$ which depends upon an arbitrary function $f\left(z\right)$. We find that generically there are no covariantly constant vector fields, but when the function is constant there are 2.

 M > $\mathrm{g2}≔\mathrm{evalDG}\left(f\left(z\right)\mathrm{dx}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dx}+\mathrm{dy}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dy}+{y}^{2}\mathrm{dz}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dz}\right)$
 ${\mathrm{g2}}{:=}{f}{}\left({z}\right){}{\mathrm{dx}}{}{\mathrm{dx}}{+}{\mathrm{dy}}{}{\mathrm{dy}}{+}{{y}}^{{2}}{}{\mathrm{dz}}{}{\mathrm{dz}}$ (2.13)
 M > $\mathrm{T2}≔\left[\mathrm{D_x},\mathrm{D_y},\mathrm{D_z}\right]$
 ${\mathrm{T2}}{:=}\left[{\mathrm{D_x}}{,}{\mathrm{D_y}}{,}{\mathrm{D_z}}\right]$ (2.14)

We use the keyword argument parameters to invoke case-splitting with respect to the function $f\left(z\right)$.

 M > $\mathrm{CovariantlyConstantTensors}\left(\mathrm{g2},\mathrm{T2},\mathrm{parameters}=\left[f\left(z\right)\right]\right)$
 $\left[{-}{\mathrm{cos}}{}\left({z}\right){}{\mathrm{D_y}}{+}\frac{{\mathrm{sin}}{}\left({z}\right)}{{y}}{}{\mathrm{D_z}}{,}{\mathrm{sin}}{}\left({z}\right){}{\mathrm{D_y}}{+}\frac{{\mathrm{cos}}{}\left({z}\right)}{{y}}{}{\mathrm{D_z}}{,}{\mathrm{D_x}}\right]{,}\left[{}\right]{,}\left[\left\{{f}{}\left({z}\right){=}{\mathrm{_C1}}\right\}{,}\left\{{f}{}\left({z}\right){=}{f}{}\left({z}\right)\right\}\right]$ (2.15)

Example 4.

We define a connection on a rank 2 vector bundle over a 3-dimensional base manifold.

 M > $\mathrm{DGsetup}\left(\left[x,y,z\right],\left[u,v\right],E\right)$
 ${\mathrm{frame name: E}}$ (2.16)
 E > $C≔\mathrm{Connection}\left(\left(\mathrm{D_v}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{du}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dx}+y\left(\mathrm{D_v}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dv}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}&t\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\mathrm{dz}\right)$
 ${C}{:=}{\mathrm{D_v}}{}{\mathrm{du}}{}{\mathrm{dx}}{+}{y}{}{\mathrm{D_v}}{}{\mathrm{dv}}{}{\mathrm{dz}}$ (2.17)

We calculate the covariantly constant type $\left(1,1\right)$ tensors on $E$. The command GenerateTensors is used to generate a basis for the tensors.

 E > $T≔\mathrm{GenerateTensors}\left(\left[\left[\mathrm{du},\mathrm{dv}\right],\left[\mathrm{D_u},\mathrm{D_v}\right]\right]\right)$
 ${T}{:=}\left[{\mathrm{du}}{}{\mathrm{D_u}}{,}{\mathrm{du}}{}{\mathrm{D_v}}{,}{\mathrm{dv}}{}{\mathrm{D_u}}{,}{\mathrm{dv}}{}{\mathrm{D_v}}\right]$ (2.18)

The most general $\left(1,1\right)$ tensor on $E$ is given by a linear combination of the elements of the list $T$, using coefficients which are functions of the base variables  alone. We specify this dependency with the keyword argument coefficientvariables .

 E > $\mathrm{CovariantlyConstantTensors}\left(C,T,\mathrm{coefficientvariables}=\left[x,y,z\right]\right)$
 $\left[{\mathrm{du}}{}{\mathrm{D_u}}{+}{\mathrm{dv}}{}{\mathrm{D_v}}\right]$ (2.19)