FullySymmetrize
Description
Examples
Symmetrize expression:
println FullySymmetrize > > 'f_abc' .t
|
> (1/6)*f_{bac}+(1/6)*f_{cab}+(1/6)*f_{abc}+(1/6)*f_{bca}+(1/6)*f_{acb}+(1/6)*f_{cba}
|
println FullySymmetrize > > 'f_abcd*t^cd_e + f_bacd*t^dc_e + f_becd*t^dc_a' .t
|
> (1/3)*t^{dc}_{e}*f_{abcd}+(1/3)*t^{dc}_{a}*f_{ebcd}
+(1/3)*t^{dc}_{e}*f_{bacd}+(1/3)*t^{dc}_{b}*f_{aecd}
+(1/3)*t^{dc}_{b}*f_{eacd}+(1/3)*t^{dc}_{a}*f_{becd}
+(1/6)*t^{cd}_{e}*f_{abcd}+(1/6)*t^{cd}_{a}*f_{ebcd}
+(1/6)*t^{cd}_{e}*f_{bacd}+(1/6)*t^{cd}_{b}*f_{aecd}
+(1/6)*t^{cd}_{b}*f_{eacd}+(1/6)*t^{cd}_{a}*f_{becd}
|
Symmetrize only with respect to particular indices:
println FullySymmetrize[ '_ae' .si ] > > 'f_abcd*t^cd_e + f_bacd*t^dc_e + f_becd*t^dc_a' .t
|
> f_{bacd}*t^{dc}_{e}+f_{becd}*t^{dc}_{a}+(1/2)*f_{ebcd}*t^{cd}_{a}
+(1/2)*f_{abcd}*t^{cd}_{e}
|
Symmetries will be taken into account:
setSymmetric 'f_abc'
println FullySymmetrize > > 'f_iab*f^i_cd' .t
|
> (1/3)*f_{iad}*f^{i}_{bc}+(1/3)*f_{iac}*f^{i}_{bd}+(1/3)*f_{iab}*f^{i}_{cd}
|
See also