# Differences

This shows you the differences between two versions of the page.

 documentation:ref:levicivitasimplify [2015/09/22 18:28]127.0.0.1 external edit documentation:ref:levicivitasimplify [2015/11/21 12:33] Line 1: Line 1: - ====== 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. - ====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.8/​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]]