Cadabra
a field-theory motivated approach to computer algebra

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).
Copyright © 2001-2024 Kasper Peeters
Questions? info@cadabra.science