====== LeviCivitaSimplify ====== ---- ====Description==== * ''LeviCivitaSimplify'' simplifies combinations of Levi-Civita tensors. * ''LeviCivitaSimplify.euclidean[eps]'' simplifies combinations of Levi-Civita tensors (denoted as ''eps'') assuming that space is Euclidean. * ''LeviCivitaSimplify.minkowski[eps]'' simplifies combinations of Levi-Civita tensors (denoted as ''eps'') assuming that metric has signature {+, -, -, ...}. * ''LeviCivitaSimplify'' works in arbitrary dimensions: if one specified e.g. tensor ''eps_{abcd}'' as Levi-Civita tensor (using e.g. ''LeviCivitaSimplify.euclidean['eps_{abcd}'.t]'' ) then space dimension will be considered equal to 4 (number of Levi-Civita indices) and Kronecker trace will be substituted (i.e. '''d^n_n = 4'.t'' will be applied). * When using ''LeviCivitaSimplify'' one should be ensured that symmetries of Levi-Civita tensor are already set up. * ''%%LeviCivitaSimplify[[Simplifications: tr]]%%'' will apply additional simplifications ''tr'' to each processed product of Levi-Civita tensors and their contractions * ''%%LeviCivitaSimplify[[OverallSimplifications: tr]]%%'' will apply additional simplifications ''tr'' to each processed transformed product of tensors ====Examples==== ---- Simplify combinations of Levi-Civita tensors in dimension 3 in Euclidean space: setAntiSymmetric 'e_abc' println LeviCivitaSimplify.euclidean['e_abc'] >> 'e_abc*e^abd'.t > 2*d^d_c println LeviCivitaSimplify.euclidean['e_abc'] >> 'e_abc*e^abc'.t > 6 def t = 'e_abc*e^amd*e_mnk*e^bnk'.t println LeviCivitaSimplify.euclidean['e_abc'] >> t > 4*d_{c}^{d} ---- Simplify combinations of Levi-Civita tensors in dimension 4 in Euclidean space: setAntiSymmetric 'e_abcd' def t = '4*e^h_d^fb*e_abch*e_e^d_gf'.t println LeviCivitaSimplify.euclidean['e_abcd'] >> t > 16*e_{eagc} Simplify same expression in Minkowski space: setAntiSymmetric 'e_abcd' def t = '4*e^h_d^fb*e_abch*e_e^d_gf'.t println LeviCivitaSimplify.minkowski['e_abcd'] >> t > -16*e_{eagc} ---- Simplify combinations of Levi-Civita tensors in dimension 5 in Minkowski space: setAntiSymmetric 'e_abcde' def t = '''e^{m}_{g}^{kci}*e_{pdj}^{l}_{o}*e_{c}^{n}_{mi}^{p} *e_{khnef}*e^{g}_{a}^{efd}*e_{l}^{hj}_{b}^{o}'''.t println LeviCivitaSimplify.minkowski['e_abcde'] >> t > 864*g_{ab} ---- Simplify expression where Levi-Civita is contracted with symmetric tensor: setAntiSymmetric 'e_abcd' def t = 'e_abcd*(A^a + C^a)*(A^b + C^b)'.t println LeviCivitaSimplify.minkowski['e_abcd'] >> t > 0 ---- ====See also==== * Related guides: [[documentation:guide:applying_and_manipulating_transformations]], [[documentation:guide:list_of_transformations]] * Related transformations: [[documentation:ref:DiracTrace]], [[documentation:ref:UnitaryTrace]] * JavaDocs: [[http://api.redberry.cc/redberry/1.1.9/java-api//cc/redberry/physics/feyncalc/LeviCivitaSimplifyTransformation.html| LeviCivitaSimplifyTransformation]] * Source code: [[https://bitbucket.org/redberry/redberry/src/tip/physics/src/main/java/cc/redberry/physics/feyncalc/LeviCivitaSimplifyTransformation.java|LeviCivitaSimplifyTransformation.java]]