a field theory motivated approach to computer algebra

# TableauSymmetry

Gives a tensor a generic Young tableau symmetry.
Gives a tensor a generic Young tableau symmetry, as indicated by the arguments. Takes lists of two key-value pairs as arguments, indicating the shape of the Young tableau and the index slots associated to each box in the tableau. For instance
R_{a b c d}::TableauSymmetry( shape={2,2}, indices={0,2,1,3} );
$$\displaystyle{}\text{Attached property TableauSymmetry to }R_{a b c d}.$$
yields the symmetries of the Riemann tensor, that is, the symmetries of a Young tableau with two rows of two boxes each. Note that indices are counted from zero. You can see that this works by showing that the cyclic identity holds, using young_project_tensor,
ex:= R_{a b c d} + R_{a c d b} + R_{a d b c};
$$\displaystyle{}R_{a b c d}+R_{a c d b}+R_{a d b c}$$
young_project_tensor(_);
$$\displaystyle{}0$$
Simple symmetry is imposed by using a tableau with one row, while simple anti-symmetry corresponds to a tableau with one column. See Symmetric and AntiSymmetric for examples.