# Differences

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

 documentation:ref:spinorssimplify [2015/11/21 10:18]poslavskysv [Examples] documentation:ref:spinorssimplify [2015/11/21 12:33] Line 1: Line 1: - ====== SpinorsSimplify ====== - ---- - ====Description==== - - * ''​%%SpinorsSimplify%%''​ simplifies products of $\gamma$-matrices and Dirac spinors using Dirac equation - - * By default ''​%%SpinorsSimplify%%''​ works in $D = 4$; for arbitrary $D$ one can use option ''​%%SpinorsSimplify[[Dimension:​ D]]%%''​ - - * One can directly set trace of identity matrix (e.g. for dimensional regularisation):​ ''​%%SpinorsSimplify[[Dimension:​ D, TraceOfOne: 4]]%%''​ - - * The notation for Dirac spinors should be specified using ''​%%SpinorsSimplify[[u:​ u, v: v, uBar: uBar, vBar: vBar, Momentum: m, Mass: m]]%%''​ - - *  By default ''​SpinorsSimplify''​ uses notation ''​G_m''​ for $\gamma_m$ and ''​G5''​ for $\gamma_5$. ''​%%SpinorsSimplify[[Gamma:​ G, Gamma5: G5]]%%''​ specifies the notation for $\gamma_m$ and $\gamma_5$. - - * ''​%%SpinorsSimplify[[Simplifications:​ rules]]%%''​ will apply additional simplification ''​rules''​ to each processed expression - ====Examples==== - ---- - Simplify Dirac $\bar u$ spinors in expression: - - - defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix,​ '​cu',​ Matrix1.covector - - def sSimplify = SpinorsSimplify[[uBar:​ '​cu',​ Momentum: '​p_a',​ Mass: '​m'​]] - println sSimplify >> '​cu*G^a*p_a'​.t - ​ - - > m*cu - ​ - - println sSimplify >> '​cu*G_b*G^a*p_a'​.t - ​ - - > -m*cu*G_{b}+2*cu*p_{b} - ​ - - ---- - Simplify different spinors: - - defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix, ​ - '​cu',​ '​cv',​ Matrix1.covector,​ - '​u',​ '​v',​ Matrix1.vector - - def sSimplify = SpinorsSimplify[[uBar:​ '​cu',​ vBar: '​cv',​ u: '​u',​ v: '​v', ​ - Momentum: '​p_a',​ Mass: '​m'​]] - println sSimplify >> '​cu*p^a*G_a*G_b*G_c*v'​.t - ​ - - > m*cu*G_b*G_c*v - ​ - - println sSimplify >> '​p^a*G5*G_a*G_b*G_cG5*u'​.t - ​ - - > m*G_b*G_c*u+2*G_c*u*p_b-2*G_b*u*p_c - ​ - - println sSimplify >> '​p^a*G_a*G_b*G_c*v'​.t - ​ - - > -m*G_b*G_c*v+2*G_c*v*p_b-2*G_b*v*p_c - ​ - ---- - With ''​DiracSimplify:​ true''​ an additional simplification of Dirac gammas will be performed automatically:​ - - def options = [uBar: '​cu',​ vBar: '​cv',​ u: '​u',​ v: '​v', ​ - ​Momentum:​ '​p_a',​ Mass: '​m',​ DiracSimplify:​ true] - - def sSimplify = SpinorsSimplify[options] - println sSimplify >> '​cu*G^a*G_b*G_a*p^b'​.t - ​ - - > -2*m*cu - ​ - Do the same in $D$ dimensions: - - options['​Dimension'​] = '​D'​ - sSimplify = SpinorsSimplify[options] - println sSimplify >> '​cu*G^a*G_b*G_a*p^b'​.t - ​ - - > (-D*m+2*m)*cu - ​ - ====See also==== - * Related guides: [[documentation:​guide:​applying_and_manipulating_transformations]],​ [[documentation:​guide:​Setting up matrix objects]], [[documentation:​guide:​list_of_transformations]] - * Related transformations:​ [[documentation:​ref:​DiracTrace]],​ [[documentation:​ref:​DiracSimplify]],​ [[documentation:​ref:​DiracOrder]], ​ [[documentation:​ref:​LeviCivitaSimplify]],​ [[documentation:​ref:​UnitaryTrace]] - * JavaDocs: [[http://​api.redberry.cc/​redberry/​1.1.8/​java-api//​cc/​redberry/​physics/​feyncalc/​SpinorsSimplifyTransformation.html| SpinorsSimplifyTransformation]] - * Source code: [[https://​bitbucket.org/​redberry/​redberry/​src/​tip/​physics/​src/​main/​java/​cc/​redberry/​physics/​feyncalc/​SpinorsSimplifyTransformation.java|SpinorsSimplifyTransformation.java]]