FeynmanDiagrams - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

Home : Support : Online Help : Physics : FeynmanDiagrams

Physics[FeynmanDiagrams] - compute an expansion of the Scattering matrix for a model in coordinates representation, or the Scattering matrix element in momentum representation, and the corresponding Feynman Diagrams

Calling Sequence

FeynmanDiagrams(InteractionLagrangian, ...(optional arguments)...)

Parameters

InteractionLagrangian

-

the interaction Lagrangian depending on quantum fields

Options

• 

order = m :  indicates the truncation order of the expansion  of the scattering matrix  in coordinates representation, or of the corresponding matrix element  in momentum representation. If not indicated, in coordinates representation the default value of order is 3, and in momentum representation it is automatically determined from the indicated incomingparticles, outgoingparticles and numberofloops.

• 

incomingparticles = ... : when given, the output is the matrix element  in momentum representation; incomingparticles is a list of field names representing the incoming particles , and all of outgoingparticles and numberofloops should also be given.

• 

outgoingparticles = ... : (required when incomingparticles are indicated), a list of field names representing the outgoing particles , in .

• 

numberofloops = n : (required when incomingparticles are indicated, otherwise optional) the right-hand side is an integer, or a set of integers. This option indicates that the returned expansion  in coordinates representation, or the matrix element  in momentum representation, should only include terms whose corresponding Feynman diagrams contain  loops, or the numbers of loops indicated in the set of integers. When working in coordinates representation and numberofloops is not indicated, all the terms containing up to 3 loops are returned.

• 

diagrams : synonyms: graphs, plot, produces, in addition, the display of the Feynman diagrams (drawings) corresponding to each term of the algebraic expression being returned. In coordinates representation, the correspondence between the terms in the output and diagrams is one-to-one. In momentum representation, only the diagrams representing different topologies are displayed.

• 

output = ... : (related to momentum representation), if given, the right-hand side is probabilitydensity, so that given s incomingparticles and r outgoingparticles, the output is the average number of scattered particles per unit time and volume, having momenta within the infinitesimal volumes . That transition probability density is constructed using  and the formula (13) of Sec.21 of ref.[1]

• 

reduciblegraphs = ... : (optional) it can be true or false (default), to include or discard from the expansion of , or from the matrix element , the terms corresponding to graphs with loops that are 1-particle reducible.

• 

includetadpoles = ... : (optional) it can be true or false (default), to include or discard from the expansion of , or from the matrix element , the terms containing tadpoles, that is, lines that start and end in the same vertex.

• 

numberofvertices = n :  indicates that the expected output is just , the  term of the expansion of  in coordinates representation, or just  in momentum representation. The Feynman diagrams of  are the ones that contain  vertices.

• 

numberofexternallegs = ... : synonym numberoflegs, related to coordinates representation, the right-hand side is a positive integer, or a set of them, indicating the number of external legs of the Feynman diagrams corresponding to each term of the algebraic expression returned. Default value is all possible configurations of external legs.

• 

normalproducts = ... : related to coordinates representation, the right-hand side is a function _NP(...), or a set of them, where each _NP(...) contains field names as arguments. These are the normal ordered products of unpaired fields entering . To these unpaired fields are associated the external legs of the related Feynman diagrams. This option is useful to specify one process (identified by the number and kind of external legs in _NP(...)) among all the possible configurations of external legs returned by default.

• 

excludepropagators = ... : a list of two fields representing a propagator, or a set of these lists, indicating that terms involving these propagators are to be excluded from the output.

• 

numberofverticesinloops = n :  indicates that the expected output, either  in coordinates representation, or , in momentum representation, should contain only terms where the loops contain n vertices (e.g. 3 = triangle, 4 = square, etc.)

• 

putindicesinsquareofmomentum = ... : (optional), related to momentum representation, it can be true or false (default), to put spacetime indices in all the occurrences of squares of momentum within Feynman integrals. By default these indices are put only when the matrix element  being returned contains no integrals.

• 

gauge = ... : the right-hand side can be Feynman, Landau, unitary or arbitrary, respectively resulting in the values 1, 0,  and unset for the FeynmanDiagrams:-xi gauge parameter.

• 

usepropagators = ... : the right-hand side can be true (default) or false; when set to false FeynmanDiagrams returns using an abstract representation in terms of FeynmanDiagrams:-Propagator, instead of a specific propagator whose form depends on the the spin of the underlying field.

• 

externalnormalization = ... : the right-hand side can be true (default) or false. When true, the normalization factor related to the external legs follows the conventions of [1]; when false, these normalization factors are all set equal to 1.

• 

simplifytensorindices = ... : (optional), related to momentum representation, it can be true or false (default), to perform a simplification of the tensor indices appearing in the returned .

• 

factortreelevel = ... : (optional), related to momentum representation, it can be true or false (default), to factor the tree-level terms appearing in the returned .

• 

labels = ... : related to coordinates representation, the right-hand side is a list of lists with labels (Capital letters), say , representing the spacetime points used as dummy integration variables in each . These labels also represent the points at which the interaction Lagrangians are evaluated when computing their time-ordered- products entering those integrands. Default value is the dependency of the fields of the interaction Lagrangian, as well as any other system of coordinates defined using the Coordinates command.

• 

crossedpropagators = ... : related to coordinates representation, it can be true or false (default) to indicate that crossed propagators (related to crossed terms in the quadratic part of the Lagrangian) are not zero and so must be taken into account. This option only works up to order = 3

• 

quiet : (optional) indicates that the computation should proceed without displaying messages on the screen, for instance regarding the matching of optional keywords

Description

• 

A scattering matrix  relates the initial and final states,  and , of an interacting system. In an 4-dimensional spacetime with coordinates ,  can be written as:

  

where  is the imaginary unit and  is the interaction Lagrangian, written in terms of quantum fields depending on the spacetime coordinates . The T symbol means time-ordered. For the terminology used in this page, see for instance chapter IV, "The Scattering Matrix", in ref.[1]. This exponential can be expanded as

  

where

  

and  is the time-ordered product of n interaction Lagrangians evaluated at different points. Note the factor  included in the definition of  used in this page.

Coordinates representation

• 

The default output of FeynmanDiagrams(L(X)) is thus  in coordinates representation,  truncated by default at order = 3. The expansion of the time-ordered product entering the integrand of each  (herein called the expansion of ) is computed using Wick's theorems, and  itself, including the factor , is expressed using the FeynmanIntegral command.

• 

The expansion of  consists of a sum of terms, each of which is a product of certain pairings of the operator field functions entering  times the normal product of the remaining unpaired operators of free fields. The pairings between fields are the propagators, the Green functions of the associated free fields.

• 

Each term of the expansion of  corresponds to a Feynman diagram with  vertices (the number  of interaction Lagrangians in ). Within the diagram, each of the pairings of fields (propagators) has a corresponding internal line, and each field entering the normal product of unpaired field operators has a corresponding external leg. Each of those terms has a different configuration of external legs (normal products of unpaired fields), and the expanded  being returned includes all the possible configurations of external legs.

The algebraic structure of the output in coordinates representation

• 

Each  is represented in the output of FeynmanDiagrams by a FeynmanIntegral, whose integrand is of the form:

  

where  is a finite integer depending on n and the interaction Lagrangian,  are the symmetry factors, and  (to each one corresponds a Feynman diagram) are functions of name _GF, of one or two arguments, of the form:

  

or,

  

The  identify fields entering the interaction Lagrangian. The first case ( function of only one argument) corresponds to the tree-level terms (so no propagators) appearing in , with the argument of  being (just) a function of name _NP, representing the normal product of the (unpaired) fields . Each of these fields represents an external leg of the corresponding Feynman diagram. In the second case ( function of two arguments), the second argument is a list of lists, where each internal list  represents a pairing of two fields (a propagator) and so corresponds to a connected line in the Feynman diagram. For the external legs and connected lines, both represented by fields applied at a point, the application point  identifies the vertex where the line joins the Feynman diagram.

• 

Terms that have less than two unpaired fields (external legs) do not appear in the output since they violate conservation of energy-momentum or do not change the initial state of the system. Also, the  computed only contains terms that correspond to tree-level diagrams or to diagrams with loops that are 1-particle irreducible (1PI), which do not fall into two pieces if you cut one internal line. To change this default behavior use the option reduciblegraphs = true.

• 

The computational representation of  in coordinates representation involves n (dummy) integration variables  representing systems of coordinates. For that purpose, by default FeynmanDiagrams use the dependency of the fields in the interaction Lagrangian, as well as any other coordinates system set using Setup. When there are not enough of them, more integration labels are automatically generated, all of the form X__n, literal subscripts, displayed as . You can indicate the use of different integration labels using the labels option.

• 

Mathematical notation: When the Physics package is loaded in the Standard Graphical User Interface, the _NP function is displayed using textbook notation; for example,  is displayed as  and  is displayed as , the product of the time-ordered normal product (the  function) with the lists representing the propagators (second argument of the  function).

Momentum representation

• 

The transition probability for a process with initial and final states  and  in momentum representation is given by the square of the scattering matrix elements . The states  and , with respectively s and r free particles, are normalized such that the average number per unit volume of each of the s and r particles is equal to one (see sec. 21.2 of ref.[1], "Normalization of the State amplitude"). In this sense, each of the s and r fields respectively indicated in incomingparticles and outgoingparticles represent a 1-particle per unit volume with precisely defined average momentum. All the s particles in  have different sets of quantum numbers, and the r particles in  are only those whose momentum has been altered by the scattering process.

• 

The output of FeynmanDiagrams(L(X), incomingparticles = [...], outgoingparticles = [...], numberofloops = n) is thus the S-matrix element  in momentum representation (see formula (2) of sec. 21.1 in ref.[1]), of the form

  

The  (Dirac) is the expected singular factor due to the conservation of the energy-momentum of the s initial (incoming) and r final (outgoing) particles, and , also called the amplitude, is the sum of terms, in momentum representation, corresponding to Feynman diagrams with the number of loops indicated and  external legs.

• 

When the option output = probabilitydensity is given, the output is the transition probability density, that is, the average number of scattered particles per unit time and per unit volume having momenta within the infinitesimal volumes . That probability density is constructed using the square of the scattering matrix element , as shown in formula (13) of sec. 21.1 of ref.[1]:

  

where each  represents the particle density of each of the s particles in the initial state , and for an interpretation of the square of the  factor that appears in  see sec. 64 of ref.[3]. In order to get the number of scattered particles per unit of time and volume that happen in the final momentum region   , the probability density  needs to be integrated over that particular region.

• 

The truncation order of  in , if not specified, is some finite n automatically derived from the interaction Lagrangian, the indicated number of loops, and the number and kind of incoming and outgoing particles. Terms  with  don't contribute to the indicated process.

• 

Although  in momentum representation can be computed departing from the expansion of  in coordinates representation, it is simpler to compute it directly using the Feynman rules in momentum representation (for the conventions used, see chapter V of ref.[1], "The Feynman rules and Diagrams") together with a program for the generation of the Feynman diagrams at any order, implemented in the Maple language following the presentation in ref.[4].

The algebraic structure of the output in momentum representation

• 

Each integral entering the scattering matrix element  is represented in the output of FeynmanDiagrams using the FeynmanIntegral command. These integrals are all divergent and their physical meaning exist only after separating the finite from the infinite part, followed by redefining the masses and coupling constants of the model absorbing the infinities (the renormalization process).

• 

All the momenta of the incoming and outgoing particles are represented using literal subscripts P__n (prefixed with the Capital letter P), displayed as  where  is an integer. All the momenta of the virtual particles (entering as integration labels in the Feynman integrals of the output) are represented using literal subscripts p__n (prefixed with the lowercase letter p), displayed as  where  is an integer. The momentum assignation  follows the order of the incoming and outgoing particles. For example if you have  and  the momenta are assigned as follows: ,  ,  and .

• 

The energy of each incoming and outgoing particle ( component of each ) entering the output  is expressed using literal subscripts E__n (prefixed with the Capital letter E), displayed as  where  is an integer.

• 

When computing beyond tree-level, the propagators of fields - say  - that appear within Feynman integrals include their masses, expressed using literal subscripts, say as m__phi, prefixed with the letter m, displayed as . To indicate that a vector field is massless use Setup, for instance as in .

• 

For readability, the spacetime tensor indices of the square of momenta of incoming, outgoing, and virtual particles, entering denominators of propagators in the integrands of Feynman integrals, are omitted. To have these repeated indices explicitly shown, use the option putindicesinsquareofmomentum. Likewise, the spacetime indices of the 4-vectors  in the Dirac  factor of  are only put for the tree-level terms, not when these factors are within Feynman integrals. For example, for the tree-level terms of the  model, the input / output is presented as

  

  

and say for the  model,  with one loop,

  

  

• 

The infinitesimal  entering the denominators of propagators are all expressed using the FeynmanDiagrams:-epsilon command. The U and V spinors entering the output when there are spinor fields, as well as the polarization vector when there are vector fields, are all respectively expressed using FeynmanDiagrams:-Uspinor, FeynmanDiagrams:-Vspinor and FeynmanDiagrams:-PolarizationVector, correspondingly displayed as ,  and  (see ref.[2] and the Examples section).

The input representing the interaction Lagrangian

• 

Given an interaction Lagrangian, FeynmanDiagrams considers a field of the problem any function of spacetime variables (set using Coordinates or Setup). It is recommended that you also set the field operators as quantum operator using Setup, and fields that were not set as quantum operators are automatically set as such when you call FeynmanDiagrams.

• 

To represent the Dagger of a complex field, say , use Dagger, as in Dagger(C(X)) or Dagger(C[mu](X)). To represent spinor fields, use anticommutative functions. For that purpose, you can set an anticommutative prefix using Setup. To represent the Dirac conjugate of a spinor field, say Q(X), use DiracConjugate, as in DiracConjugate(Q(X)).

• 

When working in momentum representation beyond tree-level, the propagators of vector field that appear within Feynman integrals include their mass. To indicate that a field is massless use Setup, for instance as in .

• 

When matrix multiplication (e.g. of spinors) enters the interaction Lagrangian, you can enter the expression representing it with the matrix (spinorial) indices explicit. For example, for an interaction Lagrangian in quantum electrodynamics (QED) involving Dirac matrices, you can use DiracConjugate(Q[j](X)) * Dgamma[mu][j,k] * Q[k](X) * A[mu](X) where Q[j](X) and DiracConjugate(Q[j](X)) respectively represent a spinor field and its Dirac conjugate. Note that, depending on the case, the spinor and even spacetime indices can be omitted entirely without ambiguity (see the Examples section).

• 

The summation convention for spacetime, gauge, and spinor repeated indices in products entering the interaction Lagrangian is automatically used by FeynmanDiagrams.

The options for changing the default output

• 

Several options are available to change the default output of FeynmanDiagrams in coordinates and in momentum representation. See the Parameters section above. These options can be used alone or together and are illustrated in the Examples section. Briefly, to compute, in coordinates representation, only the terms that involve diagrams:

– 

with  external legs use the option numberofexternallegs = j;

– 

with some specific external legs specifying a particular physical process use the option normalproducts = ...;

  

and for both coordinates and momentum representation,

– 

to truncate the expansion of  or of  at an order different than the default use the option order = m;

– 

to compute only one term  of the expansion of  or of , use the option numberofvertices = n;

– 

to compute only the terms that involve diagrams with  loops (tree-level is ) use the option numberofloops = k;

– 

to additionally display the diagrams (drawings) corresponding to the terms appearing in the returned output use the option diagrams;

  

NOTE: the vertices of the drawings are displayed in red and encircled in black, and the current implementation of FeynmanDiagrams can only draw the diagrams than contain up to 6 vertices.

• 

When computing in coordinates representation up to order = m, it is convenient to previously set m coordinate systems using Setup or Coordinates to avoid having FeynmanDiagrams introducing labels to represent the  spacetime coordinates that enter the FeynmanIntegrals (each ). When additional labels are necessary, they are all of the form , expressed using literal subscripts X__n, where  is an integer.

• 

When using the normalproducts, excludepropagators or crossedpropagators options, the fields entering the right-hand sides can be referenced by just their names, or also with their functionality. This can be used, for example, to filter out the propagator  only, or all the propagators of the form , which would include as well  and .

Examples

Load the package, set three coordinate systems and set  to represent a quantum operator

with(Physics):

Setup(mathematicalnotation = true, coordinates = [X, Y, Z], quantumoperators = phi);

(1)

Let  be the interaction Lagrangian

L := lambda*phi(X)^4;

(2)

The expansion of  in coordinates representation up to order = 3 is given by

S = FeynmanDiagrams(L);

(3)

To compute only the tree-level terms of this result use numberofloops = 0. To produce the diagrams together with the algebraic expression of , pass also the optional argument diagrams

S__treelevel = FeynmanDiagrams(L, numberofloops = 0, diagrams);

(4)

The expansion of   in coordinates representation to a specific order shows in a compact way the topology of the underlying Feynman diagrams. In the result above there are three terms, with 4, 6 and 8 external legs respectively. A  element in momentum representation corresponding to the term with 4 external legs is one where there are 2 incoming and 2 outgoing particles

FeynmanDiagrams(L, incomingparticles = [phi, phi], outgoingparticles = [phi, phi], numberofloops = 0, diagrams);

(5)

To compute the S-matrix element in momentum representation corresponding to the term with 6 external legs, change in the input above  by , and to get the element corresponding to 8 external legs use . The following computes the expansion of  up to order = 3, only the terms corresponding to diagrams with two external legs

FeynmanDiagrams(L, numberofexternallegs = 2, diagrams);

(6)

Already from the diagrams, in this result there are terms with either 2 or 3 loops. The transition probability density for a process with two external legs - say one incoming and one outgoing particle - so corresponding to the first term with 2 loops, is then

FeynmanDiagrams(L, incomingparticles = [phi], outgoingparticles = [phi], numberofloops = 2, diagrams, output = probabilitydensity);

(7)

In the above, the spacetime indices in the square of momenta (denominators of propagators) entering the amplitude F are implicit. To make those indices explicit, use the option putindicesinsquareofmomentum

F = FeynmanDiagrams(L, incoming = [phi], outgoing = [phi], numberofloops = 2, putindices);

(8)

Up to order = 3, all the terms of the expansion of  that contain three loops (see (6)) actually have only 2 external legs, and the corresponding Feynman Diagrams only 3 vertices

FeynmanDiagrams(L, numberofloops = 3);

(9)

A corresponding S-matrix element in momentum representation:

FeynmanDiagrams(L, incomingparticles = [phi], outgoingparticles = [phi], numberofloops = 3);

(10)

To compute only one term, say , and for instance including terms with tadpoles use the options numberofvertices = 2 and includetadpoles

S[2] = FeynmanDiagrams(L, numberofvertices = 2, includetadpoles);

(11)

Consider an interaction Lagrangian involving two fields. To indicate that  also represents a quantum field operator ( got set as quantum operator at the beginning), use Setup.

Setup(quantumoperators = eta);

(12)

L__2 := lambda*phi(X)^4 + sigma*eta(X)^3;

(13)

In the expansion of , there are no terms with one external leg  and another , that would be represented as a normal product of unpaired fields

FeynmanDiagrams(L__2, normalproducts = _NP(phi, eta));

(14)

Compute, one at a time, the terms entering the expansion of  up to order 2 that have 0 (tree-level), 1, 2 and 3 loops

S__treelevel = FeynmanDiagrams(L__2, order = 2, numberofloops = 0);

(15)

FeynmanDiagrams(L__2, order = 2, numberofloops = 1);

(16)

FeynmanDiagrams(L__2, order = 2, numberofloops = 2);

(17)

FeynmanDiagrams(L__2, order = 2, numberofloops = 3);

(18)

Indeed, to see terms with three loops you'd need to consider the expansion of  up to  at least

FeynmanDiagrams(L__2, order = 3, numberofloops = 3, diagrams);

(19)

A corresponding S-matrix element in momentum representation with 1 incoming and 1 outgoing particles

FeynmanDiagrams(L__2, incomingparticles = [phi], outgoingparticles = [phi], numberofloops = 3);

(20)

Compute the terms entering the integrand of , having four external legs (normal ordered products involving four fields). For the interaction Lagrangian , the normal products of unpaired fields in  only involve the  field

FeynmanDiagrams(L__2, numberofvertices = 3, numberoflegs = 4);

(21)

To get the corresponding S-matrix element in momentum representation, replace  by a process with the same four legs, for example  and . Considering  instead, you also get normal products of  fields

FeynmanDiagrams(L__2, numberofvertices = 2, numberoflegs = 4);

(22)

For this Lagrangian and configuration of vertices and external legs,  includes a term (with symmetry factor = 96) to which corresponds a 1-particle reducible diagram that is also a tadpole:

FeynmanDiagrams(L__2, numberofvertices = 2, numberoflegs = 4, reducible, tadpoles, diagrams);

(23)

Following is an example with the interaction Lagrangian of Quantum Electrodynamics (QED). First, define the vector field .

Define(A[mu]);

(24)

Set the type of letter used to represent spinor indices (you can change this setting according to your preference using Setup) and set  and  as quantum operators, with  being anticommutative to represent the electron field

Setup(spinorindices = lowercaselatin_is, anticommutativeprefix = Q, op = {A, Q});

(25)

So, to represent spinor indices, use lowercase Latin letters from i to s, the spinor fields will be represented by any name prefixed by , and the matrix indices related to the matrix product involving Dirac matrices are written explicitly in the interaction Lagrangian. Use DiracConjugate to represent the Dirac conjugate

L__QED := alpha * DiracConjugate(Q[j](X)) * Dgamma[mu][j, k] * Q[k](X) * A[mu](X);

(26)

Compute , only the terms with 4 external legs, so all the corresponding graphs have no loops, and display the diagrams

FeynmanDiagrams(L__QED, numberofvertices = 2, numberoflegs = 4, diagrams);

(27)

As shown next, there are only two terms entering the integrand of  with two external legs. They both have one loop, and correspond to the self-energy of the photon and the electron (page 218 of ref.[1]) and are given by

FeynmanDiagrams(L__QED, numberofvertices = 2, numberoflegs = 2, diagrams);

(28)

where the diagram with two spinor legs is the electron self-energy. The corresponding S-matrix elements in momentum representation (numberofvertices = 2 can be given, but in this case is not necessary):

FeynmanDiagrams(L__QED, incomingparticles = [Q], outgoing = [Q], numberofloops = 1, diagrams);

(29)

In this result we see the propagator of the field  with a mass . To indicate that this field is massless use

Setup(massless = A);

(30)

Now the propagator for  is the one of a massless vector field:

FeynmanDiagrams(L__QED, incomingparticles = [Q], outgoing = [Q], numberofloops = 1);

(31)

FeynmanDiagrams(L__QED, incomingparticles = [A], outgoing = [A], numberofloops = 1, diagrams);

(32)

In the two self-energy expressions above we see the u-spinor  and the polarization vector .

Compute  for this model, keeping only the terms with 3 external legs

FeynmanDiagrams(L__QED, numberofvertices = 3, numberoflegs = 3, diagrams);

(33)

Note the introduction of spacetime indices (covariant as subscripts and contravariant as superscripts) and spinor indices (all presented as subscripts) by FeynmanDiagrams; this preserves the summation convention for repeated indices by avoiding occurrences of indices more than once in each product. To verify for correctness, the indices and noncommutative products use Check.

Check((33), 'all');

(34)

The transition probability density corresponding to the term with three external vector-boson legs

FeynmanDiagrams(L__QED, incomingparticles = [A], outgoingparticles = [A, A], numberofloops = 1, diagrams, output = probabilitydensity);

(35)

The processes of  with 5 external legs (you can indicate one particular 5 legs' process, among all the possible ones, by specifying the particles entering as external legs  using the option normalproducts):

FeynmanDiagrams(L__QED, numberofvertices = 3, numberoflegs = 5, diagrams);

(36)

Depending on the interaction Lagrangian, it is frequently possible to entirely omit spinor and spacetime indices without ambiguity resulting in less cluttered output. For example, for QED the interaction Lagrangian  introduced lines above can be entered as

L__qed := alpha * DiracConjugate(Q(X)) * Q(X) * A(X);

(37)

In this way, the expressions look more compact. For example, the first two computations performed above with  with spinor and spacetime indices now become

FeynmanDiagrams(L__qed, numberofvertices = 2, numberoflegs = 4);

(38)

The S-matrix element in momentum representation corresponding to the term and diagram with 2 fermion and 2 boson external legs: compare with and without the spinor and spacetime indices and factorize the tree-level terms

FeynmanDiagrams(L__qed, numberofvertices = 2, incomingparticles = [Q, DiracConjugate(Q)], outgoingparticles = [A, A], numberofloops = 0, factortreelevel, diagrams);

(39)

Compare with the related interaction Lagrangian that has the spinor and spacetime indices explicit

FeynmanDiagrams(L__QED, numberofvertices = 2, incomingparticles = [Q, DiracConjugate(Q)], outgoingparticles = [A, A], numberofloops = 0, factortreelevel, diagrams);

(40)

The self-energy terms, that only have 2 external legs and one loop:

FeynmanDiagrams(L__qed, numberofvertices = 2, numberoflegs = 2, diagrams);

(41)

When working with non-Abelian gauge fields, the interaction Lagrangian involves derivatives. FeynmanDiagrams can handle that kind of interaction in momentum representation. Consider for instance a Yang-Mills theory with a massless field  where a is a SU2 index (see eq.(12) of sec. 19.4 of ref.[1]). The interaction Lagrangian can be entered as

Setup(su2indices = lowercaselatin_ah, massless = B, op = B);

(42)

Define(B[mu, a], quiet):

F__B[mu, nu, a] := d_[mu](B[nu, a](X)) - d_[nu](B[mu, a](X));

(43)

L := g/2*LeviCivita[a, b, c]*F__B[mu, nu, a]*B[mu, b](X)*B[nu, c](X) + g^2/4*LeviCivita[a, b, c]*LeviCivita[a, e, f]*B[mu, b](X)*B[nu, c](X)*B[mu, e](X)*B[nu, f](X);

(44)

The transition probability density at tree-level (number of loops = 0) for a process with two incoming and two outgoing B particles is given by

FeynmanDiagrams(L, incomingparticles = [B, B], outgoingparticles = [B, B], numberofloops = 0, output = probabilitydensity, diagrams);

(45)

This process can be computed with 1 or more loops, in which case the number of terms increases significantly. As another interesting non-Abelian model, consider the interaction Lagrangian of the electro-weak part of the Standard Model

Coordinates(clear, Z);

(46)

Setup(quantumoperators = {W, Z});

(47)

Define(W[mu], Z[mu]);

(48)

F__W[mu, nu] := d_[mu](W[nu](X)) - d_[nu](W[mu](X));

(49)

F__Z[mu, nu] := d_[mu](Z[nu](X)) - d_[nu](Z[mu](X));

(50)

L__WZ := I*g*cos(theta__w) * ((Dagger(F__W[mu, nu])*W[mu](X) - Dagger(W[mu](X))*F__W[mu, nu]) * Z[nu](X) + W[nu](X)*Dagger(W[mu](X))*F__Z[mu, nu]);

(51)

This interaction Lagrangian contains six different terms. The S-matrix element for the tree-level process with two incoming and two outgoing W particles is given below. Due to the use of size simplification and the option factortreelevel, the result below is a product of only 10 factors, two of which are nested several times, totaling a computational length of 2750. Expanding that product the computational length is 325,761 and the number of terms is 480.

FeynmanDiagrams(L__WZ, incomingparticles = [W, W], outgoingparticles = [W, W], numberofloops = 0, factor, diagrams);

(52)

See Also

conjugate, Dagger, Dgamma, DiracConjugate, FeynmanIntegral, length, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Physics[`*`], Psigma, Setup, simplify/size, StandardModel

References

  

[1] Bogoliubov, N.N., and Shirkov, D.V. Quantum Fields. Benjamin Cummings, 1982.

  

[2] Weinberg, S., The Quantum Theory Of Fields. Cambridge University Press, 2005.

  

[3] Berestetskii, V.B., Lifshitz, E.M., Pitaevskii, L.P., Quantum Electrodynamics. Vol.4, Course of Theoretical Physics, 2nd edition, Pergamon Press, 1982.

  

[4] Xiao, B., Wang, H., Zhu, S., A simple algorithm for automatic Feynman diagrams generation. Computer Physics Communications, Volume 184, Issue 8, (2013).

Compatibility

• 

The includetadpoles and crossedpropagators options were introduced in Maple 2015.

• 

For more information on Maple 2015 changes, see Updates in Maple 2015.

• 

The order, incomingparticles, outgoingparticles, diagrams, output, reduciblegraphs, numberofvertices, numberofverticesinloops, putindicesinsquareofmomentum, simplifytensorindices, factortreelevel, labels and quiet options were introduced in Maple 2020.

• 

For more information on Maple 2020 changes, see Updates in Maple 2020.

• 

The Physics[FeynmanDiagrams] command was updated in Maple 2021.

• 

The gauge, usepropagators and externalnormalization options were introduced in Maple 2021.

• 

For more information on Maple 2021 changes, see Updates in Maple 2021.


Download Help Document