Differences

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

Link to this comparison view

Next revision
Previous revision
documentation:ref:spinorssimplify [2015/11/20 20:22]
poslavskysv created
documentation:ref:spinorssimplify [2015/11/21 12:33] (current)
Line 4: Line 4:
 ====Description==== ====Description====
  
-  * ''​%%DiracTrace%%'' ​calculates trace of Dirac matrices in $Ddimensions+  * ''​%%SpinorsSimplify%%'' ​simplifies products ​of $\gamma$-matrices and Dirac spinors using Dirac equation
  
-  * By default ''​%%DiracTrace%%''​ works in $D = 4$; for arbitrary $D$ one can use option ''​%%DiracTrace[[Dimension:​ D]]%%''​+  * 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):​ ''​%%DiracTrace[[Dimension:​ D, TraceOfOne: 4]]%%''​+  * One can directly set trace of identity matrix (e.g. for dimensional regularisation):​ ''​%%SpinorsSimplify[[Dimension:​ D, TraceOfOne: 4]]%%''​
  
-  * By default ''​DiracTrace''​ uses notation ​''​G_m'' ​for $\gamma_m$, ''​G5''​ for $\gamma_5$ and ''​e_abcd''​ for Levi-Civita tensor.  ​''​%%DiracTrace[GG5eps]%%''​ or ''​%%DiracTrace[[GammaGGamma5G5LeviCivitaeps]]%%''​ specifies the notation for $\gamma_m$$\gamma_5$ and Levi-Civita tensor. +  * The notation for Dirac spinors should be specified using ''​%%SpinorsSimplify[[u: uv: vuBaruBarvBarvBarMomentummMassm]]%%''​
- +
-  * ''​%%DiracTrace[[Simplificationsrules]]%%'' ​will apply additional simplification ''​rules''​ to each processed trace+
  
 +  *  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==== ====Examples====
 ---- ----
 +Simplify Dirac $\bar u$ spinors in expression:
  
 +<sxh groovy; gutter: true>
 +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
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > m*cu
 +</​sxh>​
 +<sxh groovy; gutter: true; first-line: 5>
 +println sSimplify >> '​cu*G_b*G^a*p_a'​.t
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > -m*cu*G_{b}+2*cu*p_{b}
 +</​sxh>​
 +
 +----
 +Simplify different spinors:
 +<sxh groovy; gutter: true>
 +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
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > m*cu*G_b*G_c*v
 +</​sxh>​
 +<sxh groovy; gutter: true; first-line: 5>
 +println sSimplify >> '​p^a*G5*G_a*G_b*G_cG5*u'​.t
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > m*G_b*G_c*u+2*G_c*u*p_b-2*G_b*u*p_c
 +</​sxh>​
 +<sxh groovy; gutter: true; first-line: 6>
 +println sSimplify >> '​p^a*G_a*G_b*G_c*v'​.t
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > -m*G_b*G_c*v+2*G_c*v*p_b-2*G_b*v*p_c
 +</​sxh>​
 +----
 +With ''​DiracSimplify:​ true''​ an additional simplification of Dirac gammas will be performed automatically:​
 +<sxh groovy; gutter: true; first-line: 1>
 +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
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > -2*m*cu
 +</​sxh>​
 +Do the same in $D$ dimensions:
 +<sxh groovy; gutter: true; first-line: 6>
 +options['​Dimension'​] = '​D'​
 +sSimplify = SpinorsSimplify[options]
 +println sSimplify >> '​cu*G^a*G_b*G_a*p^b'​.t
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > (-D*m+2*m)*cu
 +</​sxh>​
 ====See also==== ====See also====
   * Related guides: [[documentation:​guide:​applying_and_manipulating_transformations]],​ [[documentation:​guide:​Setting up matrix objects]], [[documentation:​guide:​list_of_transformations]]   * 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]]   * 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]]+  * JavaDocs: [[http://​api.redberry.cc/​redberry/​1.1.9/​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]]   * Source code: [[https://​bitbucket.org/​redberry/​redberry/​src/​tip/​physics/​src/​main/​java/​cc/​redberry/​physics/​feyncalc/​SpinorsSimplifyTransformation.java|SpinorsSimplifyTransformation.java]]
 +