Differences

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

Link to this comparison view

Next revision
Previous revision
documentation:ref:diracsimplify [2015/11/20 19:59]
poslavskysv created
documentation:ref:diracsimplify [2015/11/21 12:33] (current)
Line 10: Line 10:
   * One can directly set trace of identity matrix (e.g. for dimensional regularisation):​ ''​%%DiracSimplify[[Dimension:​ D, TraceOfOne: 4]]%%''​   * One can directly set trace of identity matrix (e.g. for dimensional regularisation):​ ''​%%DiracSimplify[[Dimension:​ D, TraceOfOne: 4]]%%''​
  
-  * By default ''​DiracSimplify''​ uses notation ''​G_m''​ for $\gamma_m$ and ''​G5''​ for $\gamma_5$. ​ ''​%%DiracSimplify[G,​ G5]%%''​ or ''​%%DiracTrace[[Gamma: G, Gamma5: G5]]%%''​ specifies the notation for $\gamma_m$ and $\gamma_5$.+  * By default ''​DiracSimplify''​ uses notation ''​G_m''​ for $\gamma_m$ and ''​G5''​ for $\gamma_5$. ​ ''​%%DiracSimplify[G,​ G5]%%''​ or ''​%% ​DiracSimplify[[Gamma: G, Gamma5: G5]]%%''​ specifies the notation for $\gamma_m$ and $\gamma_5$.
  
-  * ''​%%DiracTrace[[Simplifications:​ rules]]%%''​ will apply additional simplification ''​rules''​ to each processed ​trace+  * ''​%% ​DiracSimplify[[Simplifications:​ rules]]%%''​ will apply additional simplification ''​rules''​ to each processed ​product of gammas
  
  
 ====Examples==== ====Examples====
 ---- ----
-Calculate trace of $\gamma$-matrices+Simplify different expressions
-<sxh groovy; gutter: ​false>+<sxh groovy; gutter: ​true>
 defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix
-println ​DiracTrace ​>> 'Tr[G_a*G_b]'.t+def dSimplify = DiracSimplify 
 +println ​dSimplify ​>> 'G_a*G^a'.t
 </​sxh>​ </​sxh>​
 <sxh plain; gutter: false> <sxh plain; gutter: false>
-   > 4*g_ab+   > 4 
 +</​sxh>​ 
 +<sxh groovy; gutter: true; first-line: 4> 
 +println dSimplify >> 'G_a*G_b*G^a'​.t 
 +</​sxh>​ 
 +<sxh plain; gutter: false> 
 +   > -2*G_{b} 
 +</​sxh>​ 
 +<sxh groovy; gutter: true; first-line: 5> 
 +println dSimplify >> '​G_a*G_b*G^a*G^b'​.t 
 +</​sxh>​ 
 +<sxh plain; gutter: false> 
 +   > -8 
 +</​sxh>​ 
 +<sxh groovy; gutter: true; first-line: 6> 
 +println dSimplify >> '​G5*G_a*G_b*G^a*G^b*G5*G5'​.t 
 +</​sxh>​ 
 +<sxh plain; gutter: false> 
 +   > -8*G5 
 +</​sxh>​ 
 +<sxh groovy; gutter: true; first-line: 7> 
 +println dSimplify >> '​G5*G_a*G_b*G^a*G5*G5'​.t 
 +</​sxh>​ 
 +<sxh plain; gutter: false> 
 +   > 2*G_{b}
 </​sxh>​ </​sxh>​
  
 +----
 +Simplify in different dimensions:
 +<sxh groovy; gutter: true>
 +defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix
 +def dSimplify = DiracSimplify[[Dimension:​ '​D'​]]
 +println dSimplify >> '​G_a*G^a'​.t
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > D
 +</​sxh>​
 +<sxh groovy; gutter: true; first-line: 4>
 +println dSimplify >> '​G_a*G_b*G^a'​.t
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > -(-2+D)*G_{b}
 +</​sxh>​
  
 +----
 +Specify additional simplifications:​
 +<sxh groovy; gutter: true>
 +defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix
 +def dSimplify = DiracSimplify[[Simplifications:​ '​p_a*k^a = s'.t]]
 +println dSimplify >> '​p^b*k^c*G_a*G_b*G_c*G^a'​.t
 +</​sxh>​
 +<sxh plain; gutter: false>
 +   > 4*s
 +</​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 tutorials: [[documentation:​tutorials:​Compton scattering in QED]]   * Related tutorials: [[documentation:​tutorials:​Compton scattering in QED]]
-  * Related transformations:​ [[documentation:​ref:​DiracTrace]],​ [[documentation:​ref:​DiracOrder]], ​ [[documentation:​ref:​LeviCivitaSimplify]],​ [[documentation:​ref:​UnitaryTrace]] +  * Related transformations:​ [[documentation:​ref:​DiracTrace]], [[documentation:​ref:​spinorssimplify]], [[documentation:​ref:​DiracOrder]], ​ [[documentation:​ref:​LeviCivitaSimplify]], [[documentation:​ref:​UnitarySimplify]], [[documentation:​ref:​UnitaryTrace]] 
-  * JavaDocs: [[http://​api.redberry.cc/​redberry/​1.1.8/​java-api//​cc/​redberry/​physics/​feyncalc/​DiracTraceTransformation.html| ​DiracTraceTransformation]] +  * JavaDocs: [[http://​api.redberry.cc/​redberry/​1.1.9/​java-api//​cc/​redberry/​physics/​feyncalc/​DiracSimplifyTransformation.html| ​DiracSimplifyTransformation]] 
-  * Source code: [[https://​bitbucket.org/​redberry/​redberry/​src/​tip/​physics/​src/​main/​java/​cc/​redberry/​physics/​feyncalc/​DiracTraceTransformation.java|DiracTraceTransformation.java]]+  * Source code: [[https://​bitbucket.org/​redberry/​redberry/​src/​tip/​physics/​src/​main/​java/​cc/​redberry/​physics/​feyncalc/​DiracSimplifyTransformation.java|DiracSimplifyTransformation.java]]