decomposes a 4D tensorial expression into 3 + 1, regarding both its free and contracted (repeated) indices - Maple Programming Help

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Physics : Physics/Decompose

Physics[Decompose] - decomposes a 4D tensorial expression into 3 + 1, regarding both its free and contracted (repeated) indices

Calling Sequence

Decompose(expression, ...)




any algebraic tensorial expression having spacetime free indices possibly having also repeated indices implying summation, or an equation, relation, list, set or matrix of such expressions

freeindices = ...


optional, the right-hand side can be true (default) or false or a list indicating the free indices to be decomposed and the ordering (relevant when expression involves products and sums of tensors with free indices). When true, a 3 + 1 decomposition of the free indices is performed and, when equal to false, the free indices are not decomposed and the output is an expression as the input, not an Array

repeatedindices = ...


optional, can be true (default) or false or a list indicating indicating which repeated indices are to be decomposed into 3 + 1; when equal to false, the repeated indices are not decomposed.

simplifier = ...


optional - indicates the simplifier to be used; default is none



The Decompose receives a tensorial expression having n free indices, and returns a corresponding n dimensional Array, which can be indexed as a single object to return the values of the tensorial expression for given values of the n free indices. When there are no free indices, the returned output is not an Array but of the same type of expression.


In the Array returned by Decompose, the 4D indices can assume the values 1 and 2 where, when the position of the time-like-component in the signature is 1 (e.g. the signature is - + + +) , the value 1 returns the time component and the value 2 returns the 3D (space part) of the 4D tensorial expression, expressed using 3D space indices. If the position of the time-like-component in the signature is equal to the spacetime dimension (e.g. the signature is + + + -), then the values 1 and 2 of the Array indices get reversed.


To check and determine the free and repeated indices of an expression use Check.


By default, in the returned result, summation is explicitly performed over all the repeated indices found in expression by splitting 4D indices into 3D + 1, so for example AμAμ=A0A0+AiAi, and the space indices are not summed up. To avoid this decomposition of 4D repeated indices pass the optional argument decomposerepeatedindices = false.


By default, the Array is constructed without simplifying its components. To have them simplified, indicate the simplifier on the right-hand-side of the optional argument simplifier = .... A frequently convenient simplification is achieved with just simplifier = simplify.



Setup(mathematicalnotation = true, spaceindices = lowercase_is);



Define now an arbitrary tensor A


Defined objects with tensor properties



So Aμ is a 4D tensor with only one free index, where the position of the time-like component is indicated by the different sign in the signature


signature=- - - +


Accordingly, the 3+1 decomposition of Aμ is




The 3+1 decomposition of the inert representation %g_[mu,nu] of the 4D spacetime metric; use the inert representation when you do not want the actual components of the metric appearing in the output

Decompose(%g_[mu, nu]);



Note the position of the component %g_[0, 0], related to the trailing position of the time-like component in the signature + + + -.

Compare the decomposition of the 4D inert with the decomposition of the 4D active spacetime metric




Decompose(g_[mu, nu]);



The 3D space part of gμ,ν is actually equal to minus the 3D metric γi,j (equations (84.7) and (84.9) of Landau's book [1])

gamma_[`~`, definition];






To derive the formula above for the covariant components of the 3D metric, Decompose into 3+1 the identity

%g_[`~alpha`, `~mu`]*%g_[mu, beta] = g_[`~alpha`, beta];



To the side, for illustration purposes, this is the 3 + 1 decomposition excluding the repeated indices, and excluding the free indices

Eq := Decompose((10), repeatedindices = false);



Eq := Decompose((10), freeindices = false);



Compare with a full decomposition

Eq := Decompose((10));



Eq is a symmetric matrix of equations involving non-contracted occurrences of g0,0, gj,0 and gj,i. Isolate, in Eq1,2, gj,0, that you input as %g_[~j, ~0], and substitute into Eq1,1

isolate(Eq[1, 2], %g_[`~j`, `~0`]);



subs((14), Eq[1, 1]);



Collect gj,i, that you input as %g_[~j, ~i]

collect((15), %g_[`~j`, `~i`]);



Since the right-hand side is the identity matrix and, from (27), gi,j=−1γi,j, the expression between parenthesis, multiplied by -1, is the reciprocal of the contravariant 3D metric γi,j, that is the covariant 3D metric γi,j, in accordance to its definition for the signature - - - +





See Also

Check, coeff, Coordinates, Define, g_, gamma_, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Setup, ThreePlusOne



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



The Physics[Decompose] command was introduced in Maple 2017.


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