Suppose I have this tensor $A_{ijkl} = \epsilon_{ik} \epsilon_{jl}+\epsilon_{il} \epsilon_{jk}$. Now I want to find all the independent permutation symmetries of the indices of this tensor. The answer is $(ij)$,$(kl)$,$(ik)(jl)$, where by $(ij)$ I mean the tensor is symmetric under the permutation of $i,j$. Similarly $(ik)(jl)$ represents the multiplication of two disjoint cycles.

I am very new to computation and I want to implement this in Mathematica. Here's what I tried:

ss = TensorProduct[LeviCivitaTensor[2], LeviCivitaTensor[2]]; A = ss + TensorTranspose[ss, {Cycles[{{2, 4}}], 1}]; TensorSymmetry[A] 

This yields the result:

{{Cycles[{{2, 4}}], 1}, {Cycles[{{1, 2}, {3, 4}}], 1}, {Cycles[{{1, 2, 3, 4}}], 1}}

Which when translated back into my notation reads $(kl)$, $ (ik) (jl) $ and $(ikjl)$, but we can see that the results are not simplified. For example we can use $ (ik) (jl) $ to simplify $(ikjl)$ as follows:

$ (ikjl) = (ikj) (jl) = (jik) (jl) = (ji) (ik) (jl)$

So $(ijkl)$ when used with $(ik)(jl)$ reduces to $(ij) \equiv (ji)$ as wanted. I want to do this simplification using Mathematica, in other words I want Mathematica to use all the cycles in the list to reduce it to a simplified and independent one. Could someone please help me to implement this? Thanks in advance. On a side note I find manipulating symbolic tensors in Mathematica very difficult. Suggestion for packages that helps this kind of calculation is much appreciated. I know there exists packages like Ricci which are dedicated for GR related calculations, I want something more simple and accessible for tensor analysis.


1 Answer 1


I don't think your TensorProduct expression agrees with your notation. If you correct the definition of A you get your desired symmetries:

A = TensorTranspose[TensorProduct[LeviCivitaTensor[2],LeviCivitaTensor[2]],{1,3,2,4}] + 


{{Cycles[{{3, 4}}], 1}, {Cycles[{{1, 2}}], 1}, {Cycles[{{1, 3}, {2, 4}}], 1}}

  • $\begingroup$ Thank you for your answer, but if we take a more complicated example Mathematica does not simplify as pointed out, for example take 3 epsilon tensor direct product ordered as {1,2,3,4,5,6}. Mathematica gives you as one of the Tensor symmetries this: (135)(246), which using others could be simplified to (15)(26). $\endgroup$ Jul 27, 2019 at 3:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.