====== FullySymmetrize ====== ---- ====Description==== * ''FullySymmetrize'' makes expression symmetric with respect to all free indices * ''FullySymmetrize[indices]'' makes expression symmetric with respect to specified indices ==== 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==== * Related guides: [[documentation:guide:applying_and_manipulating_transformations]], [[documentation:guide:symmetries_of_tensors]], [[documentation:guide:tensors_and_indices]], [[documentation:guide:list_of_transformations]] * Related transformations: [[documentation:ref:symmetrize]], [[documentation:ref:fullyantisymmetrize]]