young_project_tensor
Project tensors with their Young projector.
Project tensors with their Young projection operator. This works for
simple symmetric or anti-symmetric objects, as in
A_{m n}::Symmetric.
ex:= A_{m n} A_{m p};
\(\displaystyle{}A_{m n} A_{m p}\)
young_project_tensor(_);
\(\displaystyle{}\left(\frac{1}{2}A_{m n}+\frac{1}{2}A_{n m}\right) \left(\frac{1}{2}A_{m p}+\frac{1}{2}A_{p m}\right)\)
but more generically works for any tensor which has
a
TableauSymmetry
property attached to it. A_{m n p}::TableauSymmetry(shape={2,1}, indices={0,2,1}).
ex:= A_{m n p};
\(\displaystyle{}A_{m n p}\)
young_project_tensor(_);
\(\displaystyle{}\frac{1}{3}A_{m n p}+\frac{1}{3}A_{p n m} - \frac{1}{3}A_{n m p} - \frac{1}{3}A_{p m n}\)
When the parameters
modulo_monoterm
is set to True
, the resulting
expression will be simplified using the monoterm symmetries of the
tensor,A_{m n p}::TableauSymmetry(shape={2,1}, indices={0,2,1}).
ex:= A_{m n p};
\(\displaystyle{}A_{m n p}\)
young_project_tensor(_, modulo_monoterm=True);
\(\displaystyle{}\frac{2}{3}A_{m n p} - \frac{1}{3}A_{n p m}+\frac{1}{3}A_{m p n}\)
(in this example, the tensor is anti-symmetric in the indices 0 and 1,
hence the simplification compared to the previous example).