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

Online Help

All Products    Maple    MapleSim


Physics[FeynmanIntegral] - compute a Feynman integral, as the ones returned by the FeynmanDiagrams command, appearing in the expansion of the Scattering matrix in momentum representation

Physics[FeynmanIntegral][Evaluate] - evaluate, with options, the Feynman integrals, represented using the inert %FeynmanIntegral command, that appear in the expansion of the Scattering matrix in momentum representation

Physics[FeynmanIntegral][epsilon] - the same as 'FeynmanDiagrams:-epsilon', used to express the prescription to integrate in the complex p[0] plane circumventing the poles of the propagators

Physics[FeynmanIntegral][varepsilon] - represents the dimensional parameter used in the dimension regularization approach

Calling Sequence

FeynmanIntegral(integrand, [[X1], ... [Xn]])

FeynmanIntegral(integrand, [[p1], [p2], ... [pn]], options)

FeynmanIntegral(integrand, p1, options)

Evaluate(expression, options)

Parameters

integrand

-

the integrand that appears in the expansion of the Scattering matrix S=1+S1+S2+... in coordinates representation, or its matrix elements f|S|i in momentum representation, in which case loop momentum integration variables are of the form p__n and external momenta are of the form P__n, where n is an integer.

[[X1], ... [Xn]]

-

a list of lists, here each Xj is a symbol starting with a Capital letter followed by an integer j, as a label representing a coordinates system; it can also be one set using Setup or Coordinates. In this case the integral is in coordinates representation and displayed with a preceding factor inn!, where n is the order of Sn in the expansion of S.

[[p1], ... [pn]]

-

a list of lists, where each pj is a symbol of the form p__n where n is an integer and it represents the name of a momentum tensor, automatically defined as such when the integral appears in the output of FeynmanDiagrams. In this case, the integral is in momentum representation and has no preceding factor. Instead of a list of lists, this second argument can also be a single p__n.

expression

-

any algebraic expression, or a set or list of them, typically the output of FeynmanDiagrams, that includes Feynman integrals represented in inert form, with the %FeynmanIntegral command

Options

• 

dimension = ... : the dimension of spacetime around which dimensional regularization is performed. Default value is the dimension indicated by Physics:−Setupdimension

• 

expanddimension = ... : the right-hand side can be true or false (default), to expand the result in series up to order Oϵ before returning it. The ϵ = FeynmanIntegral:-varepsilon is the dimensional parameter, and the integration is performed at dimension d=Physics:−Setupdimension2ϵ, and be default Physics:−Setupdimension=4.

• 

feynmanparametersintegrated = ... : the right-hand side can be true or false (default), to return right after the Feynman parameters are integrated. This option does not work with alpha parameters.

• 

kindofparameters = ... : the kind of auxiliary parameters - Feynman (default) or α - used to parametrize Feynman integrals.

• 

loopmomentumintegrated = ... : the right-hand side can be true or false (default), to return right after the loop momentum integration is performed. This option does not work with alpha parameters.

• 

mbrepresentation = ... : the right-hand side can be true or false (default), to return right after the Mellin Barnes representation of the Feynman integral is constructed. This option does not work with alpha parameters.

• 

parametrizedform = ... : the right-hand side can be true or false (default), to return the parametrized form after swapping the order of integration: first the loop momentum, then the Feynman or alpha parameters.

• 

quiet = ... : the right-hand side can be true or false (default), to display or not information related to matching keywords

• 

shiftedform = ... : the right-hand side can be true or false (default), to return right after the shift of the loop momentum variable is performed and before performing the Wick rotation. This option does not work with alpha parameters.

• 

wickrotated = ... : the right-hand side can be true or false (default), to return right after the performing the Wick rotation, before performing the momentum integration. This option does not work with alpha parameters.

  

NOTE: the optional keywords that can have the value true on the right-hand side can be passed just as themselves, not as an equation, representing the value true. For example quiet is the same as quiet = true. Also, you don't need to use the exact spelling of any of these keywords - any unambiguous portion of them suffices, e.g. shifted for shiftedform.

Description

• 

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

S=TⅇiLXⅆX4

  

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

S=1+S1+S2+S3+...

  

where

Sn=inn!TLX__1,,LX__nⅆX__14ⅆX__n4

  

and TLX1,...,LXn is the time-ordered product of n interaction Lagrangians evaluated at different points. Note the factor inn! in this definition of Sn used here.

• 

The FeynmanIntegral(integrand, [[X1], [X2], ... [Xn]]) command is thus a computational representation for Sn in coordinates representation. Note the factor inn! included in the definition used here for Sn. That factor is automatically displayed when the second argument, [[X1], [X2], ... [Xn]], is a list of lists of coordinate systems. For details on the algebraic structure of integrand see FeynmanDiagrams.

• 

The FeynmanIntegral(integrand, [[p1], [p2], ... [pn]]) command, where [[p1], [p2], ... [pn]] is a list of lists of spacetime tensors pj, of the form p__n, is a computational representation for the integrals in momentum representation that enter the S-matrix elements f|S|i with initial and final states i and f, respectively with s initial particles with defined momentum pi and r final particles with defined momentum pf.

• 

The conventions for representing external and internal (loop integration) momenta are, respectively, that they are symbols of the form P__n and p__n, where n is an integer.

• 

In addition to representing the integral, when working in momentum representation, the command FeynmanIntegral(integrand, [[p1], [p2], ... [pn]]) actually computes the integral, by first introducing Feynman parameters then performing the loop integral using dimensional regularization, using FeynmanIntegral:-Evaluate (see the Examples section).

• 

The Evaluate command also provides a way to investigate the different steps of the computation of a Feynman integral, something of interest in general and also for the case where some of the steps cannot be performed automatically.

• 

Both Evaluate and FeynmanIntegral can compute tensor Feynman integrals by first reducing them to scalar integrals using TensorReduce, as shown in the last example.

• 

In both coordinates and momentum representation, to each element in the list of lists of the second argument in FeynmanIntegral(integrand, [[..], [..], ... [..]]) corresponds a 4-dimensional integral, and the number of elements in that list of lists indicates the number of vertices of the Feynman diagrams corresponding to the Feynman integral.

• 

To obtain the S-matrix elements f|S|i in momentum representation for each Sn entering the expansion of S in coordinates representation see sec. 20.1 of ref.[1].

• 

The inert form of this command, %FeynmanIntegral, is used by the FeynmanDiagrams command to represent each Sj entering S=1+S1+...+Sn in coordinates representation, as well as the integrals in momentum representation entering f|S|i. For details on the algebraic structure of integrand in both representations see FeynmanDiagrams.

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);

Systems of spacetime coordinates are:X=x1,x2,x3,x4,Y=y1,y2,y3,y4,Z=z1,z2,z3,z4

_______________________________________________________

coordinatesystems=X,Y,Z,mathematicalnotation=true,quantumoperators=φ

(1)

Let L be the interaction Lagrangian

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

LλφX4

(2)

The 2nd term of the expansion S=1+S1+S2+... in coordinates representation is represented using the inert form of the FeynmanIntegral command. All the corresponding Feynman diagrams contain two vertices

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

S2=I22!72λ2φX2φY2φX,φY2+16λ2φX3φY3φX,φY+96λ2φXφYφX,φY3ⅆX 4ⅆY 4

(3)

From the diagrams above, the possible configurations involve 2, 4 or 6 external legs, with respectively 2, 1 and 0 loops. To get the Feynman integral with the configuration that has only n external legs use the numberofexternallegs option of FeynmanDiagrams

%eval(S[2], legs = 2) = FeynmanDiagrams(L, numberofvertices = 2, numberofexternallegs = 2);

S2legs=2|S2legs=2=I22!96λ2φXφYφX,φY3ⅆX 4ⅆY 4

(4)

Corresponding to this result, one possible specific process involving 2 external legs is that where there is an initial state i with 1 incoming particle, and a final state f with 1 outgoing particle. The S-matrix element f|S|i for that process is expressed in terms of a FeynmanIntegral in momentum representation via

%eval(%Bracket(f, S[2], i), loops = 2)  = FeynmanDiagrams(L, incomingparticles = [phi], outgoingparticles = [phi], numberofloops = 2);

f|S2|iloops=2|f|S2|iloops=2=3I8λ2δP__2+P__1π7E__1E__2P__1+p__2+p__32m__φ2+Iεp__22m__φ2+Iεp__32m__φ2+Iεⅆp__2 4ⅆp__3 4

(5)

The Feynman integrals, whose corresponding diagrams have 3 loops, for the same process φφ

%eval(%Bracket(f, S[2], i), loops = 3) = FeynmanDiagrams(L, incomingparticles = [phi], outgoingparticles = [phi], numberofloops = 3);

f|S2|iloops=3|f|S2|iloops=3=9λ3δP__2+P__132π11E__1E__2p__3+p__4+p__52m__φ2+IεP__1+P__2p__3p__4p__52m__φ2+Iεp__32m__φ2+Iεp__42m__φ2+Iεp__52m__φ2+Iεⅆp__3 4ⅆp__4 4ⅆp__5 4+29λ3δP__2+P__132π11E__1E__2P__2+p__4+p__52m__φ2+IεP__1+P__2p__3p__4p__52m__φ2+Iεp__32m__φ2+Iεp__42m__φ2+Iεp__52m__φ2+Iεⅆp__3 4ⅆp__4 4ⅆp__5 4+9λ3δP__2+P__132π11E__1E__2P__1p__2+P__2p__4p__52m__φ2+Iεp__22m__φ2+IεP__2+p__4+p__52m__φ2+Iεp__42m__φ2+Iεp__52m__φ2+Iεⅆp__2 4ⅆp__4 4ⅆp__5 4

(6)

To evaluate these integrals, you can use the FeynmanIntegral:-Evaluate command, or just activate the inert integrals using value. For these purposes, load the FeynmanIntegral package

with(FeynmanIntegral);

Evaluate,ExpandDimension,FromAbstractRepresentation,Parametrize,Series,SumLookup,TensorBasis,TensorReduce,ToAbstractRepresentation,ε,ϵ

(7)

As a simple example, consider this integral, shown as formula 4 in ref [1], Appendix A

%FeynmanIntegral(1/(-m^2+p__1^2+I*epsilon)/(p__1^2+I*epsilon), p__1);

1m2+p__12+Iεp__12+Iεⅆp__1 4

(8)

Evaluate((8));

Iπ2ϵΓϵm2ϵΓϵ+1Γ2ϵ

(9)

Comparing with the result shown in [1]

Pi^(2 - varepsilon)*I*GAMMA(varepsilon)*GAMMA(1 - varepsilon)*1/GAMMA(2 - varepsilon)*1/(m^2)^varepsilon;

Iπ2ϵΓϵΓϵ+1Γ2ϵm2ϵ

(10)

This book's result is the same as the one obtained using Evaluate:

simplify((10) - (9));

0

(11)

In (9) above, we see the dimensional parameter ϵ. To expand the dimension around ϵ keeping terms of order less than 1, pass to Evaluate the optional argument expanddimension, or use

ExpandDimension((9));

Iπ2ϵ−1+−Iπ2lnm2+lnπ+γ1+Oϵ

(12)

Alternatively, you can use the expanddimension option of Evaluate, in which case all the Feynman integrals found in the first argument (in this example only one) will be automatically expanded with regards to the spacetime dimension

Evaluate((8), expanddimension);

Iπ2ϵ−1+−Iπ2lnm2+lnπ+γ1+Oϵ

(13)

This is the essence of the dimensional regularization approach, where the integral is computed in dimension d=42ϵ, then the result splits into a finite and infinite part when ϵ0.

An example departing from an interaction Lagrangian

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

LλφX3

(14)

A process with one incoming and one outgoing particle a 1-loop

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

9λ2δP__2+P__18π3E__1E__2P__1+p__22m__φ2+Iεp__22m__φ2+Iεⅆp__2 4

(15)

To Parametrize this Feynman integral using Feynman parameters, use

Parametrize((15));

(16)

To evaluate the integral you can use Evaluate. For illustration purposes, we tackle this example all the way step by step using the optional arguments of Evaluate, and at the end we perform all the steps in one go via Evaluate((14)).

The first step is parametrizing the integral, resulting in the same returned by Parametrize above but switching the integration order between the loop momentum and the Feynman parameters

Evaluate((15), parametrizedform);

(17)

Expanding the denominator, it has a term linear in the loop integration variable p2. The next step then is to complete the square and perform a change of variables shifting p2. This step makes possible a Wick rotation in the next step. The shifted form is

Evaluate((15), shiftedform);

(18)

The Wick rotation allows for splitting the integral over the loop momentum into a radial and an angular part in d-dimensions; the Wick rotated form is

Evaluate((15), wickrotated);

(19)

The inner integral in d-dimensions is now split into the integral of the solid angle, which is straightforward, and the radial part that can be computed systematically, resulting in

Evaluate((15), loopmomentumintegrated);

(20)

At this point a Mellin Barnes representation is constructed

Evaluate((15), mbrepresentation);

9π2ϵδP__2+P__1λ2II0101ξ__1ξ__2P__12σ__1m__φ2ϵσ__1Γσ__1Γϵ+σ__1δ1+ξ__1+ξ__2ⅆξ__2ⅆξ__1ⅆσ__116E__1E__2

(21)

In this Mellin Barnes representation, the integration of the Feynman parameters is now straightforward

Evaluate((15), feynmanparametersintegrated);

9π2ϵδP__2+P__1λ2IIP__12σ__1m__φ2ϵσ__1Γσ__1Γϵ+σ__1Γσ__1+12Γ2σ__1+2ⅆσ__116E__1E__2

(22)

The last step in the integration process involves performing the integral over the Mellin Barnes parameters which can be computed using residues, basically transforming the integral into a sum. So all the steps in one go results in

Evaluate((15));

9I8π1ϵλ2δP__2+P__1n=0P__12nΓϵ+nΓn+1m__φ2ϵ2nΓ2n+2E__1E__2

(23)

To expand the dimension around ϵ keeping terms of order less than 1, use

ExpandDimension((23));

9I8λ2δP__2+P__1πE__1E__2ϵ−1+9I8λ2δP__2+P__12lnm__φ+γn=1P__12nΓnΓn+1Γ2n+2m__φ2n+lnπE__1E__2π+Oϵ

(24)

Both Evaluate and FeynmanIntegral can compute tensor Feynman integrals (with occurrences of the loop momentum with free spacetime indices in the numerator) by first reducing them to scalar integrals using TensorReduce. Consider for instance

%FeynmanIntegral(p__1[~mu]/((p__1^2 - m__phi^2 + i * epsilon)*((p__1 - P__1)^2 - m__1^2 + i * epsilon)), p__1);

p__1μμiεm__φ2+p__12p__1P__12m__12+iεⅆp__1 4

(25)

The reduction of this tensor integral to a linear combination of scalar Feynman integrals is given by:

TensorReduce((25));

m__12m__φ2P__1·P__11p__12m__φ2+Iεp__1P__12m__12+Iεⅆp__1 4+1p__12m__φ2+Iεⅆp__1 41p__1P__12m__12+Iεⅆp__1 4P__1μμ2P__1·P__1

(26)

Note that, by design, the reduction process using TensorReduce does not evaluate the integrals so that one can follow the steps clearly using the command's optional arguments. TensorReduce is automatically called by Evaluate and FeynmanIntegral when the integral is tensorial, so the whole process can be performed in one go:

Evaluate((25));

Im__12m__φ2P__1·P__1π2ϵn=0n__1=0m__12+m__φ2nP__12n__1Γϵ+n+n__1Γn+n__1+1m__φ2n__12ϵ2nΓ2n__1+n+2Γn+1Iπ2ϵm__φ2ϵ+2Γϵ1+Iπ2ϵm__12ϵ+2Γϵ1P__1μμ2P__1·P__1

(27)

See Also

Dgamma, DiracConjugate, ExpandDimension, FeynmanDiagrams, FeynmanIntegral[Overview], Parametrize, Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Setup, StandardModel, TensorReduce

References

  

[1] Smirnov, V.A., Feynman Integral Calculus. Springer, 2006.

  

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

  

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

Compatibility

• 

The Physics[FeynmanIntegral], Physics[FeynmanIntegral][Evaluate], Physics[FeynmanIntegral][epsilon] and Physics[FeynmanIntegral][varepsilon] commands were introduced in Maple 2021.

• 

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