Physics[LieDerivative] - Compute the Lie derivative of a tensorial expression
LieDerivative(T, v, ...)
an algebraic expression, or a relation, or a list, set, Matrix or Array of them
a contravariant vector as a tensor or tensor function, passed with or without one free spacetime contravariant index (prefixed by ~), with respect to which the derivative is being taken
optional, more contravariant vectors as v to perform higher order differentiation
optional, the last argument can be the non-covariant operator d_ to be used instead of the covariant D_
The LieDerivative[v] command computes the Lie derivative of a tensorial expression T - say with one contravariant and one covariant spacetime indices as in T⁢ba - according to the standard definition
where Einstein's summation convention is used, a,b and c represent spacetime indices, v is a contravariant vector field, a tensor with one index, and ▿ is the covariant derivative operator D_. When the expression T has no free indices, the Lie derivative is equal to only the first term of the right-hand-side, and when T has more than one contravariant or covariant tensor indices, there is a term like the second one and another like the third one respectively for each contravariant and covariant free indices in T.
From this definition it is clear that the LieDerivative is a tensor with regards to the free indices of the derivand, but not with regards to the free index of the indexing vector field (vc in the above), whose index appears in the definition contracted with the differentiation operator D_ (or d_). In other words, the index c of vc enters the Lie derivative as a dummy. If this dummy is found in the indices of the derivand, it is automatically replaced by another spacetime dummy index. You can also pass V without an index, with our with functionality, as in V or V⁡X.
The vector vc indexing in LieDerivative[v[~c]](T) is expected to be defined as a tensor such using Define, and ~c (entered suffixed by ~) to be a spacetime contravariant index. Because this index is a dummy index, you can also pass v without indexation, possibly as a function too, as in LieDerivative[v](T) (case of a constant v) or LieDerivative[v(x)](T).
The indexation of LieDerivative can also consists of a sequence of spacetime vectors like v, in which case a higher order LieDerivative is computed (orderly differentiating from left to right).
This single differentiating vector, or a sequence of them, can also be passed after the first argument, as in other Maple differentiation commands.
When the spacetime is Galilean, so all the Christoffel symbols are zero, the operator d_ is used instead of the covariant D_. Also, when the spacetime is non-Galilean, due to the symmetry of the Christoffel symbols under permutation of their 2nd and 3rd indices, all the terms involving Christoffel symbols cancel so that a mathematically equivalent result can be obtained replacing D_ by d_. To obtain a result directly expressed using d_, pass d_ as the last argument.
In the examples that follow, as well as in the context of tensor computations with the Physics package, Einstein's summation convention for repeated indices is used.
Set a system of coordinates - say X
⁢Default differentiation variables for d_, D_ and dAlembertian are:⁢X=x1,x2,x3,x4
⁢Systems of spacetime coordinates are:⁢X=x1,x2,x3,x4
Define some tensors for experimentation
Defined objects with tensor properties
Compute the Lie derivative of a scalar f⁡X: it is the same as the directional derivative in the direction of vμ
Because the spacetime at this point in the worksheet is flat, the output above involves d_, not the covariant D_. Set the spacetime to any nongalilean value, for instance (see g_):
⁢Systems of spacetime coordinates are:⁢X=r,θ,φ,t
⁢Default differentiation variables for d_, D_ and dAlembertian are:⁢X=r,θ,φ,t
⁢The Schwarzschild metric in coordinates ⁢r,θ,φ,t
Use the declare facility of PDEtools to avoid redundant display of functionality and have derivatives displayed with compact indexed notation
v⁡X⁢will now be displayed as⁢v
xi⁡X⁢will now be displayed as⁢ξ
T⁡X⁢will now be displayed as⁢T
The Lie derivatives of the covariant and contravariant vectors xiα and ξα differ in the sign of the second term, but not just in that: note the different ways in which the index μ is contracted
The index μ in vμ enters the Lie derivative as a dummy. If this dummy is found in the indices of the derivand, it is automatically replaced by another spacetime index. For example: pass V and xi with the same index α
You can also pass v without indices, with or without functionality depending on whether v is constant, in which case only the part involving the Christoffel symbols remains after computing the covariant derivative:
When the derivand is a contravariant vector field, the Lie derivative is equal to the the LieBracket between the indexing vector field v in the above) and the derivand ξα. For that reason, you can also pass the first argument to LieBracket with or without the index
So in LieBracket the free index of the first vector field is also a dummy and the index of the second one is the free index of the result.
The Lie derivative of a T⁢⁢βα contains three terms: first there is the term equivalent to a directional derivative, then another with a minus sign related to the contravariant index, then another one related to the covariant index
The Lie derivative is essentially the change in form of the derivand under transformations generated by the indexing vector field (v in the examples above). In turn the Killing vectors generate transformations that leave the form of the spacetime metric g_ invariant. So equating to zero the Lie Derivative of the metric (currently Schwarzschild) results in a system of partial differential equations defining the Killing vectors
The array of Killing equations behind this tensorial expression can be obtained with TensorArray, KillingVectors or the Library command TensorComponents:
These equations can be solved using pdsolve
Alternatively, the same equations components of the tensorial expression (15) can be obtained directly with KillingVectors that in addition performs a reduction to involutive form (canonical form) for the DE system, and can as well compute and solve the equations all in one go
Yet another manner of obtaining the same result is using Physics:-Library:-TensorComponents - that computes similar to TensorArray - but returns a list of equations instead, where the ordering is ascending with respect to value of the free indices -
Expanding the sum over the repeated indices,