Tensor[SymmetrizeIndices] - symmetrize or skew-symmetrize a list of tensor indices
SymmetrizeIndices(T, Indices, keyword)
T - a tensor
Indices - a list of integers, referring to the arguments of T
keyword - a keyword string, either "Symmetric" or "SkewSymmetric"
We illustrate the conventions for this program by describing some simple special cases. Let X,Y,Z be vectors. If T is a rank 3 covariant tensor, then the result of symmetrizing T over its first 2 arguments is the tensor UX,Y,Z=12TX,Y,Z+TY,X,Z. The result of skew-symmetrizing T over its 1st and 3rd arguments is the tensor VX,Y,Z=12 TX,Y,Z−TZ,Y,X . The symmetrization of T over all its indices is the tensor WX,Y,Z=16TX,Y,Z +TY,X,Z+TZ,Y,X + ...,where the sum contains 6 terms involving all possible permutations of the arguments X,Y,Z. In general, the symmetrization over n arguments involves a normalization factor 1n!.
SymmetrizeIndices(T, Indices, keyword) will symmetrize or skew-symmetrize the tensor T over the arguments given by the Indices list. Note that all the elements of the Indices list must refer to indices of the same tensor index type.
SymmetrizeIndices acts as a projection operator -- two applications of SymmetrizeIndices to the same tensor gives the same result as a single application.
This command is part of the DifferentialGeometry:-Tensor package, and so can be used in the form SymmetrizeIndices(...) only after executing the command with(DifferentialGeometry) and with(Tensor) in that order. It can always be used in the long form DifferentialGeometry:-Tensor:-SymmetrizeIndices.
First create a 4 dimensional manifold M and define a rank 5 tensor T on M.
T ≔ evalDG⁡du &t dv &t D_x &t dx &t D_y
Symmetrize T over its 1st and 2nd arguments.
T1 ≔ SymmetrizeIndices⁡T,1,2,Symmetric
Skew-symmetrize T over its 1st, 2nd and 4th arguments.
T2 ≔ SymmetrizeIndices⁡T,1,2,4,SkewSymmetric
Note that SymmetrizeIndices acts as a projection operator.
SymmetrizeIndices⁡T2,1,2,4,SkewSymmetric &minus T2
Download Help Document