Differences

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

Link to this comparison view

documentation:ref:diractrace [2015/11/20 19:30]
poslavskysv [Options]
documentation:ref:diractrace [2015/11/21 12:33]
Line 1: Line 1:
-====== DiracTrace ====== 
----- 
  
-====Description==== 
- 
-  * ''​%%DiracTrace%%''​ calculates trace of Dirac matrices in $D$ dimensions 
- 
-  * By default ''​%%DiracTrace%%''​ works in $D = 4$; for arbitrary $D$ one can use option ''​%%DiracTrace[[Dimension:​ D]]%%''​ 
- 
-  * One can directly set trace of identity matrix (e.g. for dimensional regularisation):​ ''​%%DiracTrace[[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[G,​ G5, eps]%%''​ or ''​%%DiracTrace[[Gamma:​ G, Gamma5: G5, LeviCivita: eps]]%%''​ specifies the notation for $\gamma_m$, $\gamma_5$ and Levi-Civita tensor. 
- 
-  * ''​%%DiracTrace[[Simplifications:​ rules]]%%''​ will apply additional simplification ''​rules''​ to each processed trace 
- 
- 
-====Examples==== 
----- 
-Calculate trace of $\gamma$-matrices:​ 
-<sxh groovy; gutter: false> 
-defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix 
-println DiracTrace >> '​Tr[G_a*G_b]'​.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > 4*g_ab 
-</​sxh>​ 
- 
-Another example: 
-<sxh groovy; gutter: false> 
-//set up matrix objects 
-defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix 
-//calculate trace 
-println ​ DiracTrace >> '​Tr[(p_a*G^a + m)*G_m*(q_a*G^a-m)*G_n]'​.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > 4*p_{m}*q_{n}+4*p_{n}*q_{m}-4*m**2*g_{mn}-4*p^{a}*g_{mn}*q_{a} 
-</​sxh>​ 
- 
----- 
-Calculate trace involving $\gamma_5$: 
-<sxh groovy; gutter: true> 
-//set up matrix objects 
-defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix 
-//calculate trace 
-println DiracTrace >> '​Tr[G_a*G_b*G_c*G_d*G5]'​.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > -4*I*e_{abcd} 
-</​sxh>​ 
-<sxh groovy; gutter: true; first-line: 7> 
-println DiracTrace >> '​Tr[(p_a*G^a + m)*G_m*G5*(q_a*G^a-m)*G_n]'​.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > -4*I*p_{b}*q_{a}*e^{a}_{n}^{b}_{m} 
-</​sxh>​ 
----- 
- 
-Calculate trace in different dimensions: 
- 
-<sxh groovy; gutter: false> 
-defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix 
-println DiracTrace[[Dimension:​ 6]] >> '​Tr[G_c*G_a*G_b*G^c]'​.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > 48*g_ab 
-</​sxh>​ 
- 
-By default, ''​Tr[1]''​ is equal to $2^{\frac{D-1}{2}}$ for odd $D$ and $2^{\frac{D}{2}}$ for even. For symbolic $D$ it will be assumed that it is even: 
- 
-<sxh groovy; gutter: false> 
-defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix 
-println DiracTrace[[Dimension:​ '​D'​.t]] >> '​Tr[G_c*G_a*G_b*G^c]'​.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > D*2**(D/​2)*g_ab 
-</​sxh>​ 
- 
-One can directly overcome predefined value of ''​Tr[1]''​ by using additional option (required for dimensional regularisation):​ 
-<sxh groovy; gutter: false> 
-defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix 
-def dTrace = DiracTrace[[Dimension:​ '​D'​.t,​ TraceOfOne: 4]] 
-println dTrace >> '​Tr[G_c*G_a*G_b*G^c]'​.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > 4*D*g_ab 
-</​sxh>​ 
- 
----- 
-For traces involving $\gamma_5$ in $D$ dimensions, all $\gamma_5$-related calculations will be performed as in 4 dimensions ($Tr[\gamma_a \gamma_b \gamma_c \gamma_d \gamma_5] = -4 i e_{abcd}$ and Chiholm-Kahane identitie: $\gamma_a \gamma_b \gamma_c = g_{ab} \gamma_c-g_{ac} \gamma_b+g_{bc} \gamma_a-i e_{abcd} \gamma_5 \gamma^d$): 
- 
-<sxh groovy; gutter: true> 
-defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix 
-def dTrace = DiracTrace[[Dimension:​ '​D'​.t,​ TraceOfOne: 4]] 
-println dTrace >> '​Tr[G_a*G_b*G_c*G_d*G5]'​.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > -4*I*e_{abcd} 
-</​sxh>​ 
- 
-<sxh groovy; gutter: true; first-line: 4> 
-println dTrace >> '​Tr[G_a*G_b*G_c*G_d*G_e*G^a*G5]'​.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > 4*I*e_{debc}-4*I*e_{decb}+4*I*e_{dbce}-4*I*e_{ebcd} 
-</​sxh>​ 
- 
----- 
-Use another notation for gamma matrices: 
-<sxh groovy; gutter: false> 
-defineMatrices '​F_\\mu',​ '​F5',​ Matrix2.matrix 
-def dTrace = DiracTrace[[Gamma:​ '​F_\\mu',​ Gamma5: '​F5',​ LeviCivita: '​Eps_{\\mu\\nu\\alpha\\beta}'​]] 
-println dTrace >> '​Tr[F_\\mu*F_\\nu*F_\\alpha*F_\\beta * F5]'.t 
-</​sxh>​ 
-<sxh plain; gutter: false> 
-   > -4*I*Eps_{\mu\nu\alpha\beta} 
-</​sxh>​ 
-====Options==== 
- 
-  * ''​Simplifications'':​ one can specify additional simplifications that will be applied to each evaluated trace:<​sxh groovy; gutter: false> 
-defineMatrices '​G_a',​ '​G5',​ Matrix1.matrix 
-def expr = '​Tr[(p^a + k^a)*(p^b + k^b)*G_a*G_b*G_c*G_d]'​.t 
-def mandelstam = setMandelstam([k_a:​ '​0',​ p_a: '​0',​ q_a: '​m',​ r_a: '​m'​],​ '​s',​ '​t',​ '​u'​) 
-println DiracTrace[[Simplifications:​ mandelstam]] >> expr 
-</​sxh><​sxh plain; gutter: false> 
-   > 4*s*g_{cd} 
-</​sxh>​which is same as<sxh groovy; gutter: false> 
-println( (DiracTrace & mandelstam) >> expr ) 
-</​sxh><​sxh plain; gutter: false> 
-   > 4*s*g_{cd} 
-</​sxh>​ 
- 
-  * ''​ExpandAndEliminate'':​ ''​DiracTrace''​ expands out products of sums containing traces of $\gamma$-matrices using [[ExpandAndEliminate]] transformation. One can replace it with another instance using ''​%%DiractTrace[[ExpandAndEliminate:​ tr]]%%''​. 
- 
-  * ''​LeviCivitaSimplify'':​ When traces involve $\gamma_5$, ''​DiracTrace''​ uses [[LeviCivitaSimplify]] in for simplifying resulting expressions with Levi-Civita tensors. One can replace the default instance of [[LeviCivitaSimplify]] with another one using ''​%%DiractTrace[[ExpandAndEliminate:​ tr]]%%''​. 
- 
-====See also==== 
-  * 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 transformations:​ [[documentation:​ref:​LeviCivitaSimplify]],​ [[documentation:​ref:​UnitaryTrace]] 
-  * JavaDocs: [[http://​api.redberry.cc/​redberry/​1.1.8/​java-api//​cc/​redberry/​physics/​feyncalc/​DiracTraceTransformation.html| DiracTraceTransformation]] 
-  * Source code: [[https://​bitbucket.org/​redberry/​redberry/​src/​tip/​physics/​src/​main/​java/​cc/​redberry/​physics/​feyncalc/​DiracTraceTransformation.java|DiracTraceTransformation.java]]