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.


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$ – Sudhakantha Girmohanta Jul 27 '19 at 3:54

Your Answer

