FeynArts Ps
FeynArts Ps
Hagen Eck
Sepp Kublbeck
Physikalisches Institut
Am Hubland
D-8700 Wurzburg
January 1991
Guide to FeynArts
Contents
Contents
0
Introduction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
The Structure of FeynArts : : 5
Acknowledgements : : 6
Installation : : 7
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
14
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
:
19
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
25
31
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
33
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
35
19
22
13
39
43
: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :
Guide to FeynArts
0 Introduction
0 Introduction
In high energy physics the interaction of matter and its mediating forces is successfully described in consistent field theoretical models. For the evaluation of these theories perturbative methods have become wellestablished. A systematic and very beautiful approach to perturbation theory was provided by R. Feynman, who introduced the concept of Feynman graphs and Feynman rules. Physical observables like cross
sections or decay rates are expressed in terms of Feynman graphs in a very concise way. These graphs can
be classified with one look and allow the organization of complex calculations such as the determination
of higher order corrections with a renormalization procedure. However, in a non-trivial model a calculation beyond tree level quickly becomes tedious and very susceptible to errors. This is valid for finding all
Feynman graphs and amplitudes, and even more for the evaluation of the amplitudes. Therefore many
efforts have been made to automatize this procedure with computer algebra programs.
FeynArts is a package for users in high energy physics who want to calculate differential cross sections
and decay rates for processes in field theories using the approach with Feynman graphs. The package creates Feynman graphs and analytical expressions (amplitudes) for S-matrix elements and truncated Green
functions in renormalizable quantum field theories. It consists of several sub-programs each of which is
written as general as possible. Programmed in Mathematica [1] FeynArts can generate multi-loop topologies, insert fields into them and is not restricted to a certain model (it only has to be renormalizable). FeynArts is based on algorithms that can handle complex models and it has sophisticated graphics facilities.
FeynArts produces graphical and analytical output. The graphics output are usual Mathematica graphics objects that can be printed on screen or printer or saved in a graphics file. The analytical output is a
direct translation of generated Feynman graphs according to the given Feynman rules of a model. Since
in order to produce numerical results further evaluation of these expressions is necessary, the analytical output is given in a form suitable for direct evalutation with the program package FeynCalc [5].
Anyone who knows the basic principles of Mathematica, e.g. how to assign an expression to a variable,
will be able to produce graphs and amplitudes. Those who are familiar with Mathematica can manipulate the generated output of each function with standard methods (selecting subsets of lists, join results of
different calculations etc.). Entering a new model already requires some routine in using Mathematica. In
particular the use of the blank (written _) in patterns should be known.
In this manual we use the same conventions as in the Mathematica manual:
Text in Typewriter style is literal input which has to be typed as printed (e.g. function names).
Text in Italics are expressions, the user has to fill in (e.g. function arguments).
Earlier versions of FeynArts and its algorithms have already been described in [2, 3]. Part of this manual
extended by the description of the insertion algorithm, tests and CPU-times for the program as well as
further references is contained in [4] and will also be submitted to Computer Physics Communications.
Guide to FeynArts
After loading the package in a Mathematica session with <<FeynArts.m or within the init.m file1 (see
installation) the following functions perform the necessary operations to obtain Feynman graphs and amplitudes:
1. First the desired set of topologies must be generated with CreateTopologies .
2. With InsertFields the lines of the topologies are occupied with particles thus creating the Feynman graphs in list form.
3. The Feynman graphs can be drawn on screen or paper by applying Paint to the output of
InsertFields.
4. CreateFeynAmp applied on these graphs yields the corresponding analytic expressions according
to the given set of Feynman rules.
For each of the four FeynArts-functions like for many Mathematica functions Options can be given.
The default options of a function are displayed with Options[function] and for the current session set
with SetOptions[function, option -> value]. Usually they are set with each call of a function by appending them to the other arguments: function[args, option1, option2, ... ]. If in a special case an option
is of no physical relevance then this option must not be set.
As evaluations for graphs beyond tree level normally take several minutes screen messages are supplied when running the FeynArts functions (except CreateTopologies ). These messages can be suppressed with the option ScreenMessages . In this case the suppressed output is pumped into the FeynArts
null device FeynArts.log in the work directory.
We have tried to restrict the possibilities to run FeynArts as little as possible. It should do its job on any
computer system where Mathematica 2.0 is available. Furthermore the user is free to copy FeynArts into
the directory of his choice as long as he or she takes care that this directory is on the Mathematica search
path (see installation).
Since FeynArts is a public domain package, we cannot guarantee that it will work correctly under any
circumstances. If any problems occur we recommend that the user starts a new Mathematica-session and retries the same calculation. If this doesnt help, we are grateful for problem reports sent by mail or e-mail to:
Hagen Eck, Sepp Kublbeck
Physikalisches Institut
Universitat Wurzburg
Am Hubland
D-8700 Wurzburg
e-mail: eck@vax.rz.uni-wuerzburg.dbp.de
kue@vax.rz.uni-wuerzburg.dbp.de
We also welcome any suggestions about how to improve the package in general.
You may make and distribute copies of FeynArts provided the code of the distributed copies is identical to the original code of FeynArts. Please make sure that the users you give FeynArts to, have access to a
FeynArts manual.
0.2 Acknowledgements
We thank Manfred Bohm and Ansgar Denner for decisive ideas when we developed the algorithms. Our
patient -testers Arnd Kraft and Dirk Michelsen, and especially Rolf Mertig and Georg Weiglein have deserved a big well-done. Thanks to Markus Wendel who made up the name FeynArts. We greatly appreciate the courtesy of the whole team of Wolfram Research and we thank Stephen Wolfram very much for
1
Throughout this manual except in the sample run it is assumed that FeynArts was loaded with the init.m file.
0 Introduction
the pleasant stay. Expert hints from Tom Wickham-Jones and Joe Kaiping helped us improve the graphics of FeynArts and the layout of this manual.
0.3 Installation
The most important point for FeynArts to work properly is that Mathematica finds the FeynArts functions.
We suggest to open a directory feynartsdir for FeynArts and its subdirectories and to set a path from the directory where one wants to work to feynartsdir before loading FeynArts. In order to do this the following
line must be typed in at the beginning of each FeynArts session or into the Mathematica init file init.m (or
one has to open one containing this command) in the work directory:
$Path = Append[$Path,feynartsdir]
(where feynartsdir has to be a string, i.e. in quotation marks). This assures that no files with batch jobs or
results in the work directory will interfere with FeynArts files.
For graphics output on screen the appropriate driver which is delivered with Mathematica must be
loaded. This is done e.g. with <<Tek.m for a terminal with tektronics facilities and with <<X11.m for a Xwindow terminal. Usually Mathematica does this automatically.
A little initialization concerning the particle labels in FeynArts graphics might be adequate in order to
make full use of the users graphics resources. To this end the main file FeynArts.m must be edited. It
contains eight font specifications for the particle labels in the Feynman graphs which are self-explaining.
A short description is given in appendix A-1. Users who enter their own models have to adapt the model
variables in FeynArts.m (see appendix A-2). For the generation of diagrams with infrared singularities
we have entered a photon mass MLA in the model files. We have set MLA to zero in FeynArts.m and we
have kept this throughout this manual. Users who want to do calculations with finite photon mass have
to omit the corresponding line. Finally FeynArts.m contains the loading commands for the FeynArts subprograms.
Instead of loading FeynArts every time one calls Mathematica from the work directory one can add the
command <<FeynArts.m in the Mathematica init file init.m of the work directory. Then the package is
loaded automatically when starting a Mathematica session.
Guide to FeynArts
The creation of topologies is done iteratively from topologies with less external legs e0 < e. (For a detailed description of the algorithm see [2, 3]). Therefore the complete set of start topologies with l loops
and the minimum of external legs has to be entered before, following some conventions described below.
This was already done for tree graphs (fig.1a), one-loop graphs (fig.1b) and two-loop graphs (fig.1c-e).
Here the topologies with two legs and
one loop are generated (self-energies).
In[1]:= CreateTopologies[1,2]
Out[1]= TopologyList[Topology[2][Propagator[l1][v3[1], v3[1]],
Propagator[ex][e[1], v3[2]], Propagator[in][v3[2], v3[1]],
Propagator[ex][e[2], v3[2]]],
Topology[2][Propagator[l1][v3[1], v3[2]],
Propagator[l1][v3[2], v3[1]], Propagator[ex][e[2], v3[2]],
Propagator[ex][e[1], v3[1]]],
Topology[2][Propagator[l1][v4[2], v4[2]],
Propagator[ex][e[1], v4[2]], Propagator[ex][e[2], v4[2]]]]
From these examples it is easy to see the internal representation of a topology: a set of Propagators is
collected inside an object with head Topology[s]. The index s in the head of a topology denotes the inverse of the combinatorial factor of this topology. How this factor is constructed is discussed in [3]. The
combinatorial factor becomes important when constructing the Feynman amplitudes. As their arguments
the Propagators carry the two points they connect and an index that distinguishes their types. Possible
types of propagators are ex (for external propagators), in (for internal propagators) and l1,l2,l3,...
(for loop propagators). External points are denoted by e, three-vertices by v3 and four-vertices by v4.
2
On a DEC5000 we have done up to 6 external legs for one-loop and up to 5 external legs for two-loops.
Guide to FeynArts
10
(a)
(b)
(c)
(d)
(e)
Fig.1 start topologies for tree (a), one-loop (b) and two-loop (c,d,e) topologies
For calculations beyond tree level even within a class of graphs with fixed numbers of loops and external legs one is usually interested in subsets which form building blocks for the whole evaluation together
with the corresponding countergraphs. To allow this several options can be chosen.
option name
default value
Tadpoles
True
SelfEnergies
True
Triangles
True
Boxes
True
WFCorrections
True
Theta
True
Eight
True
Bicycle
False
Options of CreateTopologies
11
Topol 1 -> 2
Top.1
Top.2
Top.3
Top.4
We think that for most computations in the electroweak standard model, the model for which FeynArts
was originally designed, two loops are sufficient. How CreateTopologies can be applied to three and
more loops is discussed in the following.
...
( usages are ommited here )
Guide to FeynArts
12
Begin["`Private`"]
(** start-Topologies **)
tt = Topology[1][ Propagator[ex][e[1],v3[1]],
Propagator[ex][e[2],v3[1]],
Propagator[ex][e[3],v3[1]] ];
o1 = Topology[2][ Propagator[l1][ v3[1] , v3[1] ],
Propagator[ex][ e[1] , v3[1] ] ];
(** recursive construction of topologies **)
ConstructTopologies[0,3] = TopologyList[tt];
ConstructTopologies[1,1] = TopologyList[o1];
ConstructTopologies[loops_ , ext_Integer] :=
TopologyList[ Map[ AddOne[#1,ext]& ,
ConstructTopologies[loops,ext-1 ] ] ] ;
(** main function, checking options **)
CreateTopologies[l_ , n_Integer, options___ ] :=
CreateTopologies[l, n, options ] =
Module[.....
(etc.)
(* ---------------------------------------------------------- *)
This shows some parts of the beginning of this file which are essential. There are two main functions:
the function CreateTopologies that is called by the user and an internal function ConstructTopologies
that does all the iterative work.
It is easy to see how higher loop topologies can be added to this:
Define start topology (or topologies) in the form:
Topology[ combfactor ][ prop1, prop2, ...
with type out of l1, l2, l3, ... for a loop propagator or ex for an external propagator.
The points are of the form v3[n] or v4[m] for 3- and 4-vertices respectively.
Important: the indices of vertices that are not connected to external lines have to be negative in the
start topologies to avoid multiple production of identical topologies!!
The start topologies are used as entries to the function ConstructTopologies:
ConstructTopologies[ x, y ]
where x stands in FeynArts for the number of loops and y for the number of external legs.
When all things are set up correctly then CreateTopologies should be able to generate all topologies
with more than y external legs out of the set of start topologies.
The x in the definition of the start topologies, though used in FeynArts to denote the number of loops
in a topology, is nothing but a label to distinguish the start topologies. It can also be used to generate subsets of topologies, e.g. via
ConstructTopologies[ Global`a, 0 ]
...
ConstructTopologies[ Global`b, 0 ]
...
We invite all users to make their own experiments with the program as long as they re-distribute it only
in the form they obtained it.
13
To fulfill c) the inner lines must be occupied with fields in accordance with the considered model.
If the model exists in form of one or more files model.mod in the subdirectory Models, the insertions for a given list of external particles extlist into a given list of topologies toplist are performed by
InsertFields[top, ext].
InsertFields[ top, ext, Model->{mod1, mod2, ...
} ]
top can be a single topology or a list of topologies. However, its form must closely follow the conventions described in the previous section, so it is safe to produce it with CreateTopologies .
Topology[ prop, ...
ext must be a rule of the form {field 1,... , field i} -> {field i+1,... , field n}, where the first list contains the incoming and the second list the outgoing fields. These fields must have the same names as in
the file model.mod otherwise FeynArts will not accept them as valid external particles. The models entered by us comprise all particles of the full standard model (electroweak and QCD). Their field codes
which have to be used in InsertFields are given in appendix A-1.
Guide to FeynArts
14
15
-->
e
W
W
e
Top.1 Ins.1
Top.1 Ins.2
e
Z
e
Z
e
Top.1 Ins.3
Out[3]= {-FeynArtsGraphics-}
Top.1 Ins.4
Z
e
Guide to FeynArts
16
option name
default value
Model
{SM}
Generation1
True
Generation2
True
Generation3
True
ElectronHCoupling
True
couplings off
LightFHCoupling
True
False
UnitaryGauge
False
RemoveEmptyTops
True
ScreenMessages
True
ProcessName
Automatic
Options of InsertFields
Most of the options of InsertFields are for imposing constraints on the available models, like omitting certain groups of particles or neglecting couplings.
There are three options Generation1, Generation2 and Generation3 selecting the desired set of
fermion generations. They apply to SM, QCD, QED and QE but not to QC of course.
17
With three other options subsets of the couplings of the SM, which are usually negligible in the high energy domain, can be put to zero: There is an option QuarkMixing which sets the quark mixing matrix equal
to Identity by default. Set to True it introduces a mixing matrix with entries QMMij between quark i and
quark j. ElectronHCoupling and LightFHCoupling neglect the small couplings ( mf =mW ) of the Higgs
fields to electrons and to all light fermions, respectively. (Please note that LightFHCoupling->False
overrules ElectronHCoupling->True !) Of course this leads in general to a smaller amount of graphs.
The same is valid if one sets UnitaryGauge to True in the SM, the only model where this option applies.
Then all unphysical fields (unphysical Higgs and Faddeev-Popov ghosts) will not appear and the Feynman rules are changed in the appropriate way. If set to False the Feynman rules are retained in t Hooft
gauge. In this case one can set an option called FeynmanGauge when applying CreateFeynAmp to create
the Feynman amplitudes (see section 4.1) in t Hooft-Feynman gauge.
The other options serve to design the output. At the end of the insertion procedure RemoveEmptyTops
discards by default all topologies for which no Graphs were found. If the user has produced and maybe
Painted a list of topologies (see section 3.1) and wants to keep track of the corresponding numbers in the
TopologyList he can set RemoveEmptyTops to False.
ProcessName should be a short name for the process. (It appears with appropriate indices with
the Feynman graphs and amplitudes when applying Paint and CreateFeynAmp.) If no name is specified InsertFields automatically extracts a name from the particle codes of the external particles (see appendix A-1) by omitting the square brackets and inserting a "a" (for antiparticle) for each field with negative index. So the decay of W-boson, in our code:
V[3] -> F[1] + F[-2]
18
Guide to FeynArts
19
] ]
Since Paint has to know how many incoming and outgoing lines the drawn topology should have, one
has to specify those when drawing bare topologies, i.e. for topologies produced by CreateTopologies
the syntax is Paint[ expr, n, m ], where n and m are the numbers of incoming and outgoing lines, respectively.
For drawing Feynman graphs produced by InsertFields no further specification is needed since the
inserted topologies contain all information about the process.
Guide to FeynArts
20
option name
default value
GraphsPerRow
RowsPerSheet
ScreenOutput
True
PSFileOutput
True
ScreenMessages
True
AutoEdit
False
FullNumbering
False
GrayBackground
False
ShowGrid
False
ShowPointNames
False
PropagatorThickness
Automatic
VertexSize
Automatic
Options of Paint
The graphs are drawn in RowsPerSheet rows of GraphsPerRow graphs. Each graph is captioned with
two numbers for the current topology and insertion, respectively. The option FullNumbering allows to
add a third number which tells the position of the current graph in the total of all graphs. When applied
to a single inserted topology (without head TopologyList), Paint will omit the header for each printed
sheet and will label the graphs only as Ins.m.
If option PSFileOutput is set to True, a pre-postscript file with the name ProcessName.gra is created
in the current work directory. The name of this file can be changed using the option ProcessName in
InsertFields. For instructions how to print the graphics output (directly or via graphics file) we refer
to the Mathematica Users Guide for the various machines.
The output of the graphs to screen can be suppressed by setting ScreenOutput to False. Again with
ScreenMessages the messages on screen can be avoided. If a topology comes up for which no graph
points are found these can most easily be entered with FeynEdit as described in the next section. This
edit mode is automatically entered when the option AutoEdit -> True is added. Otherwise the corresponding Feynman graphs in the output are replaced by a few question marks.
A few other less important options are implemented and listed in the table for the options of Paint.
21
Top.1
Top.2
Top.3
Top.4
Guide to FeynArts
22
-->
g
u
u
u
Top.1 Ins.4
g
u
u
u
u
g
Top.1 Ins.3
u
u
u
u
Top.1 Ins.2
Top.1 Ins.1
u
u
u
g
Top.1 Ins.5
tree level:
one-loop level:
two-loop level:
1 ! 1, 1 ! 2, 2 ! 2
1 ! 1,
So for most of the other topologies to be drawn, the point information must be added. (Among other
things the authors of FeynArts want to give its users the opportunity to be a little bit creative.)
FeynEdit is a simple interactive procedure that provides the user with editing functions for shaping
topologies. The syntax of FeynEdit ressembles the syntax of Paint:
FeynEdit[ expr ]
FeynEdit[ expr, n, m
The major difference between the arguments of Paint and FeynEdit is that only single topologies (inserted or not) fit as arguments of FeynEdit. If the user wishes to edit a complete list of topologies, he has
to map FeynEdit on this list, i.e. use it in the form FeynEdit/@ expr when expr is a list of inserted topologies or FeynEdit[#,n,m]& /@ expr when expr is a list of bare topologies (n,m numbers of incoming and
outgoing particles respectively).
23
A much more comfortable way using FeynEdit is to call Paint with the option AutoEdit -> True.
As soon as an unknown topology occurs, Paint stops the program execution and invokes FeynEdit. (Of
course this only makes sense when using Paint interactively.)
When FeynEdit is started, it draws the topology placing the vertices on a grid of dimensions 20 20.
The grid is also shown in the picture as well as the internal names of the vertices and centerpoints of the
propagators. For a topology that is already known to FeynArts (i.e. that has already been treated with
FeynEdit before) this would look as follows:
The grid for fixing the vertexpoints is
shown as well as the names of the vertex
points and the numbers of the centers of
the lines.
c[2]
v3[-1]
c[4]
v3[2]c[7]
v3[1]
c[5]
c[6]
c[1]
v3[-2]
c[3]
For an unknown topology, FeynEdit puts the vertices on random sites on the grid. The location and
the shape of the propagator lines are specified by the coordinates of the end points and the location of its
center (midpoint of the line). This center can be fixed by its coordinates or by its displacement from the
midpoint of the straight line connecting the two vertices. All coordinates must be entered in units of the
grid with size 20 20. Like in the graphics the vertices are denoted by v[n] and the center points by c[n]
with integer numbers n.
The user is asked to do something with the current topology. This is symbolized by the prompt
FeynEdit>. Any action consists of at least one small letter followed by the Return-Key. Some of them
(like vertex-shift) prompt for additional information. The possible actions are:
c (center): choose coordinates of center of line. FeynEdit first prompts for the name of the center
you wish to fix, then for the values of x- and y-coordinates.
d (displacement): determine curvature of the line by choosing the displacement. (This is the distance of the midpoint of the arc to the midpoint of the straight line connecting the two vertices.) After specifying the center of the line, FeynEdit prompts for the value of the displacement.
Remark: FeynEdit computes the location of the center point from a given displacement. It is not
possible to do this, when the propagator line ends at the same point where it started (tadpoles) and
d will not work in this case.
f (file): save the complete graphics information in a file. On some computer systems this doesnt
work. In this case you have to save the graphics information function by hand. To do this type
Guide to FeynArts
24
Unix
3
If one stores the points by hand (with this method) under a different name, one can of course have different versions of the same
topology available.
25
Arguments of CreateFeynAmp.
The rules in the head of the topologylist (rule1, rule2,... ) contain the complete information about the
model in which the graphs were generated as well as the information about the external particles and the
process name. So no further arguments and specifications are needed. Therefore CreateFeynAmp cannot
be applied to single topologies which do not carry the required head TopologyList[...] .
The output is in a form that is easy to work on with FeynCalc. If the Feynman rules of the used model
are entered like for the standard model (see appendix B) it consists of three parts: The non-commuting
part containing Dirac and Gell-Mann matrices, the denominator of the scalar integral and the rest consisting of the coupling constants, symmetry factors, and Lorentz tensors.
option name
default value
ScreenMessages
True
Truncated
False
FeynmanGauge
True
$DDimension
False
choice of prefactor
Options of CreateFeynAmp.
The ScreenMessages option allows to suppress the coded messages that are displayed during program execution: A row of j points is shown if the Feynman graphs of the jth topology are translated. A
bar | marks the place where the row of points for the last topology will end. Behind it appears a number indicating how many insertions the topology has which is currently worked on. It is a measure for
the time the translation takes.
If the graphs were produced by InsertFields in the (non-unitary) t Hooft gauge one can set the
gauge parameters (i); i =
; Z; W equal to 1 with the option FeynmanGauge. Of course this means that
one chooses the t Hooft-Feynman gauge.
Guide to FeynArts
26
The option $DDimensions sets the value of the prefactor of every Feynman graph. In $D dimensions
4 $D
it is ( (2)$D )(loops) else it is ( 21 )4(loops) (in 4 dimensions).
Let us create some simple topologies,
those contributing to the one-loop self
energy.
Out[1]= 3
In[5]:= amp[[10]]
2
Out[5]= FeynAmp[G1G1, T2, I2, N10][-(GS Integral[q1]
tr[la[gi4] . la[gi2]]
tr[(MT + gs[-p1 + q1]) . ga[li4] . (MT + gs[q1]) .
4
2
2
2
2
ga[li2]]) / (64 Pi (-MT + (p1 - q1) ) (-MT + q1 ))]
In[6]:= amp[[2]]
Out[6]= FeynAmp[G1G1, T1, I2, N2][0]
The momenta of the i incoming particles are called p1,...,pi, the momenta of the j outgoing particles are
called k1,... ,kj. For conventions and physical content of the used symbols see appendix C. For each loop
a momentum qn is introduced ( n = 1; ... ; loops).
The output of Out[5] in the example above is not the internal representation of a Feynman amplitude. What Mathematica printed on the screen is just a user friendly decryption of a somewhat lengthy
but FeynCalc-friendly internal expression (see next section).
27
In[1]:= tt = CreateTopologies[1,3,WFCorrections->False];
-->
Z
e
Top.1 Ins.1
Top.1 Ins.2
W e
Z
W
Top.1 Ins.3
Z
e
Guide to FeynArts
28
29
ie3
(p1)g
324 cw s3w
(k=[(q++q= k)
)
1
!
2
!
u(k1 )
2
d q1 2
(q1 m2Z )
4
!
p=1 + q=1 )
2 v(k2)
m2e ][(q1 + k1 p1 )2 m2e ]
(k=1
Out[5]//InputForm=
FeynAmp[GraphName[V2F2aF2, T1, I2, N2], q1,
(-I/16*EL^3*LeptonSpinor[k1, 0] . DiracMatrix[li3] .
(ChiralityProjector[-1]/2) . DiracSlash[k1 + q1] .
DiracMatrix[li2] . (ChiralityProjector[-1]/2) .
DiracSlash[k1 - p1 + q1] . DiracMatrix[li4] .
(ChiralityProjector[-1]/2) . LeptonSpinor[-k2, 0]*
FeynAmpDenominator[PropagatorDenominator[q1, MZ],
PropagatorDenominator[k1 + q1, 0],
PropagatorDenominator[k1 - p1 + q1, 0]]*
MetricTensor[li3, li4]*PolarizationVector[p1, li2])/
(CW^3*Pi^4*SW^3)]
The list of amplitudes contains the variable Process which specifies the external particles and their
associated variables. It contains the momenta and masses of the external particles. Overall momentum
conservation is obeyed in the form:
incoming momenta =
P outgoing momenta.
This additional information is necessary for the further evaluation of the matrix elements, e.g. by FeynCalc. FeynCalc is a package that is already adapted to the internal representation of FeynArts. We give the
complete list of translation rules for the built-in objects in appendix A-3.
30
Guide to FeynArts
5 A Sample Run
31
5 A Sample Run
In this section we show the run for creating all triangle and box one-loop graphs with the corresponding
amplitudes for e+ e ! ZH in the electroweak standard model without quark mixing. It was this run we
used to calculate the radiative corrections to the cross section for ZH-production [4]. As the result is very
lengthy, we suppress the output with the Mathematica standard supplying ; at the end of most commands.
Loading the package.
In[1]:= <<FeynArts.m
FeynArts 1.0 for Mathematica 2.0 (October 1991)
by Hagen Eck and Sepp Kueblbeck
[additional packages being loaded]
Out[3]= 36
.
|(78)
..
|(5)
...
|(5)
....
|(6)
.....
|(2)
......
|(2)
.......
|(2)
........ |(2)
......... |(4)
..........|(2)
Appendix
32
e +
e
e
Z
WH
e
W
Top.7 Ins.2
e W
W Z
e
Top.9 Ins.1
e
e
e
W
Top.8 Ins.1
Z
H
Z
e
W e
Z
H
e
e
Top.9 Ins.4
Z +
-->
W
W
e
W
Top.8 Ins.2
Z
e
Z e
e Z H
e
Top.9 Ins.3
e e
e W
e
Z
Top.10 Ins.1
e
e
Z
e
e
e Z H
e
Top.9 Ins.2
e e
e
W
Top.10 Ins.2
The whole run takes less than ten minutes on a DEC 5000 or a NeXTcube. The saved graphs can be
printed on a laser printer and the amplitudes can be evaluated with FeynCalc.
33
photon
V[3]
W -boson
G[1]
gluon
V[2]
Z-boson
V[-3]
W + -boson
F[-1]
positron
F[-2]
e-antineutrino
F[-3]
anti-u-quark
F[-4]
anti-d-quark
F[-5]
anti-
F[-6]
-antineutrino
F[-7]
anti-c-quark
F[-8]
anti-s-quark
F[-9]
anti-
F[-10]
-antineutrino
fermions:
e
F[1]
electron (e)
F[2]
e-neutrino
F[3]
u-quark
F[4]
d-quark
F[5]
muon ()
F[6]
-neutrino
F[7]
c-quark
F[8]
s-quark
F[9]
tauon ( )
F[10]
-neutrino
F[11]
t-quark
F[-11]
anti-t-quark
F[12]
b-quark
F[-12]
anti-b-quark
F[I]
toy-quark
F[-I]
toy-antiquark
U[-1]
photon-antighost
uZ
U[-2]
Z-antighost
u-
U[-3]
W -antighost
u+
U[-4]
W + -antighost
ug
U[-5]
gluon-antighost
e
u
d
c
s
photon-ghost
U[2]
Z-ghost
U[3]
W -ghost
U[4]
W + -ghost
U[5]
gluon-ghost
u
uZ
uu+
ug
scalar bosons:
S[1]
S[2]
S[3]
S[-3]
Table A.1: Particle codes and graphical representation. The direction of the particle propagation is from left to right.
Table A.1 gives the codes and graphical representations for all particles defined in the model files:
Appendix
34
model
QC
QCD
QE
QED
SM
vector bosons
G
G
, Z, W
fermions
q
u, d, c, s, t, b
e, ,
e, u, d, , c, s, , t, b
e, e , u, d, , , c, s, , , t, b
ghost fields
uG
uG
u , uZ , u+ , u
scalar fields
H, ,
The first of the three (sub)columns in table A.1 gives the particle code as it is used in the internal
FeynArts representation and as it has to be entered when specifying the external particles in the function
InsertFields. We have chosen to give members of a particle-antiparticle pair opposite signs in the arguments. The user who enters his own model does not have to follow this convention. What he should stick
to, however, are the heads of the particle code. So particles with heads F (fermions) have non-commuting
Feynman rules, they and particles with heads U (Faddeev-Popov ghosts) get "" signs for closed loops and
permutations of external legs. Fields with heads V and G (vector bosons) receive Lorentz or Lorentz and
gluon indices, respectively. The remaining (scalar) particles carry a head S.
The center column contains the standard model names of the fields. The right column gives their
graphical representation within FeynArts, where the specified particle propagates from left to right. The
propagators of the particles will appear in this way if the output device has the Symbol-font.
As many systems do not support symbol fonts on screen we have set the $ScreenTextFont and
$ScreenSymbolFont to a 10 point Courier font by default. If you want to change the font defaults you
have to edit the file FeynArts.m. In this file eight font variables can be specified right after the release
notes. Those beginning with $Small are for subscripts and should be of a size of about 7 or 8 points
whereas the normal size can be 9 or 10 points. ..TextFont determines which font is used for latin letters,
whereas ...SymbolFont does the same for greek letters. If the available symbol font has different assignments for greek letters the values of the function LineSpec has to be changed accordingly in the model
files.4 Screen and Printer specify the output form for which the font is for.
The different forms of lines and the subscripted variables will appear in any case, however, if your output device does not have a font with Greek letters it will return mnemonic latin letters. The translation
rules for this are also given (and can be changed) in FeynArts.m. We suggest the following replacements
and we have entered them in FeynArts.m:
Particle
'
is denoted by
A
n
m
l
x
fi
4
At this point we wish to remind you that if you change something in FeynArts.m or the model files or any other files, be sure
that a redistributed version of FeynArts consists only of the original files!
35
Appendix
36
we have entered are given in appendix A-3. So e.g. me and el stand for electron mass and elementary
charge, respectively.
For eQED in t Hooft-Feynman gauge we would enter:
PropList[eQED] =
{
Prop[in][ F[-1],F[1],P_ ] ==
PV[ NonCommutative[ DiracSlash[P] + me ]
I PropagatorDenominator[P,me] ],
Prop[ex][ F[ 1],P_ ] ==
PV[ NonCommutative[ LeptonSpinor[P,me] ] ],
Prop[in][ V[1,li1_],V[1,li2_],P_ ] ==
PV[ - MetricTensor[li1, li2]
I PropagatorDenominator[P,0] ],
Prop[ex][ V[1,li_],P_ ] ==
PV[ PolarizationVector[ P,li ] ],
(direction of momentum)
!
i(=p + me )
p2 m2e
u(p; me ); v( p; me )
u(p; me ); v( p; me )
n
n
e
e
e
ig
p2
(p), (p)
};
CoupList[eQED] =
{
Coup[{V[1,li_],P1_},{F[-1],P2_ },{F[1],P3_}] ==
PV[ NonCommutative[DiracMatrix[li]], I*el ]
};
ie
e
e
For the vertices the sequence of the particles is arbitrary. All momenta pi are counted incoming. For
the propagators the rules are the following: In the internal propagators (Prop[in]) the right particle (second argument) is propagating in the direction of its momentum p, the left particle (first argument) must
be the appropriate antiparticle. For all wave functions (Prop[ex]) of a particle-antiparticle pair only one
Feynman rule has to be entered, the one for an incoming particle or antiparticle. In the case of bosons
outgoing fields get the complex conjugate wave function. For fermions in general four different wave
functions exist. Again only the Feynman rule for an incoming fermion or antifermion must be given (as
shown for the electron in the example above). How the different wave functions for incoming/outgoing
fermion/antifermion are distinguished is described in appendix A-3. internal form (and a v instead of a
u in the output form).
If FeynArts is to draw different sorts of lines with particle labels, the corresponding specifications have
to be made. Each particle gets three attributes: the type, the direction and the label of the line. Allowed
line types are straight, wavy, cycloid, dashed and dotted, allowed directions are forward, backward
and none. For eQED we enter:
LineSpec[ F[ 1] ] = { straight,forward ,"e"; g
LineSpec[ F[-1] ] = { straight,backward,"e" ; g
LineSpec[ V[ 1] ] = { wavy,none,Greek["g"] }
In order to make FeynArts use Greek or subscripted labels in the Feynman graphs the functions Greek
and Sub are provided. To get the desired Greek letter you have to give its equivalent in Courier font as
done above for the "
" for the Symbol font.
Greek[ string ]
Sub[ string1, string2 ]
37
38
Appendix
39
A-3.1 Conventions
We have chosen the conventions such that the appearance of the factors i=(2)4 is minimized. Consequently
all propagators, vertices and wavefunctions are free of these factors but every loop integral carries a fac(4 $D)N
4 $D
tor 1=(2)4 (or (2)$D in $D dimensions). This results in a global factor 1=(2)4 N (or (2)$DN ) for an N-loop
graph. Every propagator and vertex contributes a factor i. In order to obtain real S-matrix elements (apart
from absorptive parts in higher orders) we multiply each Feynman diagram by a factor i. This factor
i and the external wavefunctions are omitted for truncated amplitudes (option Truncated set to True).
The overall momentum conservation delta-function is understood implicitely and not given explicitely.
Apart from extra minus signs for closed fermion and ghost loops Feynman diagrams which differ by
permutations of the external fermion lines get relative minus signs. These are fixed as follows. The incoming particles are numbered from 1 to i, the outgoing ones from i + 1 to n. Every outgoing spinor or incoming antispinor is connected via fermion lines to an incoming spinor or outgoing antispinor. This defines
the spinor chains. Writing all the spinor chains of a given Feynman diagram in an arbitrary order fixes a
sequence of particle numbers corresponding to the spinors. If this sequence differs by an odd permutation
from the numerically ordered sequence of all particle numbers associated with fermions the graph gets
an extra minus sign, otherwise not. For example consider a graph with four external fermions with particle numbers f1; 2; 3; 4g. Let the spinor chains be u(particle3) . . . v(particle2) v(particle1) . . . u(particle4).
This gives the sequence f3; 2; 1; 4g which is an odd permutation of f1; 2; 3; 4g. Consequently this graph is
multiplied with a minus sign.
output form
translation
lin
g[lin,lim]
ep[pi,lij]
Appendix
40
output form
translation
DiracMatrix[lin]
DiracMatrix[5]
ChiralityProjector[+1]
ChiralityProjector[-1]
DiracSlash[expr]
DiracTrace[expr]
ga[lin]|
ga[5]
(1+ga[5])/2
(1-ga[5])/2
gs[expr]
tr[expr]
LeptonSpinor[pi,mj]
u(pi,mj)
v(pi,mj)
u(pi,mj)
v(pi,mj)
QuarkSpinor[pi,mj]
A spinor (LeptonSpinor or QuarkSpinor) is translated considering the sign of its momentum pi and its
position in a Dot-product (spinor chain). The sign of the momentum always indicates its direction with
respect to the flow of fermion number:
spinor[ p,m] expr =
spinor[-p,m] expr =
u(p)
v(p)
u(p)
v (p )
output form
gia
gia
SU3Delta[gia,gib]
d[gia,gib]
SU3F[gia,gib,gic]
GellMannMatrix[gia]
GellMannTrace[expr]
f[gia,gib,gic]
la[gia]
tr[expr]
translation
gluon index: gia = 1... 8 for the SU(3) a 2 N
1; gia = gib
Kronecker symbol gia;gib =
0; else
structure constants f gia;gi b;gic of the SU(3)
the Gell-Mann matrix gi a
trace over products of Gell-Mann matrices
contained in expr
41
A-3.5 Miscellaneous
internal form
output form
PropagatorDenominator[pi,ma]
Mu
GaugeXi[f]
pi2 ma2
Integral
[q[1],...] expr
Mu
xi[f]
$D
QMMij
$D
QMMij
Conjugate[QMMij]
pi
ki
qi
QMM(*)ij
pi
ki
qi
FeynAmpDenominator[expr]
translation
Rpi
1
2
ma2
Pi : = 3:1415 . . .
In FeynArts all parameters are written with capital letters so that they can be directly fed into a standard fortran program (after having worked on the output with FeynCalc.
EL : elementary charge GS : strong coupling constant SW,CW : sine and cosine of the weak mixing angle
Masses:
ME : electron
MU : up-quark
MD : down-quark
MZ : Z-boson
MQ : toy-quark
MM : muon
MC : charm-quark
MS : strange-quark
MW : W-boson
ML : tauon
MT : top-quark
MB : bottom-quark
MH : physical Higgs
42
Appendix
AntiParticle CoupList
43
AntiParticle
AntiParticle[mod][part] gives the anti-particle of part in the model mod.
mod is a descriptive symbol that includes the values of the model options in binary code.
AntiParticle doesnt work
The initialized models mod can be called with InitializedModels.
before the specified model is initialized.
AutoEdit
AutoEdit is an option for Paint.
Calling Paint with the option AutoEdit -> True will cause Paint to stop program execution and invoke FeynEdit
whenever an unknown topology occurs.
See page 20.
Bicycle
Bicycle is an option for CreateTopologies .
Bicycle -> True includes descendents of the start topology of fig. 1e.
reducible 2-loop graphs.
See page 10.
Boxes
Boxes is an option for CreateTopologies .
Boxes -> True includes 4- and more-point functions in n-loop topologies.
Coup
Coup[i1, i2, ... ] is the representation of a vertex in the model-defining file.
The i1, i2, ... are the incoming particles and have to be given in the form: {field, momentum}.
CoupList
CoupList[mod] is the list collecting all possible couplings of the model mod.
CoupList[mod] is defined in the file model.mod.
See page 35.
CreateFeynAmp FeynAmpList
44
Appendix
CreateFeynAmp
CreateFeynAmp[ graphlist ] translates graphlist, which is a list of Feynman graphs, into
amplitudes.
graphlist must be exactly of the form as created by InsertFields. The head of graphlist tells CreateFeynAmp which
Feynman rules to apply.
The following options can be given:
ScreenMessages
Truncated
FeynmanGauge
$DDimension
True
False
True
False
CreateTopologies
CreateTopologies[l,e] creates all topologies with l loops and e external legs.
The Topologies are created in list form with the appropriate combinatorial factor.
Tadpoles
SelfEnergies
Triangles
Boxes
WFCorrections
True
True
True
True
True
Theta
Eight
Bicycle
True
True
False
See page 9.
Eight
Eight is an option for CreateTopologies.
Eight -> True includes descendents from fig.1d in the topology creation of 2-loop topologies.
ElectronHCoupling
ElectronHCoupling is an option for InsertFields.
ElectronHCoupling -> False sets all couplings of the Higgs fields to electrons to 0.
The electron-Higgs couplings are
also included in the class of light-fermion-Higgs couplings, i.e. electron-Higgs couplings are 0 if
LightFHCoupling -> False even if ElectronHCoupling is set to True.
See page 16.
FeynAmp
FeynAmp is the head of a single Feynman amplitude.
The internal form (InputForm) of FeynAmp contains two or more arguments: the name of the translated graph (head
GraphName), the integration momenta on the loops of the loops of the graph (only present if loop graphs are translated)
The OutputForm of FeynAmp is of the form
and the analytical expression for the graph.
FeynAmp[name,numbers][AmplitudesInOutputForm].
See page 26.
FeynAmpList
FeynAmpList is the head of the result of CreateFeynAmp applied to a list of Feynman graphs
(head TopologyList).
See page 29.
FeynEdit GraphsPerRow
45
FeynEdit
FeynEdit[expr] invokes an interactive procedure to fix or change the appearance of a topology
when drawn with Paint.
FeynEdit[graph] starts editing a Feynman graph of a certain process (created by InsertFields).
starts editing a topology for a process with n incoming and m outgoing particles.
See page 22.
FeynEdit[top, n, m]
FeynmanGauge
FeynmanGauge is an option for CreateFeynAmp.
FeynmanGauge sets the value of the parameter GaugeXi[f], where f is one of the gauge fields A, Z, W.
FullNumbering
FullNumbering is an option for Paint.
FullNumbering will cause Paint to append a third number to the graph labels that counts the graphs drawn so far.
page 20.
See
Generation1
Generation2
Generation3
GenerationN are options for InsertFields.
GenerationN -> True initializes a model with the Nth fermion generation included.
See page 16.
fermion generations.
Graph
Graph is the head for a list of rules that perform substitutions for dummy fields which appear in a
GraphName
GraphName is the head of an object that labels a special Feynman amplitude. It contains the
ProcessName, the position of the graph (in a TopologyList), the position of the graph in the list
of Insertions for one Topology and the position of the graph in the complete list of amplitudes
(head FeynAmpList).
See page 29.
GraphsPerRow
GraphsPerRow is an option for Paint.
See page 20.
Greek LightFHCoupling
46
Appendix
Greek
Greek[string] is used in the LineSpec function for the specification of a particle label in a model
file. It makes FeynArts label the propagator with the corresponding symbol of the specified
symbol font.
See page 36.
GrayBackground
GrayBackground is an option for Paint.
The result depends very strongly on the resolution of the screen or the printer.
InitializedModels
InitializedModels is a list that contains the descriptive symbols for all initialized models.
InsertFields
InsertFields[top,extli] inserts particles into the topologies of top so that they are compatible
{SM}
True
True
True
True
True
False
False
True
True
Automatic
chooses the models (in brackets) from which particles are inserted
whether to include the 1st fermion generation
whether to include the 2nd fermion generation
whether to include the 3rd fermion generation
False turns the electron-Higgs couplings off
False turns all fermion-Higgs couplings off except to the top quark
False sets the quark mixing matrix equal to the identity matrix
whether to use the unitary gauge
whether to remove topologies for which no insertions are found
whether to print the insertion messages on screen.
The name you want to give to the process.
LineSpec
LineSpec[part] is a function that describes the appearance of a propagator with particle part in
the graphics.
LineSpec[part] usually is a list with three elements: line type (straight, wavy, cycloid, dashed, dotted ),
specification of arrow on line (forward, backward, none) and label to appear in the graphics for that particle (usually a
See page 36.
string constant).
LightFHCoupling
LightFHCoupling is an option for InsertFields.
LightFHCoupling -> False sets all couplings of light fermions (these are all fermions except the top quark) equal to
zero.
See page 16.
Model Prop
47
Model
Model is an option for InsertFields.
Model has to be set to a list that contains all the models from which particles should be inserted.
For each model
specified, a file model.name must exist.
All possible models can be combined, no matter if the result makes any physical
sense.
See page 16.
NonCommutative
NonCommutative is the head of non-commutative objects inside PV. The arguments of
NonCommutative are multiplied using the Dot-product.
Paint
Paint[graphlist] draws the Feynman graphs or topologies contained in graphlist.
graphlist must be a list of insertions as produced by InsertFields or a list of topologies produced by CreateTopologies.
The following options can be given:
GraphsPerRow
RowsPerSheet
ScreenOutput
PSFileOutput
ScreenMessages
AutoEdit
FullNumbering
GrayBackground
ShowGrid
ShowPointNames
PropagatorThickness
VertexSize
3
3
True
True
True
False
False
False
False
False
Automatic
Automatic
Process
Process is one of the descriptive rules that appear in the head of a FeynAmpList or a
TopologyList if insertions have been made.
In a TopologyList created by InsertFields, Process will be of the Form: Process -> {f1, f2, ... }->{g1, g2, ... } ,
where the fi are the incoming and the gi are the outgoing fields.
In a FeynAmpList created by CreateFeynAmp, the fields
will be replaced by lists of three elements: { field, momentum, mass }.
See page 14.
ProcessName
ProcessName is an option for InsertFields.
ProcessName sets the name of the graphics file that is used for saving FeynArtsGraphics produced with Paint. The
See page 16.
extension is always .gra.
Prop
Prop[type][f1, f2, mom] is the representation of a propagator for the definition of analytical
expressions.
type is in or ex for internal propagators or wave functions respectively.
See page 36.
field (particle f2) propagates with momentum mom.
The
Propagator ScreenMessages
48
Appendix
Propagator
Propagator[type][descr] is the representation of a propagator in a topology.
Propagator[type][p1, p2 ] denotes a propagator running from point
type can be ex, inc, out or li where i is an integer.
p1 to point p2.
Propagator[type][p1, p2, f ] denotes a propagator with field f.
Propagator[type][p1, p2, f, q ]
denotes a propagator with field f carrying a momentum q.
See page 9.
PropagatorThickness
PropagatorThickness is an option for Paint.
PropList
PropList[mod] is the list collecting all possible propagators of the model mod.
PropList[mod] is defined in the file model.mod.
See page 35.
PSFileOutput
PSFileOutput is an option for Paint.
PV
PV is the head of an object that contains the analytic expression for a Propagator or a Vertex.
PV contains one single expression.
The arguments of all PV in a Feynman graph are multiplied to construct the amplitude.
For arguments of PV belonging to the Dirac algebra or the group SU3, non-commutative multiplication is used.
QuarkMixing
QuarkMixing is an option for InsertFields .
QuarkMixing determines the choice of the Kobayashi-Maskawa-Matrix.
See page 16.
Kobayashi-Maskawa-Matrix to the identity matrix.
RemoveEmptyTops
RemoveEmptyTops is an option for InsertFields.
See page 16.
RowsPerSheet
RowsPerSheet is an option for Paint.
See page 20.
ScreenMessages
ScreenMessages is an option for CreateFeynAmp, InsertFields and Paint.
ScreenMessages -> False suppresses all run-time messages that usually appear on the screen.
ScreenOutput Topology
49
ScreenOutput
ScreenOutput is an option for Paint.
See page 20.
SelfEnergies
SelfEnergies is an option for CreateTopologies .
SelfEnergies -> True includes graphs with 2-point functions when creating the topologies.
ShowGrid
ShowGrid is an option for Paint.
ShowGrid -> True is used when invoking Paint via FeynEdit.
ShowPointNames
ShowPointNames is an option for Paint.
ShowPointNames -> True displays the symbols that represent a vertex and the symbols for the centers of the
See page 20.
propagators.
Sub
Sub[s1,s2] denotes a subscripted symbol for the Paint routine.
Sub is used in the LineSpec function to define the string that is printed as a propagator label for a certain field.
Sub[s1,s2] means that string s2 appears as subscript of the string s1.
See page 36.
Tadpoles
Tadpoles is an option for CreateTopologies.
Tadpoles -> True includes graphs with 1-point functions when creating the topologies.
Theta
Theta is an option for CreateTopologies .
Theta -> True includes descendents from fig.1c when creating 2-loop topologies.
Topology
Topology[comb][Pr1, Pr2, ... ] is the representation of a pure topology with combinatorial factor
comb. The Pri are the propagators of the topology and have head Propagator.
Topology[Pr1, Pr2, ... , ins] is the representation of a topology with insertions ins. ins is an object
with head Insertions and represents a list of Feynman graphs originating from the topology.
See page 13.
TopologyList $DDimension
50
Index
TopologyList
TopologyList is the head for the representation of a set of topologies or Feynman graphs.
Whether topologies or Feynman graphs are collected depends on the contents of the single topologies (see Topology).
See page 13.
Triangles
Triangles is an option for CreateTopologies .
Triangles -> True includes graphs with 3-point functions when creating the topologies.
Truncated
Truncated is an option for CreateFeynAmp.
Truncated -> False will produce Feynman amplitudes without wave functions inserted for the external fields.
The
wave functions are defined in the model file setting Propagator[ex][part, mom] == PV[wavefunction].
See page 25.
UnitaryGauge
UnitaryGauge is an option for InsertFields .
See page 16.
VertexSize
VertexSize is an option for Paint.
See page 20.
WFCorrections
WFCorrections is an option for CreateTopologies.
Set to False all topologies with tadpoles or self-energies on external lines are omitted.
See page 10.
for topologies with irreducible start topologies.
$DDimension
$DDimension is an option for CreateFeynAmp
For a Feynman graph with L loops, the prefactor is set to (1=(2 ))L if $DDimension -> False and to (4 $D =(2 )$D )L if
$DDimension -> True.
See page 25.
References
[1] S. Wolfram, Mathematica a system for doing mathematics by computer, Addison-Wesley, New
York, 1988.
[2] J. Kublbeck,
1990.
[4] The application of FeynArts a computeralgebraic program for the generation of Feynman graphs
to the process e+ e ! ZH, J. Kublbeck,
1991.
[5] R. Mertig, M. Bohm and A. Denner, Comp. Phys. Comm. 64 (1991) 345.
Index
$DDimensions, 25
Analytical expressions, creation of, 25
AntiParticle, 43
AutoEdit, 20, 22, 43
Bicycle, 10, 43
Boxes, 10, 43
Coup, 36, 43
CoupList, 35, 43
Create, topologies with more loops, 11
CreateFeynAmp, 25, 43
CreateTopologies, 9, 44
$DDimensions ShowGrid
GraphsPerRow, 20, 45
GrayBackground, 20, 46
Greek, 45
High energy physics, 5
InitializedModels, 46
InsertFields, 13, 46
Insertion of fields into topologies, 13
Insertions, 14, 46
internal propagators, 9
Eight, 10, 44
ElectronHCoupling, 16, 17, 44
Paint, 19, 47
external propagators, 9
Generation1, 45
Generation2, 45
Generation3, 16, 45
Graph, 14, 45
Graph points, entering of, 22
GraphInfo, 22, 24
GraphName, 29, 45
momenta, 26
NonCommutative, 47
Feynman graphs, 19
topologies, 19
particle code, 34
physical constants, code for, 41
printform, 26
Process, 14, 47
ProcessName, 16, 17, 47
Processname, automatic construction of, 17
Prop, 36, 47
Propagator, 9, 47
propagator, center of, 23
curvature of, 23
Propagators, types of, 9
PropagatorThickness, 20, 48
PropList, 35, 48
PSFileOutput, 20, 48
PV, 35, 48
51
52
ShowPointNames, 20, 49
SU(3) elements, code for, 40
Sub, 49
Tadpoles, 10, 49
Theta, 10, 49
Topologies, change graph points, 22
classification of, 9
creation of, 9
drawing of, 19
representation of, 9
subsets of, 10
Topology, 9, 13, 19, 49
internal representation of, 9
TopologyList, 9, 13, 19, 49
translation of FeynArts output, 39
Triangles, 10, 49
Truncated, 25, 50
ShowPointNames $DDimension
Index