In the following we demonstrate how it can be done with the new tensor capabilities of _Mathematica 9_. Let's define `v`. e.g.: v = RandomInteger[{-10, 10}, {3, 3, 3}] > {{{8, 4, -4}, {2, -2, 4}, {-1, 9, -8}}, {{-9, -7, 8}, {-9, -4, 5}, {-9, 2, -7}}, {{-7, 10, -4}, {-5, 9, -9}, {-4, 6, 5}}} Now we define a tensor product of `v` and `LeviCivitaTensor[3]`: tp = TensorProduct[ v, LeviCivitaTensor[3]]; Now we have to contract the tensor product `tp` in appropriate pairs of indicies, namely `{1, 4}, {2, 5}` and `{3, 6}`: TensorContract[ tp, {{1, 4}, {2, 5}, {3, 6}}] > -7 In order to demonstrate even a bit a simpler example of tensor contraction let's find a trace of a matrix `m`: m = RandomInteger[{-10, 10}, {3, 3}] > {{ 9, 3, -8}, {-2, 4, -6}, { 9, 1, -7}} We can see that it should be `6` using `TensorContract` or `Tr` or simply computing the sum of diagonal elements: TensorContract[ m, {1, 2}] Tr @ m == TensorContract[ m, {1, 2}] > 6 True