vermaseren / form

The FORM project for symbolic manipulation of very big expressions
GNU General Public License v3.0
1.01k stars 120 forks source link

Beginner Q: how to define partially (anti)symmetric tensors #257

Closed fetchinson closed 6 years ago

fetchinson commented 6 years ago

If I have a tensor, T(a,b,c), which is (anti)symmetric in the first two indices but we don't know anything about the last index then is there a way to specify this for FORM? What I tried is

Tensor T;

which seems to work but I'm not sure if this is optimal or recommended. In more complicated cases like a 4-index tensor, T(a,b,c,d), which has lots of symmetry properties but is not completely symmetric or anti-symmetric I need to specify lots of "id" statements which may not be the best solution.

What would be the recommended way of doing this?

tueda commented 6 years ago

I think you can use the symmetrize command (and antisymmetrize) for partially (anti)symmetric tensors:

T t;
I a,b,c,d;
L F = t(d,c,b,a);
symmetrize t:4 1,2,3;  * symmetric for the first 3 indices out of 4 indices
P;
.end
   F =
      t(b,c,d,a);
fetchinson commented 6 years ago

Thanks a lot, exactly what I was after!