a field-theory motivated approach to computer algebra

## Symmetric

Make an object symmetric in all indices.
Make an object symmetric in all indices. This information is then subsequently used by various algorithms, for instance canonicalise. An example:
A_{m n}::AntiSymmetric. B_{m n}::Symmetric. ex:=A_{m n} B_{m n};
$$\displaystyle{}A_{m n} B_{m n}$$
canonicalise(_);
$$\displaystyle{}0$$
If you need symmetry in only a subset of all indices of a tensor, you need to use the TableauSymmetry property. A quick example:
C_{a n p}::TableauSymmetry(shape={2}, indices={1,2});
$$\displaystyle{}\text{Attached property TableauSymmetry to }C_{a n p}.$$
This gives indices 1 and 2 (counting starts from 0) the symmetry of the Young Tableau formed by one row of 2 boxes, which is the fully symmetric representation of the permutation group. Now you get, as expected,
ex:=C_{a n p} - C_{a p n};
$$\displaystyle{}C_{a n p}-C_{a p n}$$
canonicalise(_);
$$\displaystyle{}0$$
For more information see the TableauSymmetry documentation.