Name: Rolf Mertig Date: 02/22/14-05:09:54 PM Z


Hi,
TensorFunction does not do much. It is just a utility function
and creates DownValues.
See the output below.
you can pretend the tensor function are noncommutative (even if they are not) and then use DotSimplify with the general DotSimplifyRelations option:

E.g.:

TensorFunction[{F, “S”}, __];
TensorFunction[{G, “A”}, __];
Print[DownValues[G]]
Print[DownValues[F]]
test = 2*F[a, b] . G[a, b] + 3*F[a, b, c] . G[a, b, c] + 4*F[a, b] . G[c, d];
Print[“fullform of test = “, FullForm[test]];
DotSimplify[test, DotSimplifyRelations ->
   {F[x___, y__, z___] . G[v___, y__, w___] -> 0}]