Trace of a product of Dirac Matrices in a Fermion loop

Click For Summary
SUMMARY

The discussion focuses on calculating the trace of a product of Dirac matrices in a quark loop diagram, specifically using the formalism presented in Peskin & Schroeder's "Introduction to Quantum Field Theory." The user aims to explicitly write the Dirac indices and slashed momenta to demonstrate that the numerator represents a trace. The conversation highlights the utility of the Mathematica package Package-X (version 2.1.1) for simplifying Dirac trace calculations and emphasizes the importance of using trace identities for accurate computations.

PREREQUISITES
  • Understanding of Dirac matrices and their properties
  • Familiarity with quantum field theory concepts, particularly fermion loops
  • Proficiency in using Mathematica for symbolic calculations
  • Knowledge of trace identities and their application in particle physics
NEXT STEPS
  • Explore the use of gamma matrix trace relations in quantum field theory calculations
  • Learn about the implementation of Package-X in Mathematica for Dirac trace evaluations
  • Study the derivation of trace identities from the anticommutation relations of Dirac matrices
  • Investigate advanced techniques for loop calculations in quantum field theory
USEFUL FOR

Particle physicists, quantum field theorists, and researchers involved in loop calculations and Dirac matrix manipulations will benefit from this discussion.

RicardoMP
Messages
48
Reaction score
2
I'm working out the quark loop diagram and I've drawn it as follows:

quark loop.jpg


where the greek letters are the Lorentz and Dirac indices for the gluon and quark respectively and the other letters are color indices.
For this diagram I've written:

$$i\Pi^{\mu\nu}=\int_{}^{}\frac{d^4k}{(2\pi)^4}.[ig(t_a)_{ij}\gamma^\mu].[\frac{i[(\not\! k-\frac{\not{q}}{2})+m_1]}{(k-\frac{q}{2})^2-m_1+i\epsilon}\delta_{il}].[ig(t_b)_{kl}\gamma^\nu].[\frac{i[(\not\! k+\frac{\not{q}}{2})+m_2]}{(k+\frac{q}{2})^2-m_2+i\epsilon}\delta_{kj}]$$

In Peskin & Schroeder's Introduction to QFT it is said: "a closed fermion loop always gives a factor of -1 and the trace of a product of Dirac matrices". In short, I can write the above expression as:

$$i\Pi^{\mu\nu}=g^2T_F\delta{ab}\int_{}^{}\frac{d^4k}{(2\pi)^4}\frac{tr[\gamma^\mu.((\not\! k-\frac{\not{q}}{2})+m_1).\gamma^\nu.((\not\! k+\frac{\not{q}}{2})+m_2)]}{((k-\frac{q}{2})^2-m_1+i\epsilon).((k+\frac{q}{2})^2-m_2+i\epsilon)}$$

where ##T_F## is the Dynkin index in the fundamental representation I get after contracting the generators and deltas.
What I'm having a hard time with is on how to explicitly write the Dirac indices in each gamma matrix and slashed momenta in order to get something of the sort, e.g, ##(matrix)_{ii}=tr(matrix)##.
 
Physics news on Phys.org
What is tr(AB) in terms of the components of A and B?

Also, I am unsure why you would want to write this out explicitly. It is far (far!) easier to use gamma matrix and trace relations to compute the trace.
 
There are some useful formulae for such traces in the appendix of Peskin&Schroeder. You can derive them by using the anticommutation relations of the Dirac matrices.
 
Orodruin said:
What is tr(AB) in terms of the components of A and B?

Also, I am unsure why you would want to write this out explicitly. It is far (far!) easier to use gamma matrix and trace relations to compute the trace.
I might have not been clear, I'm sorry. I do want to use the trace identities in order to do the calculations. I just wanted to write out the indices explicitly so I show clearly that the numerator is indeed a trace.
 
First the matrix product is (Einstein summation convention used)
$$(AB)_{ij}=A_{ik} B_{kj}$$
Then the trace is the sum of the diagonal elements. In the Ricci calculus you just have to set ##i=j## in the above formula (implying summation over ##i## then of course):
$$\mathrm{Tr}(AB)=A_{ik} B_{ki}.$$
 
I have written a Mathematica program called Package-X that can help you with your Dirac traces and loop calculation. I suggest after completing the calculation by hand, you check it with the output of Package-X.

Here is what the calculation might look like in your Mathematica notebook.

Trace-PackageX.png


Copy the following into a blank Mathematica notebook for editable code:
[CODE title="Trace-PackageX.nb"]Notebook[{

Cell[CellGroupData[{
Cell[BoxData[
RowBox[{"<<", "X`"}]], "Input",
CellLabel->"In[1]:=",ExpressionUUID->"d68acd69-9e6f-4b16-be40-73037f22b7d6"],

Cell[BoxData["\<\"\\!\\(\\*TemplateBox[List[\\\"\\\\\\\"Package-X v2.1.1, by \
Hiren H. Patel\\\\\\\\nFor more information, see the \\\\\\\"\\\", \
TemplateBox[List[\\\"\\\\\\\"guide\\\\\\\"\\\", \\\"paclet:X/guide/PackageX\\\
\"], \\\"HyperlinkPaclet\\\"]], \\\"RowDefault\\\"]\\)\"\>"], "Print",
CellLabel->
"During evaluation of \
In[1]:=",ExpressionUUID->"befefef7-2330-4488-a63e-82744427c722"]
}, Open ]],

Cell[CellGroupData[{

Cell[BoxData[
RowBox[{"Spur", "[",
RowBox[{
SubscriptBox["\[Gamma]", "\[Mu]"], ",",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"k", "-",
RowBox[{"q", "/", "2"}]}], ")"}], ".", "\[Gamma]"}], "+",
RowBox[{"m1", " ", "\[DoubleStruckOne]"}]}], ",",
SubscriptBox["\[Gamma]", "\[Nu]"], ",",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"k", "+",
RowBox[{"q", "/", "2"}]}], ")"}], ".", "\[Gamma]"}], "+",
RowBox[{"m2", " ", "\[DoubleStruckOne]"}]}]}], "]"}]], "Input",
CellLabel->"In[2]:=",ExpressionUUID->"c1fd717f-9d65-4d47-8be3-7152b8684d0b"],

Cell[BoxData[
RowBox[{
RowBox[{"8", " ",
SubscriptBox["k", "\[Mu]"], " ",
SubscriptBox["k", "\[Nu]"]}], "-",
RowBox[{"2", " ",
SubscriptBox["q", "\[Mu]"], " ",
SubscriptBox["q", "\[Nu]"]}], "+",
RowBox[{"4", " ", "m1", " ", "m2", " ",
SubscriptBox["\[DoubleStruckG]",
RowBox[{"\[Mu]", ",", "\[Nu]"}]]}], "-",
RowBox[{"4", " ",
RowBox[{"k", ".", "k"}], " ",
SubscriptBox["\[DoubleStruckG]",
RowBox[{"\[Mu]", ",", "\[Nu]"}]]}], "+",
RowBox[{
RowBox[{"q", ".", "q"}], " ",
SubscriptBox["\[DoubleStruckG]",
RowBox[{"\[Mu]", ",", "\[Nu]"}]]}]}]], "Output",
CellLabel->"Out[2]=",ExpressionUUID->"c7080a80-df67-433a-9f81-e826e245e4c9"]
}, Open ]],

Cell[CellGroupData[{

Cell[BoxData[
RowBox[{"%", "//", "TraditionalForm"}]], "Input",
CellLabel->"In[3]:=",ExpressionUUID->"a01137ae-5895-4b17-bb2d-77e1b5d0a83c"],

Cell[BoxData[
FormBox[
RowBox[{
RowBox[{"8", " ",
SuperscriptBox["k", "\[Mu]"], " ",
SuperscriptBox["k", "\[Nu]"]}], "-",
RowBox[{"4", " ",
SuperscriptBox["k", "2"], " ",
SuperscriptBox["\[ScriptG]",
RowBox[{"\[Mu]", "\[InvisibleComma]", "\[Nu]"}]]}], "+",
RowBox[{"4", " ", "m1", " ", "m2", " ",
SuperscriptBox["\[ScriptG]",
RowBox[{"\[Mu]", "\[InvisibleComma]", "\[Nu]"}]]}], "-",
RowBox[{"2", " ",
SuperscriptBox["q", "\[Mu]"], " ",
SuperscriptBox["q", "\[Nu]"]}], "+",
RowBox[{
SuperscriptBox["q", "2"], " ",
SuperscriptBox["\[ScriptG]",
RowBox[{"\[Mu]", "\[InvisibleComma]", "\[Nu]"}]]}]}],
TraditionalForm]], "Output",
CellLabel->
"Out[3]//TraditionalForm=",ExpressionUUID->"26103d2a-5388-4778-ab7e-\
3f50f76001f2"]
}, Open ]],

Cell[CellGroupData[{

Cell[BoxData[
RowBox[{
RowBox[{
RowBox[{"LoopIntegrate", "[",
RowBox[{
RowBox[{"Spur", "[",
RowBox[{
SubscriptBox["\[Gamma]", "\[Mu]"], ",",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"k", "-",
RowBox[{"q", "/", "2"}]}], ")"}], ".", "\[Gamma]"}], "+",
RowBox[{"m1", " ", "\[DoubleStruckOne]"}]}], ",",
SubscriptBox["\[Gamma]", "\[Nu]"], ",",
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{"k", "+",
RowBox[{"q", "/", "2"}]}], ")"}], ".", "\[Gamma]"}], "+",
RowBox[{"m2", " ", "\[DoubleStruckOne]"}]}]}], "]"}], ",", "k", ",",
RowBox[{"{",
RowBox[{
RowBox[{"k", "-",
RowBox[{"q", "/", "2"}]}], ",", "m1"}], "}"}], ",",
RowBox[{"{",
RowBox[{
RowBox[{"k", "+",
RowBox[{"q", "/", "2"}]}], ",", "m2"}], "}"}]}], "]"}], "/.",
RowBox[{
RowBox[{"m2", "|", "m1"}], "\[Rule]", "m"}]}], "//",
"LoopRefine"}]], "Input",
CellLabel->"In[4]:=",ExpressionUUID->"26c2c3b2-c443-45d6-985b-d7d5004495c0"],

Cell[BoxData[
RowBox[{
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{"-",
FractionBox[
RowBox[{"4", " ",
RowBox[{"DiscB", "[",
RowBox[{
RowBox[{"q", ".", "q"}], ",", "m", ",", "m"}], "]"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"2", " ",
SuperscriptBox["m", "2"]}], "+",
RowBox[{"q", ".", "q"}]}], ")"}]}],
RowBox[{"3", " ",
RowBox[{"q", ".", "q"}]}]]}], "-",
FractionBox[
RowBox[{"4", " ",
RowBox[{"(",
RowBox[{
RowBox[{"12", " ",
SuperscriptBox["m", "2"]}], "+",
RowBox[{"5", " ",
RowBox[{"q", ".", "q"}]}]}], ")"}]}],
RowBox[{"9", " ",
RowBox[{"q", ".", "q"}]}]], "-",
RowBox[{
FractionBox["4", "3"], " ",
RowBox[{"(",
RowBox[{
FractionBox["1", "\[Epsilon]"], "+",
RowBox[{"Log", "[",
FractionBox[
SuperscriptBox["\[Micro]", "2"],
SuperscriptBox["m", "2"]], "]"}]}], ")"}]}]}], ")"}], " ",
SubscriptBox["q", "\[Mu]"], " ",
SubscriptBox["q", "\[Nu]"]}], "+",
RowBox[{
RowBox[{"(",
RowBox[{
RowBox[{
FractionBox["4", "3"], " ",
RowBox[{"DiscB", "[",
RowBox[{
RowBox[{"q", ".", "q"}], ",", "m", ",", "m"}], "]"}], " ",
RowBox[{"(",
RowBox[{
RowBox[{"2", " ",
SuperscriptBox["m", "2"]}], "+",
RowBox[{"q", ".", "q"}]}], ")"}]}], "+",
RowBox[{
FractionBox["4", "9"], " ",
RowBox[{"(",
RowBox[{
RowBox[{"12", " ",
SuperscriptBox["m", "2"]}], "+",
RowBox[{"5", " ",
RowBox[{"q", ".", "q"}]}]}], ")"}]}], "+",
RowBox[{
FractionBox["4", "3"], " ",
RowBox[{"q", ".", "q"}], " ",
RowBox[{"(",
RowBox[{
FractionBox["1", "\[Epsilon]"], "+",
RowBox[{"Log", "[",
FractionBox[
SuperscriptBox["\[Micro]", "2"],
SuperscriptBox["m", "2"]], "]"}]}], ")"}]}]}], ")"}], " ",
SubscriptBox["\[DoubleStruckG]",
RowBox[{"\[Mu]", ",", "\[Nu]"}]]}]}]], "Output",
CellLabel->"Out[4]=",ExpressionUUID->"b84b5d35-33bc-4be1-97fe-7f6dcc187173"]
}, Open ]]
},
WindowSize->{676, 876},
WindowMargins->{{Automatic, 626}, {Automatic, 156}},
FrontEndVersion->"12.0 for Mac OS X x86 (64-bit) (April 8, 2019)",
StyleDefinitions->"Default.nb"
]
[/CODE]
 

Similar threads

Replies
3
Views
1K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 5 ·
Replies
5
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 1 ·
Replies
1
Views
1K