Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News AboutSign UpSign In
sagemanifolds
GitHub Repository: sagemanifolds/IntroToManifolds
Path: blob/main/19Manifold_Lie_Derivative.ipynb
Views: 83
Kernel: SageMath 9.6

19. Lie derivative

This notebook is part of the Introduction to manifolds in SageMath by Andrzej Chrzeszczyk (Jan Kochanowski University of Kielce, Poland).

version()
'SageMath version 9.6, Release Date: 2022-05-15'

Lie derivative of functions


If ϕϕ is a one-parameter group of transformations on MM (notebook 17), then the map ϕt:MMϕ_t : M → M, defined by ϕt(x)=ϕ(x,t)ϕ_t (x) = ϕ(x, t), is smooth and therefore for fC(M),  f ∈ C^∞ (M),\ \ ϕtf=fϕt ϕ_t^*f = f\circ \phi_t\ also belongs to C(M)C^∞ (M).

If XX is the infinitesimal generator of ϕϕ (notebook 17), then the Lie derivative of ff with respect to XX is defined by

LXf=limt0ϕtfft=ddt(ϕtf)t=0.\begin{equation} \mathcal{L}_Xf=\lim_{t\to 0}\frac{\phi_t^*f-f}{t} =\frac{d}{dt}(\phi_t^*f)\Big|_{t=0}. \tag{19.1} \end{equation}

Example 19.1

Compute   LXf  \ \ \mathcal{L}_Xf\ \ for f(x)=x2cosy   f(x)=x^2\cos y \ \ and   X=yx+xy,\ \ X=-y\frac{\partial}{\partial x}+x\frac{\partial}{\partial y}, using SageMath Manifolds.

%display latex M = Manifold(2, 'M') # manifold M c_xy.<x,y> = M.chart() # chart on M f = M.scalar_field(x^2*cos(y)) # scalar function f on M X = M.vector_field(name='X') # vector field X on M X[:] = (-y, x) # components of X f.lie_derivative(X).expr() # Lie derivative L_X(f)

x3sin(y)2xycos(y)\displaystyle -x^{3} \sin\left(y\right) - 2 \, x y \cos\left(y\right)


Lie derivative of ff with respect to XX is the value of  Xf\ Xf


Since the curve ϕxϕ_x given by ϕx(t)=ϕ(x,t)ϕ_x (t) = ϕ(x, t) is the integral curve of XX that starts at xx we have

limt0ϕtfft(x)=limt0f(ϕt(x))f(x)t=limt0f(ϕ(x,t))f(x)t\lim_{t\to 0}\frac{\phi_t^*f-f}{t}(x)= \lim_{t\to 0}\frac{f(\phi_t(x))-f(x)}{t} =\lim_{t\to 0}\frac{f(\phi(x,t))-f(x)}{t}=limt0f(ϕx(t))f(ϕx(0))t=(ϕx)0(f)=Xx(f)=(Xf)(x).=\lim_{t\to 0}\frac{f(\phi_x(t))-f(\phi_x(0))}{t}\\ =(ϕ_x)'_0 ( f ) = X_x ( f )=(Xf)(x).

We have checked that LXf=Xf.\begin{equation} \mathcal{L}_Xf=Xf. \tag{19.2} \end{equation}

Thus we can compute   LXf  \ \ \mathcal{L}_Xf\ \ without any knowledge on the integral curves of XX.


Example 19.2

Check the result of the previous example using (19.2).


We have

  X(f)=(yx+xy)(x2cosy)  =y(2x)cosy+x(x2)(siny)=x3siny2xycosy.\ \ X(f)=(-y\frac{\partial}{\partial x}+x\frac{\partial}{\partial y})(x^2\cos y )\ \ =-y(2x)\cos y +x(x^2)(-\sin y)\\=-x^3\sin y-2xy\cos y.
# continuation X(f).expr() # value of the vector field X on f

x3sin(y)2xycos(y)\displaystyle -x^{3} \sin\left(y\right) - 2 \, x y \cos\left(y\right)


Example 19.3

Check that SageMath lie_derivative method applied to functions coincides with application of (19.2).

%display latex N = 2 # dimension of manifold M M = Manifold(N, 'M') # manifold M c_x = M.chart(' '.join(['x'+str(i)+':x^{'+str(i)+'}' for i in range(N)])) # chart on M x0, x1 = c_x[:] # coordinates x^0, x^1 of chart c_x as the Python variables x0, x1 X = M.vector_field(name='X') # vector field X Xf=[M.scalar_field(function('X'+str(i), # list of components latex_name='X'+'^'+str(i))(x0, x1)) for i in range(N)] X[:] = Xf # define all components of X X.disp()

X=X0(x0,x1)x0+X1(x0,x1)x1\displaystyle X = X^0\left({x^{0}}, {x^{1}}\right) \frac{\partial}{\partial {x^{0}} } + X^1\left({x^{0}}, {x^{1}}\right) \frac{\partial}{\partial {x^{1}} }

f = M.scalar_field(function('f')(x0, x1)) # scalar function on M f.disp()

MR(x0,x1)f(x0,x1)\displaystyle \begin{array}{llcl} & M & \longrightarrow & \mathbb{R} \\ & \left({x^{0}}, {x^{1}}\right) & \longmapsto & f\left({x^{0}}, {x^{1}}\right) \end{array}

f.lie_derivative(X).expr() # Lie derivative of f w.r.t. X

X0(x0,x1)x0f(x0,x1)+X1(x0,x1)x1f(x0,x1)\displaystyle X^0\left({x^{0}}, {x^{1}}\right) \frac{\partial}{\partial {x^{0}}}f\left({x^{0}}, {x^{1}}\right) + X^1\left({x^{0}}, {x^{1}}\right) \frac{\partial}{\partial {x^{1}}}f\left({x^{0}}, {x^{1}}\right)


Commutator of Lie derivatives of functions


From (19.2) it follows LX(LYf)LY(LXf)=XYfYXf=[X,Y]f=L[X,Y]f,\mathcal{L}_X (\mathcal{L}_Y f ) − \mathcal{L}_Y (\mathcal{L}_X f ) = XY f − YX f = [X, Y] f = \mathcal{L}_{[X,Y]} f, i.e. LX(LYf)LY(LXf)=L[X,Y]f.\begin{equation} \mathcal{L}_X (\mathcal{L}_Y f ) − \mathcal{L}_Y (\mathcal{L}_X f )= \mathcal{L}_{[X,Y]} f. \tag{19.3} \end{equation}


Example 19.4

Check in SageMath Manifolds that (19.3) holds for 2-dimensional manifolds.

# continuation Y = M.vector_field(name='Y') # vector field Y Yf = [M.scalar_field(function('Y'+str(i), # list of components latex_name='Y'+'^'+str(i))(x0, x1)) for i in range(N)] Y[:] = Yf # define all components L_XL_Yf = (f.lie_derivative(Y)).lie_derivative(X) # L_X(L_Y(f)) L_YL_Xf = (f.lie_derivative(X)).lie_derivative(Y) # L_Y(L_X(f)) L_bracket_f = f.lie_derivative(X.bracket(Y)) # L_{lie_brack(X,Y)}(f) L_XL_Yf - L_YL_Xf == L_bracket_f # check (19.3)

True\displaystyle \mathrm{True}



Let ψ:MNψ : M → N be a smooth map between two smooth manifolds. If XX(M)X ∈ \mathfrak{X}(M) and YX(N).Y ∈ \mathfrak{X}(N ).

XX and YY are ψψ-related if Yψ(p)=dψpXp,\begin{equation} Y_{ψ(p)} = dψ_pX_p , \tag{19.4} \end{equation} for pM.p ∈ M.

If fC(N)f ∈ C^∞ (N ), then from (19.4) and (8.8) it follows

(Yf)(ψ(p))=Yψ(p)(f)=dψpXp(f)=Xp(fψ)=(X(fψ))(p),(Y f ) (ψ( p)) = Y_{ψ( p)} ( f ) = dψ_p X_p ( f ) = X_p ( f ◦ ψ) = (X( f ◦ ψ) )( p),

for pM,p ∈ M, i.e., (Yf)ψ=X(fψ),\begin{equation} (Y f ) ◦ ψ = X( f ◦ ψ), \tag{19.5} \end{equation}
for fC(N).f ∈ C^∞ (N). An equivalent formulation is

ψ(Yf)=X(ψf),\begin{equation} \psi^*(Y f ) = X( \psi^*f), \tag{19.6} \end{equation}

for fC(N).f ∈ C^∞ (N).


Pullback of a vector field and its properties


Let MM and NN be smooth manifolds, ψ:MNψ : M → N be a diffeomorphism and XX be a vector field on NN. The pullback of XX under ψ\psi is the vector field on MM defined by

(ψX)x=d(ψ1)ψ(x)Xψ(x).\begin{equation} (\psi^∗ X)_x = d(ψ^{-1 })_{ψ(x)} X_{ ψ(x)}. \tag{19.7} \end{equation}

Note that (19.7) implies that

Xψ(x)=dψx(ψX)x,\begin{equation} X_{\psi(x)}=d\psi_x(\psi^*X)_x, \tag{19.7'} \end{equation}

which means that ψXψ^∗ X and XX are ψψ-related. If we replace in (19.6) YY by XX and XX by ψX\psi^*X we obtain

ψ(Xf)=(ψX)(ψf),\begin{equation} \psi^*(X f ) = (\psi^*X)( \psi^*f), \tag{19.8} \end{equation}

for fC(N).f ∈ C^∞ (N ).

We have also ψ(fX)=(ψf)(ψX),ψ^∗ ( f X) = (ψ^∗ f )(ψ^∗ X),

ψ(aX+bY)=aψX+bψY,ψ^∗ (aX + bY) = aψ^∗X + bψ^∗ Y,

for X,YX(N),fC(N),X, Y ∈ \mathfrak{X}(N ), f ∈ C^∞ (N ), and a,bR.a, b ∈ R.

In fact by (19.7)

[ψ(fX)]x=d(ψ1)ψ(x)(fX)ψ(x)=d(ψ1)ψ(x)(f(ψ(x))Xψ(x))=f(ψ(x))d(ψ1)ψ(x)Xψ(x)=(ψf)(x)(ψX)x=[(ψf)(ψX)]x,[ψ^∗( f X)]_x = d(ψ^{−1} )_{ψ(x)} ( f X)_{ψ(x)} = d(ψ^{−1} )_{ψ(x)} (f (ψ(x)) X_{ψ(x)})\\ = f (ψ(x)) d(ψ^{−1} )_{ψ(x)} X_{ψ(x)} = (ψ^∗ f )(x) (ψ^∗ X)_x = [(ψ^∗ f )(ψ^∗ X)]_x,

and

[ψ(aX+bY)]x=d(ψ1)ψ(x)(aX+bY)ψ(x)=d(ψ1)ψ(x)(aXψ(x)+bYψ(x))=ad(ψ1)ψ(x)Xψ(x)+bd(ψ1)ψ(x)Yψ(x)=[aψX+bψY]x.[ψ^∗ (aX + bY)]_x = d(ψ^{−1})_{ψ(x)} (aX + bY)_{ψ(x)} = d(ψ^{−1} )_{ψ(x)} (aX_{ψ(x)} + bY_{ψ(x)} ) = ad(ψ^{ −1} )_{ψ(x)} X_{ψ(x)} + bd(ψ^{−1} )_{ψ(x)} Y_{ψ(x)} = [aψ^∗ X + bψ^∗ Y]_x.

If ψ:MNψ : M → N is a diffeomorphism of smooth manifolds MM, NN and χχ is a one-parameter group of transformations on NN whose infinitesimal generator is YY, then ϕt=ψ1χtψϕ_t = ψ^{−1} ◦ χ_t ◦ ψ is a one-parameter group of transformations on MM whose infinitesimal generator is ψYψ^∗ Y.

This relation follows from

ϕsϕt=(ψ1χsψ)(ψ1χtψ)=ψ1χsχtψ=ψ1χs+tψ=ϕs+t.ϕ_s ◦ϕ_t = (ψ^{−1} ◦ χ_s ◦ ψ) ◦ (ψ^{−1} ◦ χ_t ◦ ψ) \\ = ψ^{−1} ◦ χ_s ◦ χ_t ◦ ψ = ψ^{−1} ◦ χ_{s+t} ◦ ψ = ϕ_{s+t} .

If ψ1:M1M2ψ_1 : M_1 → M_2 and ψ2:M2M3ψ_2 : M_2 → M_3 are diffeomorphisms, then (ψ2ψ1)X=(ψ1ψ2)X,(ψ_2 ◦ ψ_1 )^∗ X = (ψ_1^∗ ◦ ψ_2^∗ )X, for XX(M3)X ∈ \mathfrak{X}(M_3 ).

The last equality is true, since

[(ψ2ψ1)X]x=d((ψ2ψ1)1)(ψ2ψ1)(x)X(ψ2ψ1)(x)=(d(ψ11)ψ1(x)d(ψ21)ψ2(ψ1(x)))Xψ2(ψ1(x))=d(ψ11)ψ1(x)(ψ2X)ψ1(x)=[ψ1(ψ2X)]x.[(ψ_2 ◦ ψ_1 )^∗ X]_x = d((ψ_2 ◦ ψ_1 )^{−1}) _{ (ψ_2 ◦ψ_1 )(x)}X_{( ψ_2 \circ ψ_1 )(x)}\\ = (d(ψ_1^{−1})_{ψ_1 (x)}\circ d(ψ_2^{-1})_{\psi_2(\psi_1(x))}) X_{\psi_2(ψ_1 (x))}\\ =d(\psi_1^{-1})_{\psi_1(x)}(\psi_2^*X)_{\psi_1(x)} = [ψ_1^∗ (ψ_2^∗ X)]_x .

Lie derivative of a vector field


If ϕϕ is a one-parameter group of transformations on a manifold MM and XX its infinitesimal generator, then for any vector field YY on MM, the Lie derivative of YY with respect to XX is defined by (LXY)x=limt0(ϕtY)xYxt=ddt(ϕtY)xt=0.\begin{equation} (\mathcal{L}_XY)_x=\lim_{t→0}\frac{(\phi^*_tY)_x-Y_x}{t} =\frac{d}{dt}(\phi_t^*Y)_x\Big|_{t=0}. \tag{9.11} \end{equation}


Lie derivatives of vector fields are equal to Lie brackets


If X,YX(M)X, Y ∈ \mathfrak{X}(M), then LXY=[X,Y].\begin{equation} \mathcal{L}_XY=[X,Y]. \tag{19.12} \end{equation}

To prove this formula, we will check first a form of Leibniz rule. If ϕ \phi is a one-parameter group of transformations on MM whose infinitesimal generator is XX, then

LX(Yf)=limt0ϕt(Yf)Yft=limt0(ϕtY)(ϕtf)Yft\mathcal{L}_X(Yf) =\lim_{t→0}\frac{\phi^*_t(Yf)-Yf}{t} =\lim_{t→0}\frac{(\phi^*_tY)(\phi_t^*f)-Yf}{t}=limt0[(ϕtY)ϕtfft+ϕtYYtf]=Y(LXf)+(LXY)f.=\lim_{t→0}\Big[(\phi^*_tY)\frac{\phi^*_tf-f}{t} +\frac{\phi^*_tY-Y}{t}f\Big]=Y(\mathcal{L}_Xf)+(\mathcal{L}_XY)f.

Notice that (ϕtY)x=d(ϕt1)ϕt(x)Yϕt(x)=d(ϕt)ϕt(x)Yϕt(x)(\phi^*_tY)_x=d(\phi_t^{-1})_{\phi_t(x)}Y_{\phi_t(x)}= d(\phi_{-t})_{\phi_t(x)}Y_{\phi_t(x)}. We have also ϕt(x)x, ϕt(x)x\phi_t(x)\to x, \ \phi_{-t}(x)\to x as t0t\to 0 and in local coordinates the components of the matrix of the differential d(ϕt)ϕt(x):Tϕt(x)MTxMd(ϕ_{−t} )_{\phi_t(x)} : T_{ϕ_t(x)} M → T_x M are ϕi(t,ϕ(t,x))xj.\displaystyle \frac{∂ϕ^i(−t, ϕ(t, x))}{∂x^j}. Smoothness of XX implies smoothness of ϕ\phi, which implies that

ϕi(t,ϕ(t,x))xjϕi(0,x)xj=xixj=δjias t0.\displaystyle \frac{∂ϕ^i(−t, ϕ(t, x))}{∂x^j}\to \frac{\partial\phi^i(0,x)}{\partial x^j}=\frac{\partial x^i}{\partial x^j}=\delta^i_j\quad\text {as}\ t\to 0.

Consequently, if Y=YjxjY = Y^j \frac{\partial}{∂ x^j}, then d(ϕt)ϕt(x)Yϕt(x)=ϕi(t,ϕ(t,x))xjYj(ϕ(t,x))xixYxas t0.d(ϕ_{−t} )_{\phi_t(x)}Y_{ϕ_t (x)} = \frac{∂ϕ^i (−t, ϕ(t, x))}{ ∂ x^j}Y^j(ϕ(t, x))\frac{∂}{∂x^i}\Big|_{x}\to Y_x\quad \mbox{as } t\to 0.

Since by (19.2) LXf=Xf, \mathcal{L}_Xf=Xf,\ we have

X(Yf)=LX(Yf)=Y(Xf)+(LXY)f,X(Yf)=\mathcal{L}_X(Yf)=Y(Xf)+(\mathcal{L}_XY)f,

so LX(Yf)=X(Yf)Y(Xf)=[X,Y]f,\mathcal{L}_X(Yf)= X(Yf)-Y(Xf)=[X,Y]f, i.e., (19.12) holds true.

Thus we can compute   LXY  \ \ \mathcal{L}_XY\ \ without any knowledge on the integral curves of XX.


Example 19.5

Compute   LXY  \ \ \mathcal{L}_XY\ \ for   X=yx+xy  \ \ X=-y\frac{\partial}{\partial x}+x\frac{\partial}{\partial y}\ \ and   Y=(1x)x+(xy)y.\ \ Y=(1-x)\frac{\partial}{\partial x}+(x-y)\frac{\partial}{\partial y}.

%display latex M = Manifold(2, 'M') # manifold M c_xy.<x,y> = M.chart() # chart on M X = M.vector_field(-y, x, name='X') # vector field X Y = M.vector_field(1-x, x-y, name='Y') # vector field Y

First we use the lie_derivative method:

Y_X = Y.lie_derivative(X) # Lie derivative L_X(Y) Y_X.disp()

xx+(y1)y\displaystyle x \frac{\partial}{\partial x } + \left( -y - 1 \right) \frac{\partial}{\partial y }

and next the Lie bracket for comparison:

X.bracket(Y).disp() # [X,Y]

[X,Y]=xx+(y1)y\displaystyle \left[X,Y\right] = x \frac{\partial}{\partial x } + \left( -y - 1 \right) \frac{\partial}{\partial y }


Example 19.6

Use SageMath to check that (19.12) holds for 2-dimensional manifolds.

%display latex N = 2 # dimension of manifold M M = Manifold(N, 'M') # manifold M c_x = M.chart(' '.join(['x'+str(i)+':x^{'+str(i)+'}' for i in range(N)])) # chart on M x0, x1 = c_x[:] # coordinates x^0, x^1 of chart c_x as the Python variables x0, x1 X = M.vector_field(name='X') # vector field X Xf = [M.scalar_field(function('X'+str(i), # list of components latex_name='X'+'^'+str(i))(x0,x1)) for i in range(N)] X[:] = Xf # define all components of X Y = M.vector_field(name='Y') # vector field Y Yf = [M.scalar_field(function('Y'+str(i), # list of components latex_name='Y'+'^'+str(i))(x0,x1)) for i in range(N)] Y[:] = Yf # define all components of Y Y.lie_derivative(X) == X.bracket(Y) # check (19.12)

True\displaystyle \mathrm{True}


Basic properties of Lie derivative of vector fields


Using properties of the Lie bracket from notebook 12, one can check that if X,YX(M)X, Y ∈ \mathfrak{X}(M) and fC(M),f ∈ C^∞ (M), then

LX(fY)=[X,fY]=f[X,Y]+(Xf)Y=fLXY+(LXf)Y,\mathcal{L}_X(fY)=[X, f Y] = f [X, Y] + (X f )Y = f \mathcal{L}_X Y + (\mathcal{L}_X f )Y,

and LX(Y+Z)=[X,Y+Z]=[X,Y]+[X,Z]=LXY+LXZ.\mathcal{L}_X (Y + Z) = [X, Y + Z] = [X, Y] + [X, Z] = \mathcal{L}_X Y + \mathcal{L}_X Z.

If X,Y,ZX(M)X, Y, Z \in \mathfrak{X}(M), then using Jacobi identity (notebook 12) we obtain

LX(LYZ)LY(LXZ)=[X,[Y,Z]][Y,[X,Z]]=[X,[Y,Z]]+[Y,[Z,X]]=[Z,[X,Y]]=[[X,Y],Z]=L[X,Y]Z.\mathcal{L}_X (\mathcal{L}_Y Z) − \mathcal{L}_Y (\mathcal{L}_X Z) = [X, [Y, Z]] − [Y, [X, Z]] = [X, [Y, Z]] + [Y, [Z, X]]\\ = −[Z, [X, Y]]= [[X, Y], Z] =\mathcal{L}_{[X,Y]} Z.

Example 19.7

For  X,Y\ X,Y from example 19.5 and  Z=yx+xy  \ Z=y\frac{\partial}{\partial x}+x\frac{\partial}{\partial y}\ \ compute LX(LYZ)LY(LXZ)  \mathcal{L}_X (\mathcal{L}_Y Z) − \mathcal{L}_Y (\mathcal{L}_X Z)\ \ and L[X,Y]Z. \mathcal{L}_{[X,Y]} Z.

%display latex M = Manifold(2, 'M') # manifold M c_xy.<x,y> = M.chart() # chart on M X = M.vector_field(-y, x, name='X') # vector field X Y = M.vector_field(1-x, x-y, name='Y') # vector field Y Z = M.vector_field(y, x, name='Z') # vector field Z Z_YX = (Z.lie_derivative(Y)).lie_derivative(X) # L_X(L_Y(Z)) Z_XY = (Z.lie_derivative(X)).lie_derivative(Y) # L_Y(L_X(Z)) (Z_YX - Z_XY).disp() # L_X(L_Y(Z)) - L_Y(L_X(Z))

(2y1)x+2xy\displaystyle \left( -2 \, y - 1 \right) \frac{\partial}{\partial x } + 2 \, x \frac{\partial}{\partial y }

Z_brXY = Z.lie_derivative(X.bracket(Y)) # L_[X,Y](Z) Z_brXY.disp()

(2y1)x+2xy\displaystyle \left( -2 \, y - 1 \right) \frac{\partial}{\partial x } + 2 \, x \frac{\partial}{\partial y }


Some properties of pullback of covariant tensor fields


Let us recall (from notebook 15) that if MM and NN are smooth manifolds and ψ:MNψ : M → N is a smooth map then the pullback  ψt \ \psi^*t\ of a smooth tensor field tT(0,k)Nt\in T^{(0,k)}N is defined by

(ψt)p(X1p,...,Xkp)=tψ(p)(dψpX1p,...,dψpXkp),\begin{equation} (ψ^∗ t)_p (X_{1p} , . . . , X_{kp} ) = t_{ψ( p)} (dψ_p X_{1p} , . . . , dψ_p X_{kp} ), \tag{19.13} \end{equation}

for X1p,,XkpTpMX_{1p},\ldots,X_{kp}\in T_pM and pMp\in M.

In (15.2) we have proved that for fC(N)f ∈ C^∞ (N ) ψdf=d(ψf),\begin{equation} ψ^∗ d f=d(\psi^*f), \tag{9.14} \end{equation}

and in (15.3)-(15.5) we justified the relations (for covariant tensor fields t,st,s and fC(M), a,bRf\in C^\infty(M),\ a,b\in R)

ψ(at+bs)=aψt+bψs,ψ(ft)=(ψf)(ψt),\begin{equation} \begin{matrix} ψ^∗ (at + bs) = aψ^∗ t + bψ^∗ s,\\ ψ^∗ ( f t) = (ψ^* f )(ψ^* t), \end{matrix} \tag{19.15} \end{equation}
ψ(ts)=(ψt)(ψs).\begin{equation} ψ^∗ (t ⊗ s) = (ψ^∗ t) ⊗ (ψ^∗ s). \tag{19.16} \end{equation}

In notebook 15 we also have checked that if M1,M2,M3 M_1,M_2,M_3\ are smooth manifolds and ψ1:M1M2ψ_1 : M_1 → M_2 and ψ2:M2M3ψ_2 : M_2 → M_3 are smooth maps, then (ψ2ψ1)t=(ψ1ψ2)t.\begin{equation} (ψ_2 ◦ ψ_1 )^∗ t = (ψ_1^∗ ◦ ψ_2^∗ )\,t. \tag{19.17} \end{equation}


Lie derivative of covariant tensor fields


If ϕϕ is a one-parameter group of transformations on MM and XX its infinitesimal generator, then for any tensor field tT(0,k)Mt\in T^{(0,k)}M the Lie derivative of tt with respect to XX is defined by (LXt)x=limh0(ϕht)xtxh=ddt(ϕtt)xt=0.\begin{equation} (\mathcal{L}_Xt)_x=\lim_{h→0}\frac{(\phi^*_ht)_x-t_x}{h} =\frac{d}{dt}(\phi_t^*t)_x\Big|_{t=0}. \tag{9.18} \end{equation}


For tT(0,k)M, sT(0,m)Mt\in T^{(0,k)}M,\ s\in T^{(0,m)}M we have

LX(ts)=limh0ϕh(ts)tsh=limh0(ϕht)(ϕhs)tsh=limh0[(ϕht)ϕhssh+ϕhtths]=t(LXs)+(LXt)s.\begin{equation} \begin{matrix} \displaystyle \mathcal{L}_X(t\otimes s) =\lim_{h→0}\frac{\phi^*_h(t\otimes s)-t\otimes s}{h} =\lim_{h→0}\frac{(\phi^*_ht)\otimes (\phi_h^*s)-t\otimes s}{h}\\ \displaystyle =\lim_{h→0}\Big[(\phi^*_ht)\otimes\frac{\phi^*_hs-s}{h} +\frac{\phi^*_ht-t}{h}\otimes s\Big]\\ \displaystyle =t\otimes(\mathcal{L}_X s)+(\mathcal{L}_Xt)\otimes s. \end{matrix} \tag{19.19} \end{equation}

For t,sT(0,k)Mt,s\in T^{(0,k)}M and a,bRa,b\in R

LX(at+bs)=limh0ϕh(at+bs)(at+bs)h=limh0aϕht+bϕhsatbsh=aLXt+bLXs.\begin{equation} \begin{matrix} \displaystyle \mathcal{L}_X(at+bs) =\lim_{h→0}\frac{\phi^*_h(at+bs)-(at+bs)}{h}\\ \displaystyle =\lim_{h→0}\frac{a\phi^*_ht+b\phi^*_hs-at-bs}{h} =a\mathcal{L}_Xt +b\mathcal{L}_Xs. \end{matrix} \tag{19.20} \end{equation}

For fC(M)f ∈ C^∞ (M) and tT(0,k)Mt\in T^{(0,k)}M

LX(ft)=limh0ϕh(ft)fth=limh0(ϕhf)(ϕht)fth=limh0[ϕhfϕhtth+ϕhffht]=f(LXt)+(LXf)t.\begin{equation} \begin{matrix} \displaystyle \mathcal{L}_X(ft) =\lim_{h→0}\frac{\phi^*_h(ft)-ft}{h} =\lim_{h→0}\frac{(\phi^*_hf)(\phi_h^*t)-ft}{h}\\ \displaystyle =\lim_{h→0}\Big[\phi^*_hf\frac{\phi^*_ht-t}{h} +\frac{\phi^*_hf-f}{h}t\Big] =f(\mathcal{L}_X t)+(\mathcal{L}_Xf)t. \end{matrix} \tag{19.21} \end{equation}
LXdf=limh0ϕhdfdfh=limh0d(ϕhf)dfh=d(LXf).\begin{equation} \begin{matrix} \displaystyle \mathcal{L}_Xdf =\lim_{h→0}\frac{\phi^*_hdf-df}{h} =\lim_{h→0}\frac{d(\phi^*_hf)-df}{h} =d(\mathcal{L}_Xf). \end{matrix} \tag{19.22} \end{equation}

Lie derivative of covariant tensor fields in local components


If tT(0,k)Mt\in T^{(0,k)}M is given locally by t=ti1...ikdxi1dxikt = t_{i_1... i_k} dx^{i_1} ⊗· · · ⊗ dx^{i_k}, then

$$\mathcal{L}_X t = \mathcal{L}_X (t_{i_1... i_k} dx^{i_1} ⊗ · · · ⊗ dx^{i_k} )\\ = (\mathcal{L}_X t_{i_1... i_k})dx^{i_1} ⊗ · · · ⊗ dx^{i_k} \\ + t_{i_1... i_k}\big( \mathcal{L}_X dx^{i_1} ⊗ · · · ⊗ dx^{i_k} + · · · + dx^{i_1} ⊗ · · · ⊗ \mathcal{L}_Xdx^{i_k}\big)\\ =(Xt_{i_1... i_k})dx^{i_1} ⊗ · · · ⊗ dx^{i_k}\\ + t_{i_1... i_k}\big[d (\mathcal{L}_X x^{i_1}) ⊗ · · · ⊗ dx^{i_k} + · · · + dx^{i_1} ⊗ · · · ⊗ d(\mathcal{L}_Xx^{i_k})\big].\\$$

If X=XmxmX = X^m \frac{∂}{∂ x^m}, then

LXxi=Xxi=(Xmxm)xi=Xi,\mathcal{L}_Xx^i=Xx^i=\big(X^m \frac{∂}{∂ x^m}\big)x^i=X^i,

consequently

d(LXxi)=dXi=Xixmdxm,\begin{equation} d(\mathcal{L}_Xx^i)=dX^i=\frac{∂X^i}{∂ x^m}dx^m, \tag{19.22'} \end{equation}

and LXt=(Xti1...ik)dxi1dxik+ti1...ik(Xi1xmdxmdxik++dxi1Xikxmdxm)=(Xmti1...ikxm+tim...ikXimxi1++ti1...imXimxik)dxi1dxik.(19.23)\begin{darray}{rcl} &\mathcal{L}_X t = (Xt_{i_1... i_k} ) dx^{i_1} ⊗ · · · ⊗ dx^{i_k}\\ &+t_{i_1... i_k} \big(\frac{∂X^{i_1}}{∂ x^m}dx^m\otimes\ldots\otimes dx^{i_k}+\ldots+dx^{i_1}\otimes\ldots\otimes\frac{∂X^{i_k}}{∂ x^m}dx^m\Big)\\ &=\big(X^m\frac{\partial t_{i_1... i_k}}{∂ x^m}+ t_{i_m... i_k}\frac{∂X^{i_m}}{∂ x^{i_1}}+\ldots +t_{i_1... i_m}\frac{∂X^{i_m}}{∂ x^{i_k}}\Big)dx^{i_1} ⊗ · · · ⊗ dx^{i_k}. \tag{19.23} \end{darray}


Example 19.8

Compute  LXt  \ \mathcal{L}_Xt\ \ for  X=(1x)x+(xy)y  \ X=(1-x)\frac{\partial}{\partial x}+(x-y)\frac{\partial}{\partial y}\ \ and   t=xdxdx+dxd𝑦+𝑦d𝑦dx.\ \ t=xdx⊗dx+dx⊗d𝑦+𝑦d𝑦⊗dx.


First define the tensor field and vector field:

%display latex M = Manifold(2, 'M') # manifold M c_xy.<x,y> = M.chart() # chart on M e_xy = c_xy.frame() # local basis of vector fields t = M.tensor_field(0, 2, {e_xy: [[x, 1], [y, 0]]}, name='t') t.disp() # tensor field t of (0,2)-type

t=xdxdx+dxdy+ydydx\displaystyle t = x \mathrm{d} x\otimes \mathrm{d} x +\mathrm{d} x\otimes \mathrm{d} y + y \mathrm{d} y\otimes \mathrm{d} x

e_xy # show the local basis

(M,(x,y))\displaystyle \left(M, \left(\frac{\partial}{\partial x },\frac{\partial}{\partial y }\right)\right)

X = M.vector_field({e_xy: [1-x, x-y]}, name='X') X.disp() # vector field X

X=(x+1)x+(xy)y\displaystyle X = \left( -x + 1 \right) \frac{\partial}{\partial x } + \left( x - y \right) \frac{\partial}{\partial y }

Now we can compute  LXt:  \ \mathcal{L}_Xt:\ \

lt = t.lie_derivative(X) # Lie derivative L_X(t) lt.display(e_xy)

(3x+y+2)dxdx2dxdy+(x3y)dydx\displaystyle \left( -3 \, x + y + 2 \right) \mathrm{d} x\otimes \mathrm{d} x -2 \mathrm{d} x\otimes \mathrm{d} y + \left( x - 3 \, y \right) \mathrm{d} y\otimes \mathrm{d} x


Example 19.9

For a deeper understanding of the formula (19.23) let us take a more general example.

Let   t=𝑡00d𝑥0d𝑥0+𝑡01d𝑥0d𝑥1+𝑡10d𝑥1d𝑥0+𝑡11d𝑥1d𝑥1.  \ \ t=𝑡_{00}d𝑥^0⊗d𝑥^0+𝑡_{01}d𝑥^0⊗d𝑥^1+𝑡_{10}d𝑥^1⊗d𝑥^0+𝑡_{11}d𝑥^1⊗d𝑥^1.\ \

N=2 # dimension of manifold M M = Manifold(N, 'M') # manifold M c_x = M.chart(' '.join(['x'+str(i)+':x^{'+str(i)+'}' for i in range(N)])) # chart on M x0, x1 = c_x[:] # coordinates x^0, x^1 of chart c_x as the Python variables x0, x1 t = M.tensor_field(0,2, name='t') # tensor field t of type (0,2) def f2(i,j): return 't'+str(i)+str(j) # names of components # component functions: f1 = [[M.scalar_field(function(f2(j,k))(x0,x1), name=f2(j,k)) for k in range(N)] for j in range(N)] t[:] = f1 # define all components of t %display latex Manifold.options.omit_function_arguments=True t.disp() # show tensor field t

t=t00dx0dx0+t01dx0dx1+t10dx1dx0+t11dx1dx1\displaystyle t = t_{00} \mathrm{d} {x^{0}}\otimes \mathrm{d} {x^{0}} + t_{01} \mathrm{d} {x^{0}}\otimes \mathrm{d} {x^{1}} + t_{10} \mathrm{d} {x^{1}}\otimes \mathrm{d} {x^{0}} + t_{11} \mathrm{d} {x^{1}}\otimes \mathrm{d} {x^{1}}

and   X=X0x0+X1x1\ \ X=X^0\frac{\partial}{\partial x^0}+X^1\frac{\partial}{\partial x^1}

# continuation X = M.vector_field(name='X') # vector field X Xf=[M.scalar_field(function('X'+str(i), # list of components latex_name='X'+'^'+str(i))(x0,x1)) for i in range(N)] X[:] = Xf # define all comp. of X X.disp() # show vect.field X

X=X0x0+X1x1\displaystyle X = X^0 \frac{\partial}{\partial {x^{0}} } + X^1 \frac{\partial}{\partial {x^{1}} }

Compute the Lie derivative LXt:  \ \mathcal{L}_Xt:\ \

lt = t.lie_derivative(X) lt.disp()

(2t00X0x0+(t01+t10)X1x0+X0t00x0+X1t00x1)dx0dx0+(t01X0x0+t00X0x1+t11X1x0+t01X1x1+X0t01x0+X1t01x1)dx0dx1+(t10X0x0+t00X0x1+t11X1x0+t10X1x1+X0t10x0+X1t10x1)dx1dx0+((t01+t10)X0x1+2t11X1x1+X0t11x0+X1t11x1)dx1dx1\displaystyle \left( 2 \, t_{00} \frac{\partial\,X^0}{\partial {x^{0}}} + {\left(t_{01} + t_{10}\right)} \frac{\partial\,X^1}{\partial {x^{0}}} + X^0 \frac{\partial\,t_{00}}{\partial {x^{0}}} + X^1 \frac{\partial\,t_{00}}{\partial {x^{1}}} \right) \mathrm{d} {x^{0}}\otimes \mathrm{d} {x^{0}} + \left( t_{01} \frac{\partial\,X^0}{\partial {x^{0}}} + t_{00} \frac{\partial\,X^0}{\partial {x^{1}}} + t_{11} \frac{\partial\,X^1}{\partial {x^{0}}} + t_{01} \frac{\partial\,X^1}{\partial {x^{1}}} + X^0 \frac{\partial\,t_{01}}{\partial {x^{0}}} + X^1 \frac{\partial\,t_{01}}{\partial {x^{1}}} \right) \mathrm{d} {x^{0}}\otimes \mathrm{d} {x^{1}} + \left( t_{10} \frac{\partial\,X^0}{\partial {x^{0}}} + t_{00} \frac{\partial\,X^0}{\partial {x^{1}}} + t_{11} \frac{\partial\,X^1}{\partial {x^{0}}} + t_{10} \frac{\partial\,X^1}{\partial {x^{1}}} + X^0 \frac{\partial\,t_{10}}{\partial {x^{0}}} + X^1 \frac{\partial\,t_{10}}{\partial {x^{1}}} \right) \mathrm{d} {x^{1}}\otimes \mathrm{d} {x^{0}} + \left( {\left(t_{01} + t_{10}\right)} \frac{\partial\,X^0}{\partial {x^{1}}} + 2 \, t_{11} \frac{\partial\,X^1}{\partial {x^{1}}} + X^0 \frac{\partial\,t_{11}}{\partial {x^{0}}} + X^1 \frac{\partial\,t_{11}}{\partial {x^{1}}} \right) \mathrm{d} {x^{1}}\otimes \mathrm{d} {x^{1}}

For comparison, using (19.23) without simplifications we obtain

(Xmti1...ikxm+tim...ikXimxi1+...+ti1...imXimxik)dxi1dxik=(X0t00x0+X1t00x1+t00X0x0+t10X1x0+t00X0x0+t01X1x0)dx0dx0+(X0t01x0+X1t01x1+t01X0x0+t11X1x0+t00X0x1+t01X1x1)dx0dx1+(X0t10x0+X1t10x1+t00X0x1+t10X1x1+t10X0x0+t11X1x0)dx1dx0+(X0t11x0+X1t11x1+t01X0x1+t11X1x1+t10X0x1+t11X1x1)dx1dx1,\begin{matrix} \Big(X^m\frac{\partial t_{i_1... i_k}}{∂ x^m} & +t_{i_m... i_k}\frac{∂X^{i_m}}{∂ x^{i_1}}+ & ...+t_{i_1... i_m}\frac{∂X^{i_m}}{∂ x^{i_k}}\Big) & dx^{i_1} ⊗ · · · ⊗ dx^{i_k}\\ =\Big(X^0\frac{\partial t_{00}}{\partial x^0}+X^1 \frac{\partial t_{00}}{\partial x^1} & +t_{00}\frac{\partial X^0}{\partial x^0}+t_{10}\frac{\partial X^1}{\partial x^0} & +t_{00}\frac{\partial X^0}{\partial x^0}+t_{01}\frac{\partial X^1}{\partial x^0} \Big)& dx^0\otimes dx^0\\ +\Big(X^0\frac{\partial t_{01}}{\partial x^0}+X^1 \frac{\partial t_{01}}{\partial x^1} & +t_{01}\frac{\partial X^0}{\partial x^0}+t_{11}\frac{\partial X^1}{\partial x^0} & +t_{00}\frac{\partial X^0}{\partial x^1}+t_{01}\frac{\partial X^1}{\partial x^1} \Big)& dx^0\otimes dx^1\\ +\Big(X^0\frac{\partial t_{10}}{\partial x^0}+X^1 \frac{\partial t_{10}}{\partial x^1} & +t_{00}\frac{\partial X^0}{\partial x^1}+t_{10}\frac{\partial X^1}{\partial x^1} & +t_{10}\frac{\partial X^0}{\partial x^0}+t_{11}\frac{\partial X^1}{\partial x^0} \Big)& dx^1\otimes dx^0\\ +\Big(X^0\frac{\partial t_{11}}{\partial x^0}+X^1 \frac{\partial t_{11}}{\partial x^1} & +t_{01}\frac{\partial X^0}{\partial x^1}+t_{11}\frac{\partial X^1}{\partial x^1} & +t_{10}\frac{\partial X^0}{\partial x^1}+t_{11}\frac{\partial X^1}{\partial x^1} \Big)& dx^1\otimes dx^1, \end{matrix}

which of course gives the same result.

# 3 ways how to obtain contraction sign print(u'\u231F',u'\u300D',u'\uFF63')
⌟ 」 」

Contraction with a vector field (interior product)


If tT(0,k)M, XX(M)t\in T^{(0,k)}M,\ X\in \mathfrak{X}(M), then the contraction of tt with XX, denoted by  Xt \ X\mathbin{」}t\ is a tensor field from T(0,k1)MT^{(0,k-1)}M defined by

(Xt)p(X2p,,Xkp)=tp(Xp,X2p,,Xkp).\begin{equation} (X\mathbin{」}t)_p(X_{2p},\ldots,X_{kp})=t_p(X_p,X_{2p},\ldots,X_{kp}). \tag{19.24} \end{equation}

Example 19.10

Let us compute   Xt  \ \ X\mathbin{」}t\ \ for   X=X1x1+X2x2  \ \ X=X^1\frac{\partial}{\partial x^1}+ X^2\frac{\partial}{\partial x^2}\ \ and   𝑔=d𝑥1d𝑥1+d𝑥2d𝑥2.\ \ 𝑔=d𝑥^1⊗d𝑥^1+d𝑥^2⊗d𝑥^2.

%display latex N = 2 # dimension of manifold M M = Manifold(2, 'M',start_index=1) # manifold M c_x = M.chart(' '.join(['x'+str(i)+':x^{'+str(i)+'}' for i in range(1, N+1)])) # chart on M x1, x2 = c_x[:] # coordinates x^1, x^2 of chart c_x as the Python variables x1, x2 g = M.tensor_field(0, 2, name='g'); # tensor field of type (0,2) g[1,1] = 1; g[2,2] = 1 # set nonzero components g.display() # show g

g=dx1dx1+dx2dx2\displaystyle g = \mathrm{d} {x^{1}}\otimes \mathrm{d} {x^{1}}+\mathrm{d} {x^{2}}\otimes \mathrm{d} {x^{2}}

X = M.vector_field() # vector field X X[:] = (function('X1', latex_name='X^1')(x1,x2), # define components of X function('X2', latex_name='X^2')(x1,x2)) Manifold.options.omit_function_arguments=True X.display() # show X

X1x1+X2x2\displaystyle X^1 \frac{\partial}{\partial {x^{1}} } + X^2 \frac{\partial}{\partial {x^{2}} }

X.contract(g).display() # X 」g

X1dx1+X2dx2\displaystyle X^1 \mathrm{d} {x^{1}} + X^2 \mathrm{d} {x^{2}}


Example 19.11

Compute   Xa  \ \ X\mathbin{」} a\ \ for   X=X1x1+X2x2  \ \ X=X^1\frac{\partial}{\partial x^1}+ X^2\frac{\partial}{\partial x^2}\ \ and   a=𝑎1d𝑥1+𝑎2d𝑥2.\ \ a= 𝑎_1d𝑥^1+𝑎_2d𝑥^2.

# continuation a = M.one_form() # one-form a # define components of a a[:] = (function('a1')(x1,x2), function('a2')(x1,x2)) a.disp() # show a

a1dx1+a2dx2\displaystyle a_{1} \mathrm{d} {x^{1}} + a_{2} \mathrm{d} {x^{2}}

(X.contract(a)).disp() # X 」 a

MR(x1,x2)X1a1+X2a2\displaystyle \begin{array}{llcl} & M & \longrightarrow & \mathbb{R} \\ & \left({x^{1}}, {x^{2}}\right) & \longmapsto & X^1 a_{1} + X^2 a_{2} \end{array}

X.interior_product(a).disp() # interior product # gives the same results for k-forms

MR(x1,x2)X1a1+X2a2\displaystyle \begin{array}{llcl} & M & \longrightarrow & \mathbb{R} \\ & \left({x^{1}}, {x^{2}}\right) & \longmapsto & X^1 a_{1} + X^2 a_{2} \end{array}

a(X).disp() # value of a on X

MR(x1,x2)X1a1+X2a2\displaystyle \begin{array}{llcl} & M & \longrightarrow & \mathbb{R} \\ & \left({x^{1}}, {x^{2}}\right) & \longmapsto & X^1 a_{1} + X^2 a_{2} \end{array}

X(a).disp() # value of X on a

MR(x1,x2)X1a1+X2a2\displaystyle \begin{array}{llcl} & M & \longrightarrow & \mathbb{R} \\ & \left({x^{1}}, {x^{2}}\right) & \longmapsto & X^1 a_{1} + X^2 a_{2} \end{array}


Example 19.12

Compute   Xt  \ \ X\mathbin{」}t\ \ for   X=X0x0+X1x1  \ \ X=X^0\frac{\partial}{\partial x^0}+ X^1\frac{\partial}{\partial x^1}\ \ and   𝑡=𝑡00d𝑥0d𝑥0+𝑡01d𝑥0d𝑥1+𝑡10d𝑥1d𝑥0+𝑡11d𝑥1d𝑥1.\ \ 𝑡=𝑡_{00}d𝑥^0⊗d𝑥^0+𝑡_{01}d𝑥^0⊗d𝑥^1+𝑡_{10}d𝑥^1⊗d𝑥^0+𝑡_{11}d𝑥^1⊗d𝑥^1.

N = 2 # dimension of manifold M M = Manifold(N, 'M') # manifold M c_x = M.chart(' '.join(['x'+str(i)+':x^{'+str(i)+'}' for i in range(N)])) # chart on M x0, x1 = c_x[:] # coordinates x^0, x^1 of chart c_x as the Python variables x0, x1 t = M.tensor_field(0,2, name='t') # tensor field t of type (0,2) def f2(i,j): return 't'+str(i)+str(j) # names of components # list of components: f = [[M.scalar_field(function(f2(j,k))(x0,x1), name=f2(j,k)) for k in range(2)] for j in range(2)] t[:] = f # all components of t %display latex Manifold.options.omit_function_arguments=True t.disp() # show t

t=t00dx0dx0+t01dx0dx1+t10dx1dx0+t11dx1dx1\displaystyle t = t_{00} \mathrm{d} {x^{0}}\otimes \mathrm{d} {x^{0}} + t_{01} \mathrm{d} {x^{0}}\otimes \mathrm{d} {x^{1}} + t_{10} \mathrm{d} {x^{1}}\otimes \mathrm{d} {x^{0}} + t_{11} \mathrm{d} {x^{1}}\otimes \mathrm{d} {x^{1}}

X = M.vector_field() # vector field X X[:] = (function('X0',latex_name='X^0')(x0,x1), # list of comp. function('X1',latex_name='X^1')(x0,x1))
X.contract(t).display() # X 」 t

(X0t00+X1t10)dx0+(X0t01+X1t11)dx1\displaystyle \left( X^0 t_{00} + X^1 t_{10} \right) \mathrm{d} {x^{0}} + \left( X^0 t_{01} + X^1 t_{11} \right) \mathrm{d} {x^{1}}


Pullback of contraction


Let ψ:MNψ:M → N be a diffeomorphisms,  tT(0,k)N \ t\in T^{(0,k)}N\ and  XX(N)\ X\in \mathfrak{X}(N). Recall that since ψXψ^∗ X and XX are ψψ-related, then Xψ(p)=dψp(ψX)p X_{\psi(p)}=d\psi_p(\psi^*X)_p\ (cf. (19.7')) and (ψX)(ψf)=ψ(Xf) (ψ^∗ X)(ψ^∗ f ) = ψ^∗ (X f )\ (cf. (19.8)), therefore

[(ψX)(ψt)]p(X2p,...,Xkp)=(ψt)p((ψX)p,X2p,...,Xkp)=tψ(p)(dψp(ψX)p,dψpX2p,...,dψpXkp)=tψ(p)(Xψ(p),dψpX2p,...,dψpXkp)=(Xt)ψ(p)(dψpX2p,...,dψpXkp)=[ψ(Xt)]p(X2p,...,Xkp),[(ψ^∗ X)\mathbin{」}(ψ^∗ t)]_p (X_{2p} , . . . , X_{kp} ) =(ψ^∗ t)_p ((ψ^∗ X)_p , X_{2p} , . . . , X_{kp})\\ = t_{ψ( p)} (dψ_p (ψ^∗ X)_p , dψ_p X_{2p} , . . . , dψ_p X_{kp})\\ = t_{ψ( p)} (X_{ψ( p)} ,dψ_p X_{2p} , . . . , dψ_p X_{kp} )\\ =(X\mathbin{」} t)_{ψ( p)} (dψ_p X_{2p} , . . . , dψ_p X_{kp} ) = [ψ^∗ (X\mathbin{」} t)]_p (X_{2p} , . . . , X_{kp} ),

for X2p,,XkpTpN.X_{2p},\ldots,X_{kp}\in T_pN. We have proved

ψ(Xt)=(ψX)(ψt).\begin{equation} ψ^∗ (X\mathbin{」} t)=(ψ^∗ X)\mathbin{」}(ψ^∗ t). \tag{19.25} \end{equation}

Lie derivative of contraction


In a consequence, if ϕt\phi_t is a one-parameter group of transformations on 𝑀, XX its infinitesimal generator and YX(M)Y\in\mathfrak{X}(M), then for tT(0,k)Mt\in T^{(0,k)}M LX(Yt)=limh0ϕh(Yt)Yth=limh0ϕh(Y)(ϕht)Yth=limh0ϕh(Y)(ϕht)ϕh(Y)t+ϕh(Y)tYth=limh0[ϕhYϕhtth+ϕhYYht].\mathcal{L}_X (Y\mathbin{」}t)= \lim_{h\to 0}\frac{\phi_h^*(Y\mathbin{」}t)-Y\mathbin{」}t}{h} =\lim_{h\to 0}\frac{\phi_h^*(Y)\mathbin{」}(\phi^*_ht)-Y\mathbin{」}t}{h}\\ =\lim_{h\to 0}\frac{\phi_h^*(Y)\mathbin{」}(\phi^*_ht)- \phi_h^*(Y)\mathbin{」}t+\phi_h^*(Y)\mathbin{」}t-Y\mathbin{」}t}{h}\\ =\lim_{h\to 0}\Big[\phi_h^*Y\mathbin{」}\frac{\phi_h^*t-t}{h}+ \frac{\phi_h^*Y-Y}{h}\mathbin{」}t\Big].

Thus LX(Yt)=(LXY)t+YLXt.\begin{equation} \mathcal{L}_X (Y\mathbin{」}t)=(\mathcal{L}_XY)\mathbin{」}t +Y\mathbin{」}\mathcal{L}_Xt. \tag{19.26} \end{equation}


Example 19.13

Compute both sides of (19.26) for  X=yx+xy,\ X=-y\frac{\partial}{\partial x}+x\frac{\partial}{\partial y},   Y=(1x)x+(xy)y  \ \ Y=(1-x)\frac{\partial}{\partial x}+(x-y)\frac{\partial}{\partial y}\ \ and g=ydxdx+xd𝑦dy.g=ydx⊗dx+xd𝑦⊗dy.

First we define g, X, Yg,\ X,\ Y:

%display latex M = Manifold(2, 'M') # manifold M c_xy.<x,y> = M.chart() # chart on M g = M.tensor_field(0,2, name='g'); # tensor field of type (0,2) g[0,0] = y; g[1,1] = x # set nonzero components X = M.vector_field(-y, x, name='X') # vector field X Y = M.vector_field(1-x, x-y, name='Y') # vector field Y

Left hand side of (19.26) in SageMath:

(Y.contract(g)).lie_derivative(X).disp()

(xy+y2+x)dx+(x2(x+1)y+y2)dy\displaystyle \left( -x y + y^{2} + x \right) \mathrm{d} x + \left( -x^{2} - {\left(x + 1\right)} y + y^{2} \right) \mathrm{d} y

Right hand side of (19.26):

r1 = (Y.lie_derivative(X)).contract(g) r2 = Y.contract(g.lie_derivative(X)) (r1 + r2).disp()

(xy+y2+x)dx+(x2(x+1)y+y2)dy\displaystyle \left( -x y + y^{2} + x \right) \mathrm{d} x + \left( -x^{2} - {\left(x + 1\right)} y + y^{2} \right) \mathrm{d} y


Computing the Lie derivative of covariant tensor fields with the help of Lie brackets


From (19.24) it follows tp(Xp,X2p,,Xkp)=(Xt)p(X2p,,Xkp),for tT(0,k)M,\begin{equation} t_p(X_p,X_{2p},\ldots,X_{kp})=(X\mathbin{」}t)_p(X_{2p},\ldots,X_{kp}),\quad \text{for}\ t\in T^{(0,k)}M, \end{equation}

and XiX(M)X_i\in\mathfrak{X}(M).

As a consequence we obtain

tp(Y1p,Y2p,,Ykp)=(Y1pt)p(Y2p,,Ykp)=(Y2p(Y1pt))p(Y3p,,Ykp)==(YkpY(k1)pY1pt),t_p(Y_{1p},Y_{2p},\ldots,Y_{kp})=(Y_{1p}\mathbin{」}t)_p(Y_{2p},\ldots,Y_{kp})\\ =(Y_{2p}\mathbin{」}(Y_{1p}\mathbin{」}t))_p(Y_{3p},\ldots,Y_{kp})=\ldots\\ =(Y_{kp}\mathbin{」}Y_{(k-1)p}\mathbin{」}\ldots\mathbin{」}Y_{1p}\mathbin{」}t),

i.e., for  tT(0,k)M\ t\in T^{(0,k)}M and YiX(M)Y_i\in\mathfrak{X}(M)

t(Y1,Y2,,Yk)=YkYk1Y1t.\begin{equation} t(Y_1,Y_2,\ldots,Y_k)=Y_k\mathbin{」}Y_{k-1}\mathbin{」}\ldots\mathbin{」}Y_1\mathbin{」}t. \tag{19.27} \end{equation}

We know from (19.2) that Xf=LXfXf=\mathcal{L}_Xf, so

X(t(Y1,...,Yk))=LX(t(Y1,...,Yk))=LX(YkYk1Y1t)=[(LXYk)Yk1Y1t+Yk(LXYk1)Y1t............................+YkYk1(LXY1)t+YkYk1Y1(LXt)]X( t (Y_1 , . . . , Y_k )) = \mathcal{L}_X (t (Y_1 , . . . , Y_k ))= \mathcal{L}_X(Y_k\mathbin{」}Y_{k-1}\mathbin{」}\ldots\mathbin{」}Y_1\mathbin{」}t)\\ =[(\mathcal{L}_XY_k)\mathbin{」}Y_{k-1}\mathbin{」}\ldots\mathbin{」}Y_1\mathbin{」}t\\ +Y_k\mathbin{」}(\mathcal{L}_XY_{k-1})\mathbin{」}\ldots\mathbin{」}Y_1\mathbin{」}t\\ ............................\\ +Y_k\mathbin{」}Y_{k-1}\mathbin{」}\ldots\mathbin{」}(\mathcal{L}_XY_1)\mathbin{」}t\\ +Y_k\mathbin{」}Y_{k-1}\mathbin{」}\ldots\mathbin{」}Y_1\mathbin{」}(\mathcal{L}_Xt)]

According to (19.27) we have

t(Y1,,Yk1,LXYk)=(LXYk)Yk1Y1t,t(Y1,,LXYk1,Yk)=Yk(LXYk1)Y1t,......................................t(LXY1,,Yk1,Yk)=YkYk1(LXY1)t,(LXt)(Y1,,Yk1,Yk)=YkYk1Y1(LXt).t(Y_1,\ldots,Y_{k-1},\mathcal{L}_XY_k)= (\mathcal{L}_XY_k)\mathbin{」}Y_{k-1}\mathbin{」}\ldots\mathbin{」}Y_1\mathbin{」}t,\\ t(Y_1,\ldots,\mathcal{L}_XY_{k-1},Y_k)= Y_k\mathbin{」}(\mathcal{L}_XY_{k-1})\mathbin{」}\ldots\mathbin{」}Y_1\mathbin{」}t,\\ ......................................\\ t(\mathcal{L}_XY_1,\ldots,Y_{k-1},Y_k)= Y_k\mathbin{」}Y_{k-1}\mathbin{」}\ldots\mathbin{」}(\mathcal{L}_XY_1)\mathbin{」}t,\\ (\mathcal{L}_Xt)(Y_1,\ldots,Y_{k-1},Y_k)= Y_k\mathbin{」}Y_{k-1}\mathbin{」}\ldots\mathbin{」}Y_1\mathbin{」}(\mathcal{L}_Xt).

Therefore

X(t(Y1,...,Yk))=t(Y1,Y2,...,LXYk)+t(Y1,Y2,...,LXYk1,Yk)++t(LXY1,Y2,...,Yk)+(LXt)(Y1,...,Yk)=(LXt)(Y1,...,Yk)+i=1kt(Y1,...,LXYi,...,Yk).X( t (Y_1 , . . . , Y_k )) =t (Y_1 , Y_2 , . . . , \mathcal{L}_X Y_k ) + t (Y_1 , Y_2 , . . . , \mathcal{L}_X Y_{k−1} , Y_k ) + · · ·\\ + t (\mathcal{L}_X Y_1 , Y_2 , . . . , Y_k ) + (\mathcal{L}_X t)(Y_1 , . . . , Y_k )\\ = (\mathcal{L}_X t)(Y_1 , . . . , Y_k )+ \sum_{i=1}^k t (Y_1 , . . . , \mathcal{L}_X Y_i , . . . , Y_k).

We have proved

(LXt)(Y1,..,Yk)=X(t(Y1,..,Yk))i=1kt(Y1,..,[X,Yi],..,Yk).\begin{equation} (\mathcal{L}_X t)(Y_1 ,.., Y_k ) = X (t (Y_1 ,.., Y_k )) -\sum_{i=1}^kt (Y_1 ,.., [X, Y_i ],.., Y_k ). \tag{19.28} \end{equation}

Example 19.14

Compute both sides of (19.28) for  X=yx+xy,\ X=-y\frac{\partial}{\partial x}+x\frac{\partial}{\partial y},   Y1=(1x)x+(xy)y,  Y2=(y+1)x+(x2)y, \ \ Y_1=(1-x)\frac{\partial}{\partial x}+(x-y)\frac{\partial}{\partial y},\ \ Y_2=(y+1)\frac{\partial}{\partial x}+(x-2)\frac{\partial}{\partial y},\ and t=ydxdx+xd𝑦dy.t=ydx⊗dx+xd𝑦⊗dy.


First we define  t, X, Y1,Y2\ t,\ X,\ Y_1,Y_2:

%display latex M = Manifold(2, 'M') # manifold M c_xy.<x,y> = M.chart() # chart on M t = M.tensor_field(0,2, name='t') # tensor field of type (0,2) t[0,0] = y; t[1,1] = x # set nonzero components X = M.vector_field(-y, x, name='X') # vector field X Y1 = M.vector_field(1-x, x-y, name='Y1') # vector field Y1 Y2 = M.vector_field(y+1, x-2, name='Y2') # vector field Y2
L = t.lie_derivative(X)(Y1,Y2) # left hand side of (19.28) L.expr() # value of L

x3(x+1)y2+y3+3x22(x1)yx\displaystyle -x^{3} - {\left(x + 1\right)} y^{2} + y^{3} + 3 \, x^{2} - 2 \, {\left(x - 1\right)} y - x

R = X(t(Y1,Y2)) - t(X.bracket(Y1),Y2) - t(Y1,X.bracket(Y2)) R # right hand side of (19.28)

X(t(Y1,Y2))t([X,Y1],Y2)t(Y1,[X,Y2])\displaystyle X\left(t\left(Y1,Y2\right)\right)-t\left(\left[X,Y1\right],Y2\right)-t\left(Y1,\left[X,Y2\right]\right)

R.expr() # value of R

x3(x+1)y2+y3+3x22(x1)yx\displaystyle -x^{3} - {\left(x + 1\right)} y^{2} + y^{3} + 3 \, x^{2} - 2 \, {\left(x - 1\right)} y - x


Commutator of Lie derivatives of covariant tensor fields


Repeating the use of (19.28) we obtain

(LX(LYt))(Z1,...,Zk)=X((LYt)(Z1,...,Zk))i=1k(LYt)(Z1,...,[X,Zi],...,Zk)=X{Y(t(Z1,...,Zk))i=1kt(Z1,...,[Y,Zj],...,Zk) }i=1k{Y(t(Z1,...,[X,Zi],...,Zk)t(Z1,...,[Y,[X,Zi]],...,Zk)j=1,j<ikt(Z1,...,[Y,Zj],...,[X,Zi],...,Zk)j=1,j>ikt(Z1,...,[X,Zi],...,[Y,Zj],...,Zk)}=XY(t(Z1,...,Zk))j=1kX(t(Z1,...,[Y,Zj],...,Zk))i=1k{Y(t(Z1,...,[X,Zi],...,Zk))t(Z1,...,[Y,[X,Zi]],...,Zk)j=1,j<ikt(Z1,...,[Y,Zj],...,[X,Zi],...,Zk)j=1,j>ikt(Z1,...,[X,Zi],...,[Y,Zj],...,Zk)},(\mathcal{L}_X (\mathcal{L}_Y t)) (Z_1 , . . . , Z_k )\\ =X ((\mathcal{L}_Y t)(Z_1 , . . . , Z_k ))-\sum_{i=1}^k (\mathcal{L}_Y t)(Z_1 , . . . , [X, Z_i ], . . . , Z_k )\\ = X \Big\{Y (t (Z_1 , . . . , Z_k )) -\sum_{i=1}^k t (Z_1 , . . . , [Y, Z_j ], . . . , Z_k )\ \Big\}\\ -\sum_{i=1}^k \Big\{Y (t (Z_1 , . . . , [X, Z_i ], . . . , Z_k ) − t (Z_1 , . . . , [Y, [X, Z_i ]], . . . , Z_k )\\ -\sum_{j=1,j<i}^kt (Z_1 , . . . , [Y, Z_j ], . . . , [X, Z_i ], . . . , Z_k )\\ -\sum_{j=1,j>i}^kt (Z_1 , . . . , [X, Z_i ], . . . , [Y, Z_j ], . . . , Z_k ) \Big\}\\ = XY( t (Z_1 , . . . , Z_k ))-\sum_{j=1}^k X (t (Z_1 , . . . , [Y, Z_j ], . . . , Z_k ))\\ -\sum_{i=1}^k \Big\{Y (t (Z_1 , . . . , [X, Z_i ], . . . , Z_k ) ) − t (Z_1 , . . . , [Y, [X, Z_i ]], . . . , Z_k )\\ -\sum_{j=1,j<i}^k t (Z_1 , . . . , [Y, Z_j ], . . . , [X, Z_i ], . . . , Z_k )\\ -\sum_{j=1,j>i}^k t (Z_1 , . . . , [X, Z_i ], . . . , [Y, Z_j ], . . . , Z_k ) \Big\},

and analogously

(LY(LXt))(Z1,...,Zk)=YX(t(Z1,...,Zk))i=1kY(t(Z1,...,[Y,Zi],...,Zk))i=1k{X(t(Z1,...,[Y,Zi],...,Zk))t(Z1,...,[X,[Y,Zi]],...,Zk)j=1,j<ikt(Z1,...,[X,Zj],...,[Y,Zi],...,Zk)j=1,j>ikt(Z1,...,[Y,Zi],...,[X,Zj],...,Zk)}.(\mathcal{L}_Y (\mathcal{L}_X t)) (Z_1 , . . . , Z_k )\\ =YX( t (Z_1 , . . . , Z_k )) -\sum_{i=1}^kY (t (Z_1 , . . . , [Y, Z_i ], . . . , Z_k ))\\ -\sum_{i=1}^k \Big\{X (t (Z_1 , . . . , [Y, Z_i ], . . . , Z_k ) ) − t (Z_1 , . . . , [X, [Y, Z_i ]], . . . , Z_k )\\ -\sum_{j=1,j<i}^k t (Z_1 , . . . , [X, Z_j ], . . . , [Y, Z_i ], . . . , Z_k )\\ -\sum_{j=1,j>i}^k t (Z_1 , . . . , [Y, Z_i ], . . . , [X, Z_j ], . . . , Z_k ) \Big\}.

The Jacobi identity   [Y,[Zi,X]][X,[Y,Zi]][Zi,[X,Y]]=0, \ \ -[Y,[Z_i,X]]-[X,[Y,Z_i]]-[Z_i,[X,Y]]=0,\ implies

[Y,[X,Zi]][X,[Y,Zi]]=[[X,Y],Zi],[Y,[X,Z_i]]-[X,[Y,Z_i]]=-[[X,Y],Z_i],

so

(LX(LYt))(Z1,...,Zk)LY(LXt))(Z1,...,Zk)=[X,Y](t(Z1,...,Zk))i=1kt(Z1,...,[[X,Y],Zi],...,Zk).(\mathcal{L}_X (\mathcal{L}_Y t) )(Z_1 , . . . , Z_k ) − \mathcal{L}_Y (\mathcal{L}_X t) )(Z_1 , . . . , Z_k )\\ = [X, Y] (t (Z_1 , . . . , Z_k )) -\sum_{i=1}^k t (Z_1 , . . . , [[X, Y], Z_i ], . . . , Z_k ).

Thus LX(LYt)LY(LXt)=L[X,Y]t.\begin{equation} \mathcal{L}_X (\mathcal{L}_Y t) − \mathcal{L}_Y (\mathcal{L}_X t) = \mathcal{L}_{[X,Y]} t. \tag{19.29} \end{equation}

Using the fact that LXX=[X,X]=0\mathcal{L}_X X = [X, X] = 0, we obtain:

LX(Xt)=(LXX)t+X(LXt)=X(LXt).\mathcal{L}_X (X \mathbin{」}t) = (\mathcal{L}_X X)\mathbin{」} t + X\mathbin{」} (\mathcal{L}_X t) = X\mathbin{」} (\mathcal{L}_X t).

Example 19.15

Check (19.29) for a 2-dimensional manifold and tensor tt of type (0,2).

%display latex N = 2 # dimension of manifold M M = Manifold(N, 'M') # manifold M c_x = M.chart(' '.join(['x'+str(i)+':x^{'+str(i)+'}' for i in range(N)])) # chart on M x0, x1 = c_x[:] # coordinates x^0, x^1 of chart c_x as the Python variables x0, x1 X = M.vector_field(name='X') # vector field X Xf = [M.scalar_field(function('X'+str(i), # list of components latex_name='X'+'^'+str(i))(x0,x1)) for i in range(N)] X[:] = Xf Y = M.vector_field(name='Y') # vector field Y Yf = [M.scalar_field(function('Y'+str(i), # list of components latex_name='Y'+'^'+str(i))(x0,x1)) for i in range(N)] Y[:] = Yf t = M.tensor_field(0,2, name='t') # tensor field t of type (0,2) def f2(i,j): return 't'+str(i)+str(j) # names of components # list of components: f = [[M.scalar_field(function(f2(j,k))(x0,x1), name=f2(j,k)) for k in range(2)] for j in range(2)] t[:] = f t.disp() # show t

t=t00dx0dx0+t01dx0dx1+t10dx1dx0+t11dx1dx1\displaystyle t = t_{00} \mathrm{d} {x^{0}}\otimes \mathrm{d} {x^{0}} + t_{01} \mathrm{d} {x^{0}}\otimes \mathrm{d} {x^{1}} + t_{10} \mathrm{d} {x^{1}}\otimes \mathrm{d} {x^{0}} + t_{11} \mathrm{d} {x^{1}}\otimes \mathrm{d} {x^{1}}

[X.disp(), Y.disp()] # show X,Y

[X=X0x0+X1x1,Y=Y0x0+Y1x1]\displaystyle \left[X = X^0 \frac{\partial}{\partial {x^{0}} } + X^1 \frac{\partial}{\partial {x^{1}} }, Y = Y^0 \frac{\partial}{\partial {x^{0}} } + Y^1 \frac{\partial}{\partial {x^{1}} }\right]

L_XL_Yt = (t.lie_derivative(Y)).lie_derivative(X) # L_XL_Y(t) L_YL_Xt = (t.lie_derivative(X)).lie_derivative(Y) # L_YL_X(t) L = L_XL_Yt-L_YL_Xt # Left hand side of (19.29) R = t.lie_derivative(X.bracket(Y)) # Right hand side of (19.29) L == R # check (19.29) # slow

True\displaystyle \mathrm{True}


Lie derivative for general tensor fields


For a general tensor field tT(k,m)Mt\in T^{(k,m)}M the lie derivative is defined by

(£Xt)(α1,...,αk,Y1,...,Ym)=X(t(α1,...,αk,Y1,...,Ym))i=1kt(α1,...,£Xαi,...,αk,Y1,...,Ym)i=1mt(α1,...,αk,Y1,...,£XYi,...,Ym),\begin{equation} \begin{matrix} (£_X t)(α_1 , . . . , α_k , Y_1 , . . . , Y_m ) = X (t (α_1 , . . . , α_k , Y_1 , . . . , Y_m ))\\ -\sum_{i=1}^k t (α_1 , . . . , £_X α_i , . . . , α_k , Y_1 , . . . , Y_m )\\ -\sum_{i=1}^m t (α_1 , . . . , α_k , Y_1 , . . . , £_X Y_i , . . . , Y_m ), \end{matrix} \tag{19.30} \end{equation}

for  α1,...,αkΩ1(M) \ α_1 , . . . , α_k ∈ \Omega^1(M)\ and  Y1,...,YmX(M)\ Y_1 , . . . , Y_m ∈ \mathfrak{X}(M).


Lie derivative for general tensor fields in components


If in coordinates  (x1,,xn) \ (x^1,\ldots,x^n)\ the tensor field tT(k,m)Mt\in T^{(k,m)}M has components tj1jmi1ikt^{i_1\ldots i_k}_{j_1\ldots j_m}, then the Lie derivative  LXt  \ \mathcal{L}_Xt\ \ has components

(LXt)j1jmi1ik=Xptj1jmi1ikxptj1jmpi2ikXi1xptj1jmi1ik1pXikxp+tpj2jmi1ikXpxj1++tj1jm1pi1ikXpxjm.\begin{equation} \begin{matrix} \displaystyle (\mathcal{L}_Xt)^{i_1\ldots i_k}_{j_1\ldots j_m} =X^p\frac{\partial t^{i_1\ldots i_k}_{j_1\ldots j_m}}{\partial x^p} -t^{p\,i_2\ldots i_k}_{j_1\ldots j_m}\frac{\partial X^{i_1}}{\partial x^p} \ldots -t^{i_1\ldots i_{k-1}p}_{j_1\ldots j_m}\frac{\partial X^{i_k}}{\partial x^p}\\ \displaystyle +t^{i_1\ldots i_k}_{p\,j_2\ldots j_m}\frac{\partial X^p}{\partial x^{j_1}} +\ldots +t^{i_1\ldots i_k}_{j_1\ldots j_{m-1}\,p}\frac{\partial X^p}{\partial x^{j_m}}. \end{matrix} \tag{19.31} \end{equation}

The formula follows from (19.30). In fact, computing LX\mathcal{L}_X for scalars  f \ f\ we have by (19.2)  LXf=Xf, \ \mathcal{L}_Xf=Xf,\ so  LX(tj1jmi1ik)=Xptj1jmi1ikxp\ \mathcal{L}_X(t^{i_1\ldots i_k}_{j_1\ldots j_m})=X^p\frac{\partial t^{i_1\ldots i_k}_{j_1\ldots j_m}}{\partial x^p}, computing LX\mathcal{L}_X for  dxi \ dx^i\ we have by (19.22), (19.22')   LXdxi=Xixpdxp, \ \ \mathcal{L}_Xdx^i=\frac{\partial X^i}{\partial x^p}dx^p,\ and computing LX\mathcal{L}_X for for xk\frac{\partial}{\partial x^k} we can use Lie brackets: LXxk=[X,xk]=[Xpxp,δkixi]=(XδkixkXp)xp=Xpxkxp,\mathcal{L}_X \frac{\partial}{\partial x^k} =[X,\frac{\partial}{\partial x^k}]=[X^p\frac{\partial}{\partial x^p}, \delta^i_k\frac{\partial}{\partial x^i}]=(X\delta^i_k-\frac{\partial}{\partial x^k}X^p)\frac{\partial}{\partial x^p} =-\frac{\partial X^p}{\partial x^k} \frac{\partial}{\partial x^p},

(cf. also (19.23)).


Example 19.16

Compute the Lie derivative  LXt  \ \mathcal{L}_Xt\ \ for   X=X0x0+X1x1  \ \ X=X^0\frac{\partial}{\partial x^0}+ X^1\frac{\partial}{\partial x^1}\ \ and 𝑡=𝑡00𝑥0d𝑥0+𝑡10𝑥0d𝑥1+𝑡01𝑥1d𝑥0+𝑡11𝑥1d𝑥1.𝑡=𝑡^0_0\frac{∂}{∂𝑥^0}⊗d𝑥^0+𝑡^0_1\frac{∂}{∂𝑥^0}⊗d𝑥^1+𝑡^1_0\frac{∂}{∂𝑥^1}⊗d𝑥^0+𝑡^1_1\frac{∂}{∂𝑥^1}⊗d𝑥^1.

%display latex N = 2 # dimension of manifold M M = Manifold(N, 'M') # manifold M c_x = M.chart(' '.join(['x'+str(i)+':x^{'+str(i)+'}' for i in range(N)])) # chart on M
def fn(i,j): return 't'+str(i)+str(j) # names of components def fl(i,j): return 't'+'^'+str(i)+'_'+str(j) # latex names of comp. # list of components of t: ff = [[M.scalar_field(function(fn(i,j), latex_name=fl(i,j))(*c_x)) for j in range(N)] for i in range(N)] t = M.tensor_field(1,1, name='t') # tensor field t t[:] = ff # define all components of t Manifold.options.omit_function_arguments=True t.disp() # show t

t=t00x0dx0+t10x0dx1+t01x1dx0+t11x1dx1\displaystyle t = t^0_0 \frac{\partial}{\partial {x^{0}} }\otimes \mathrm{d} {x^{0}} + t^0_1 \frac{\partial}{\partial {x^{0}} }\otimes \mathrm{d} {x^{1}} + t^1_0 \frac{\partial}{\partial {x^{1}} }\otimes \mathrm{d} {x^{0}} + t^1_1 \frac{\partial}{\partial {x^{1}} }\otimes \mathrm{d} {x^{1}}

X = M.vector_field() # vector field X X[:] = (function('X0', latex_name='X^0')(*c_x), function('X1', latex_name='X^1')(*c_x)) # comp. of X LtX = t.lie_derivative(X) # Lie derivative L_X(t) LtX.disp() # show Lie derivative

(t01X0x1+t10X1x0+X0t00x0+X1t00x1)x0dx0+(t10X0x0+(t00t11)X0x1+t10X1x1+X0t10x0+X1t10x1)x0dx1+(t01X0x0(t00t11)X1x0t01X1x1+X0t01x0+X1t01x1)x1dx0+(t01X0x1t10X1x0+X0t11x0+X1t11x1)x1dx1\displaystyle \left( -t^1_0 \frac{\partial\,X^0}{\partial {x^{1}}} + t^0_1 \frac{\partial\,X^1}{\partial {x^{0}}} + X^0 \frac{\partial\,t^0_0}{\partial {x^{0}}} + X^1 \frac{\partial\,t^0_0}{\partial {x^{1}}} \right) \frac{\partial}{\partial {x^{0}} }\otimes \mathrm{d} {x^{0}} + \left( -t^0_1 \frac{\partial\,X^0}{\partial {x^{0}}} + {\left(t^0_0 - t^1_1\right)} \frac{\partial\,X^0}{\partial {x^{1}}} + t^0_1 \frac{\partial\,X^1}{\partial {x^{1}}} + X^0 \frac{\partial\,t^0_1}{\partial {x^{0}}} + X^1 \frac{\partial\,t^0_1}{\partial {x^{1}}} \right) \frac{\partial}{\partial {x^{0}} }\otimes \mathrm{d} {x^{1}} + \left( t^1_0 \frac{\partial\,X^0}{\partial {x^{0}}} - {\left(t^0_0 - t^1_1\right)} \frac{\partial\,X^1}{\partial {x^{0}}} - t^1_0 \frac{\partial\,X^1}{\partial {x^{1}}} + X^0 \frac{\partial\,t^1_0}{\partial {x^{0}}} + X^1 \frac{\partial\,t^1_0}{\partial {x^{1}}} \right) \frac{\partial}{\partial {x^{1}} }\otimes \mathrm{d} {x^{0}} + \left( t^1_0 \frac{\partial\,X^0}{\partial {x^{1}}} - t^0_1 \frac{\partial\,X^1}{\partial {x^{0}}} + X^0 \frac{\partial\,t^1_1}{\partial {x^{0}}} + X^1 \frac{\partial\,t^1_1}{\partial {x^{1}}} \right) \frac{\partial}{\partial {x^{1}} }\otimes \mathrm{d} {x^{1}}

For comparison, using (19.31) without simplifications we obtain the following components of  LXt  \ \mathcal{L}_Xt\ \ (in the first row we repeat the general formula)

Xptj1jmi1ikxptj1jmpi2ikXi1xptj1jmi1ik1pXikxp+tpj2jmi1ikXpxj1++tj1jm1pi1ikXpxjmX0t00x0+X1t00x1t00X0x0t01X0x1+t00X0x0+t10X1x0X0t10x0+X1t10x1t10X0x0t11X0x1+t00X0x1+t10X1x1X0t01x0+X1t01x1t00X1x0t01X1x1+t01X0x0+t11X1x0X0t11x0+X1t11x1t10X1x0t11X1x1+t01X0x1+t11X1x1\begin{matrix} X^p\frac{\partial t^{i_1\ldots i_k}_{j_1\ldots j_m}}{\partial x^p} & -t^{p\,i_2\ldots i_k}_{j_1\ldots j_m}\frac{\partial X^{i_1}}{\partial x^p} \ldots -t^{i_1\ldots i_{k-1}p}_{j_1\ldots j_m}\frac{\partial X^{i_k}}{\partial x^p} & +t^{i_1\ldots i_k}_{p\,j_2\ldots j_m}\frac{\partial X^p}{\partial x^{j_1}} +\ldots +t^{i_1\ldots i_k}_{j_1\ldots j_{m-1}\,p}\frac{\partial X^p}{\partial x^{j_m}}\\ X^0\frac{\partial t^0_0}{\partial x^0}+X^1\frac{\partial t^0_0}{\partial x^1} & -t^0_0\frac{\partial X^0}{\partial x^0}-t^1_0\frac{\partial X^0}{\partial x^1} & +t^0_0\frac{\partial X^0}{\partial x^0}+t^0_1\frac{\partial X^1}{\partial x^0}\\ X^0\frac{\partial t^0_1}{\partial x^0}+X^1\frac{\partial t^0_1}{\partial x^1} & -t^0_1\frac{\partial X^0}{\partial x^0}-t^1_1\frac{\partial X^0}{\partial x^1} & +t^0_0\frac{\partial X^0}{\partial x^1}+t^0_1\frac{\partial X^1}{\partial x^1}\\ X^0\frac{\partial t^1_0}{\partial x^0}+X^1\frac{\partial t^1_0}{\partial x^1} & -t^0_0\frac{\partial X^1}{\partial x^0}-t^1_0\frac{\partial X^1}{\partial x^1} & +t^1_0\frac{\partial X^0}{\partial x^0}+t^1_1\frac{\partial X^1}{\partial x^0}\\ X^0\frac{\partial t^1_1}{\partial x^0}+X^1\frac{\partial t^1_1}{\partial x^1} & -t^0_1\frac{\partial X^1}{\partial x^0}-t^1_1\frac{\partial X^1}{\partial x^1} & +t^1_0\frac{\partial X^0}{\partial x^1}+t^1_1\frac{\partial X^1}{\partial x^1} \end{matrix}

which of course gives the same result.

Bellow we list the components of the Lie derivative using display_comp method:

LtX.display_comp(coordinate_labels=False)

X0000=t01X0x1+t10X1x0+X0t00x0+X1t00x1X0101=t10X0x0+(t00t11)X0x1+t10X1x1+X0t10x0+X1t10x1X1010=t01X0x0(t00t11)X1x0t01X1x1+X0t01x0+X1t01x1X1111=t01X0x1t10X1x0+X0t11x0+X1t11x1\displaystyle \begin{array}{lcl} X_{\phantom{\, 0}\,0}^{\,0\phantom{\, 0}} & = & -t^1_0 \frac{\partial\,X^0}{\partial {x^{1}}} + t^0_1 \frac{\partial\,X^1}{\partial {x^{0}}} + X^0 \frac{\partial\,t^0_0}{\partial {x^{0}}} + X^1 \frac{\partial\,t^0_0}{\partial {x^{1}}} \\ X_{\phantom{\, 0}\,1}^{\,0\phantom{\, 1}} & = & -t^0_1 \frac{\partial\,X^0}{\partial {x^{0}}} + {\left(t^0_0 - t^1_1\right)} \frac{\partial\,X^0}{\partial {x^{1}}} + t^0_1 \frac{\partial\,X^1}{\partial {x^{1}}} + X^0 \frac{\partial\,t^0_1}{\partial {x^{0}}} + X^1 \frac{\partial\,t^0_1}{\partial {x^{1}}} \\ X_{\phantom{\, 1}\,0}^{\,1\phantom{\, 0}} & = & t^1_0 \frac{\partial\,X^0}{\partial {x^{0}}} - {\left(t^0_0 - t^1_1\right)} \frac{\partial\,X^1}{\partial {x^{0}}} - t^1_0 \frac{\partial\,X^1}{\partial {x^{1}}} + X^0 \frac{\partial\,t^1_0}{\partial {x^{0}}} + X^1 \frac{\partial\,t^1_0}{\partial {x^{1}}} \\ X_{\phantom{\, 1}\,1}^{\,1\phantom{\, 1}} & = & t^1_0 \frac{\partial\,X^0}{\partial {x^{1}}} - t^0_1 \frac{\partial\,X^1}{\partial {x^{0}}} + X^0 \frac{\partial\,t^1_1}{\partial {x^{0}}} + X^1 \frac{\partial\,t^1_1}{\partial {x^{1}}} \end{array}

#LtX.comp()[:] # matrix of components

What's next?

Take a look at the notebook Integration of differential forms on singular kk-cubes.