FullyAntiSymmetrize
makes expression antisymmetric with respect to all free indicesFullyAntiSymmetrize[indices]
makes expression antisymmetric with respect to specified indicesAntisymmetrize expression:
println FullyAntiSymmetrize >> 'f_abc'.t
> (1/6)*f_{cab}-(1/6)*f_{bac}+(1/6)*f_{bca}-(1/6)*f_{acb}-(1/6)*f_{cba}+(1/6)*f_{abc}
println FullyAntiSymmetrize >> 'f_abcd*t^cd_e + f_bacd*t^dc_e + f_becd*t^dc_a'.t
> -(1/6)*f_{aecd}*t^{cd}_{b}-(1/6)*f_{ebcd}*t^{cd}_{a} +(1/6)*f_{becd}*t^{cd}_{a}+(1/6)*f_{abcd}*t^{cd}_{e} -(1/6)*f_{bacd}*t^{cd}_{e}+(1/6)*f_{eacd}*t^{cd}_{b}
Antisymmetrize only with respect to particular indices:
println FullyAntiSymmetrize['_ae'.si] >> 'f_abcd*t^cd_e + f_bacd*t^dc_e + f_becd*t^dc_a'.t
> (1/2)*t^{cd}_{e}*f_{abcd}-(1/2)*t^{cd}_{a}*f_{ebcd}
Symmetries will be taken into account:
setSymmetric 'f_abc' println FullyAntiSymmetrize >> 'f_iab*f^i_cd'.t
> 0