Compute the Lie bracket of two vector fields using algebraic tensor notation - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Physics : Physics/LieBracket

Physics[LieBracket] - Compute the Lie bracket of two vector fields using algebraic tensor notation

Calling Sequence

LieBracket(U, V, ...)


U, V


two contravariant vectors, as tensors functions with one free spacetime contravariant index (prefixed by ~); the first vector can also be passed without its index



optional, a third argument can be the non-covariant operator d_ to be used instead of the covariant D_



The LieBracket[mu] command computes the Lie bracket of the vector fields Uμ and Vν, defined in terms of the LieDerivative as



where Einstein's summation convention is used, μ and ν represent spacetime indices,  is the LieDerivative and μ is the covariant derivative operator D_. The LieBracket satisfies the Jacobi identity for commutators



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.



Setup(mathematicalnotation = true);



Set a system of coordinates - say X

Coordinates(X = spherical);

Default differentiation variables for d_, D_ and dAlembertian are:X=r,θ,φ,t

Systems of spacetime coordinates are:X=r,θ,φ,t



Define two tensors for experimentation

Define(A, B);

Defined objects with tensor properties



Use the declare facility of PDEtools to avoid redundant display of functionality

PDEtools:-declare((A, B)(X));

AXwill now be displayed asA

BXwill now be displayed asB


Compute the Lie bracket of Aμ and Bν 

LieBracket(A[~mu](X), B[~nu](X));



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_):



The Schwarzschild metric in coordinates r,θ,φ,t

Parameters: m




Compute the Lie bracket again

LieBracket(A[~mu](X), B[~nu](X));



Note that the Lie bracket between two vector fields is equal to the LieDerivative of the second one with respect to the first one, that you can pass with or without its index to both LieBracket and LieDerivative:




Due to the symmetry properties of Christoffel symbols, this expression can also be expressed replacing the covariant derivative operator D_ by d_. To see that, rewrite the covariant derivatives in terms of Christoffel symbols and the d_ operator

convert((7), d_);






This expression is the same one obtained above in (5) for a flat spacetime but for the dummy used for repeated index:

Simplify((5) - (10));




See Also

Christoffel, convert, Coordinates, d_, D_, Define, g_, LieDerivative, PDEtools[declare], Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Setup, Simplify



Landau, L.D., and Lifshitz, E.M. The Classical Theory of Fields, Course of Theoretical Physics Volume 2, fourth revised English edition. Elsevier, 1975.


Weinberg, S. Gravitation and Cosmology: Principles and Applications of The General Theory of Relativity, John Wiley & Sons, Inc, 1972.



The Physics[LieBracket] command was introduced in Maple 17.


For more information on Maple 17 changes, see Updates in Maple 17.