# Differences

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

 — documentation:ref:eliminateduesymmetries [2015/11/21 12:33] (current) Line 1: Line 1: + ====== EliminateDueSymmetries ====== + ---- + + ====Description==== + * ''​EliminateDueSymmetries''​ removes parts of expression, which are zero because of the symmetries. + + * ''​EliminateDueSymmetries''​ does not perform any structural simplifications (expand, eliminate metrics etc.), it is just using symmetries of expression. ​ + + ====Examples==== + + Simplify expression where symmetric tensor is contracted with antisymmetric:​ + + setAntiSymmetric '​f_mn'​ + //g_mn is symmetric metric tensor + println EliminateDueSymmetries >> 'f_mn * g^mn'​.t + ​ + + > 0 + ​ + ---- + ''​EliminateDueSymmetries''​ also checks symmetries that follows from the structure of expressions:​ + + println EliminateDueSymmetries >> '​(t_amn - t_anm) * g^mn'​.t + ​ + + > 0 + ​ + ---- + ''​EliminateDueSymmetries''​ works with expressions with arbitrary complexity: + + addSymmetry '​R_abc',​ -[1, 0, 2].p + addSymmetry '​A_ab',​ [1, 0].p + def t = '​((R_abc*A_de + R_bde*A_ac)*A^ce + R_adb)*(A_mf*R^mad - A_fm*R^dma)'​.t + println EliminateDueSymmetries >> t + ​ + + > 0 + ​ + ---- + ''​EliminateDueSymmetries''​ applies to each part of expression: + + def t = 'F_mn + g_mn*(A^mn - A^nm)'​.t + println EliminateDueSymmetries >> t + ​ + + > F_mn + ​ + ---- + ====See also==== + * Related guides: [[documentation:​guide:​applying_and_manipulating_transformations]],​ [[documentation:​guide:​symmetries_of_tensors]],​ [[documentation:​guide:​list_of_transformations]] + * JavaDocs: [[http://​api.redberry.cc/​redberry/​1.1.9/​java-api//​cc/​redberry/​core/​transformations/​EliminateDueSymmetriesTransformation.html|EliminateDueSymmetriesTransformation]] + * Source code: [[https://​bitbucket.org/​redberry/​redberry/​src/​tip/​core/​src/​main/​java/​cc/​redberry/​core/​transformations/​EliminateDueSymmetriesTransformation.java|EliminateDueSymmetriesTransformation.java]]