0

I am trying to contract two Levi-Civita symbols in tensor format like so:

$\epsilon_{a b} \epsilon_{c d}$

This code generates the Levi-Civita:

n = 2;
LevCiv := LeviCivitaTensor[2, List];

listLevCiv := 
 Table[If[UnsameQ[LevCiv[[a, b]], 0], {ToString[LeCi[a, b]], 
    LevCiv[[a, b]]}] 
  , {a, 1, n}, {b, 1, n}]
TableForm[Partition[DeleteCases[Flatten[listLevCiv], Null], 2], 
 TableSpacing -> {2, 2}]
LevCiv // MatrixForm

I would like something of this form:

    Output = Simplify[
   Table[LevCiv[[a, b]]*LevCiv[[c, d]], {a, 1, n}, {b, 1, n}, {c, 1, 
     n}, {d, 1, n}]];
Output // MatrixForm

Does anyone have experience working with such tensors and how to generate one output please?

Thanks

J. M.'s missing motivation
  • 124,525
  • 11
  • 401
  • 574
Mark Pace
  • 316
  • 1
  • 12

1 Answers1

1

You can get this by using TensorProduct directly on your LeviCivitaTensor

TensorProduct[LeviCivitaTensor[2, List], LeviCivitaTensor[2, List]] // MatrixForm

or more concise

#\[TensorProduct]# &[LeviCivitaTensor[2]] // Normal // MatrixForm

The infix version of TensorProduct can be entered as ESCt*ESC.

Thies Heidecke
  • 8,814
  • 34
  • 44
  • Thank you for your answer. It looks great. I hope it holds up when I perform metric tensor contractions on it. Thanks sir! – Mark Pace Aug 21 '17 at 11:36