epsilon - Maple Help

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+{S}_{1}+{S}_{2}+\mathrm{...}$ 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 $\frac{{i}^{n}}{n!}$, where n is the order of ${S}_{n}$ 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 $\mathrm{Physics}:-\mathrm{Setup}\left(\mathrm{dimension}\right)$
 • expanddimension = ... : the right-hand side can be true or false (default), to expand the result in series up to order $\mathrm{O}\left(\mathrm{ϵ}\right)$ before returning it. The $\mathrm{ϵ}$ = FeynmanIntegral:-varepsilon is the dimensional parameter, and the integration is performed at dimension $d=\mathrm{Physics}:-\mathrm{Setup}\left(\mathrm{dimension}\right)-2\mathrm{ϵ}$, and be default $\mathrm{Physics}:-\mathrm{Setup}\left(\mathrm{dimension}\right)=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 $\mathrm{\alpha }$ - 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, $\left|i\right⟩$ and $\left|f\right⟩$, of an interacting system. In an N-dimensional spacetime with coordinates $X$, $S$ can be written as:

$S=T\left({ⅇ}^{i\int L\left(X\right)ⅆ{X}^{4}}\right)$

 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+{S}_{1}+{S}_{2}+{S}_{3}+\mathrm{...}$

 where

${S}_{n}=\frac{{i}^{n}}{n!}\int \dots \int T\left(L\left(\mathrm{X__1}\right),\dots ,L\left(\mathrm{X__n}\right)\right)ⅆ{\mathrm{X__1}}^{4}\dots ⅆ{\mathrm{X__n}}^{4}$

 and $T\left(L\left({X}_{1}\right),\mathrm{...},L\left({X}_{n}\right)\right)$ is the time-ordered product of n interaction Lagrangians evaluated at different points. Note the factor $\frac{{i}^{n}}{n!}$ in this definition of ${S}_{n}$ used here.
 • The FeynmanIntegral(integrand, [[X1], [X2], ... [Xn]]) command is thus a computational representation for ${S}_{n}$ in coordinates representation. Note the factor $\frac{{i}^{n}}{n!}$ included in the definition used here for ${S}_{n}$. 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 $\left|i\right⟩$ and $\left|f\right⟩$, respectively with s initial particles with defined momentum ${p}_{i}$ and r final particles with defined momentum ${p}_{f}$.
 • 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 ${S}_{n}$ 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 ${S}_{j}$ entering $S=1+{S}_{1}+\mathrm{...}+{S}_{n}$ 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 $\mathrm{\phi }$ to represent a quantum operator

 > with(Physics):
 > Setup(mathematicalnotation = true, coordinates = [X, Y, Z], quantumoperators = phi);
 ${}\mathrm{Systems of spacetime coordinates are:}{}\left\{X=\left(\mathrm{x1}{,}\mathrm{x2}{,}\mathrm{x3}{,}\mathrm{x4}\right){,}Y=\left(\mathrm{y1}{,}\mathrm{y2}{,}\mathrm{y3}{,}\mathrm{y4}\right){,}Z=\left(\mathrm{z1}{,}\mathrm{z2}{,}\mathrm{z3}{,}\mathrm{z4}\right)\right\}$
 $\mathrm{_______________________________________________________}$
 $\left[{\mathrm{coordinatesystems}}{=}\left\{{X}{,}{Y}{,}{Z}\right\}{,}{\mathrm{mathematicalnotation}}{=}{\mathrm{true}}{,}{\mathrm{quantumoperators}}{=}\left\{{\mathrm{\phi }}\right\}\right]$ (1)

Let $L$ be the interaction Lagrangian

 > L := lambda*phi(X)^4;
 ${L}{≔}{\mathrm{\lambda }}{}{{\mathrm{\phi }}{}\left({X}\right)}^{{4}}$ (2)

The ${2}^{\mathrm{nd}}$ term of the expansion $S=1+{S}_{1}+{S}_{2}+\mathrm{...}$ 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);

 ${{S}}_{{2}}{=}\frac{{{I}}^{{2}}}{{2}{!}}{\int }{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{72}{}{{\mathrm{\lambda }}}^{{2}}{}:{{\mathrm{\phi }}{}\left({X}\right)}^{{2}}{}{{\mathrm{\phi }}{}\left({Y}\right)}^{{2}}:{}{\left[{\mathrm{\phi }}{}\left({X}\right){,}{\mathrm{\phi }}{}\left({Y}\right)\right]}^{{2}}{+}{16}{}{{\mathrm{\lambda }}}^{{2}}{}:{{\mathrm{\phi }}{}\left({X}\right)}^{{3}}{}{{\mathrm{\phi }}{}\left({Y}\right)}^{{3}}:{}\left[{\mathrm{\phi }}{}\left({X}\right){,}{\mathrm{\phi }}{}\left({Y}\right)\right]{+}{96}{}{{\mathrm{\lambda }}}^{{2}}{}:{\mathrm{\phi }}{}\left({X}\right){}{\mathrm{\phi }}{}\left({Y}\right):{}{\left[{\mathrm{\phi }}{}\left({X}\right){,}{\mathrm{\phi }}{}\left({Y}\right)\right]}^{{3}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{{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);
 $\genfrac{}{}{0}{}{{{S}}_{{2}}}{\phantom{{\mathrm{legs}}{=}{2}}}{|}\genfrac{}{}{0}{}{\phantom{{{S}}_{{2}}}}{{\mathrm{legs}}{=}{2}}{=}\frac{{{I}}^{{2}}}{{2}{!}}{\int }{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{96}{}{{\mathrm{\lambda }}}^{{2}}{}:{\mathrm{\phi }}{}\left({X}\right){}{\mathrm{\phi }}{}\left({Y}\right):{}{\left[{\mathrm{\phi }}{}\left({X}\right){,}{\mathrm{\phi }}{}\left({Y}\right)\right]}^{{3}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{{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 $\left|i\right⟩$ with 1 incoming particle, and a final state $\left|f\right⟩$ 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);
 $\genfrac{}{}{0}{}{⟨\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{f}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{|}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{{S}}_{{2}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{|}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{i}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}⟩}{\phantom{{\mathrm{loops}}{=}{2}}}{|}\genfrac{}{}{0}{}{\phantom{⟨\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{f}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{|}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{{S}}_{{2}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{|}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{i}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}⟩}}{{\mathrm{loops}}{=}{2}}{=}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{\frac{{3}{}{I}}{{8}}{}{{\mathrm{\lambda }}}^{{2}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right)}{{{\mathrm{\pi }}}^{{7}}{}\sqrt{\mathrm{E__1}{}\mathrm{E__2}}{}\left({\left(\mathrm{P__1}{+}\mathrm{p__2}{+}\mathrm{p__3}\right)}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__2}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__3}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__2}}^{{4}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__3}}^{{4}}$ (5)

The Feynman integrals, whose corresponding diagrams have 3 loops, for the same process $\mathrm{\phi }↦\mathrm{\phi }$

 > %eval(%Bracket(f, S[2], i), loops = 3) = FeynmanDiagrams(L, incomingparticles = [phi], outgoingparticles = [phi], numberofloops = 3);
 $\genfrac{}{}{0}{}{⟨\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{f}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{|}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{{S}}_{{2}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{|}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{i}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}⟩}{\phantom{{\mathrm{loops}}{=}{3}}}{|}\genfrac{}{}{0}{}{\phantom{⟨\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{f}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{|}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{{S}}_{{2}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{|}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{i}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}⟩}}{{\mathrm{loops}}{=}{3}}{=}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{{9}{}{{\mathrm{\lambda }}}^{{3}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right)}{{32}{}{{\mathrm{\pi }}}^{{11}}{}\sqrt{\mathrm{E__1}{}\mathrm{E__2}}{}\left({\left(\mathrm{p__3}{+}\mathrm{p__4}{+}\mathrm{p__5}\right)}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\left({-}\mathrm{P__1}{+}\mathrm{P__2}{-}\mathrm{p__3}{-}\mathrm{p__4}{-}\mathrm{p__5}\right)}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__3}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__4}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__5}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__3}}^{{4}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__4}}^{{4}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__5}}^{{4}}{+}{2}{}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{{9}{}{{\mathrm{\lambda }}}^{{3}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right)}{{32}{}{{\mathrm{\pi }}}^{{11}}{}\sqrt{\mathrm{E__1}{}\mathrm{E__2}}{}\left({\left({-}\mathrm{P__2}{+}\mathrm{p__4}{+}\mathrm{p__5}\right)}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\left({-}\mathrm{P__1}{+}\mathrm{P__2}{-}\mathrm{p__3}{-}\mathrm{p__4}{-}\mathrm{p__5}\right)}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__3}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__4}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__5}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__3}}^{{4}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__4}}^{{4}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__5}}^{{4}}{+}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{{9}{}{{\mathrm{\lambda }}}^{{3}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right)}{{32}{}{{\mathrm{\pi }}}^{{11}}{}\sqrt{\mathrm{E__1}{}\mathrm{E__2}}{}\left({\left({-}\mathrm{P__1}{-}\mathrm{p__2}{+}\mathrm{P__2}{-}\mathrm{p__4}{-}\mathrm{p__5}\right)}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__2}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\left({-}\mathrm{P__2}{+}\mathrm{p__4}{+}\mathrm{p__5}\right)}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__4}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__5}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__2}}^{{4}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__4}}^{{4}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{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);
 $\left[{\mathrm{Evaluate}}{,}{\mathrm{ExpandDimension}}{,}{\mathrm{FromAbstractRepresentation}}{,}{\mathrm{Parametrize}}{,}{\mathrm{Series}}{,}{\mathrm{SumLookup}}{,}{\mathrm{TensorBasis}}{,}{\mathrm{TensorReduce}}{,}{\mathrm{ToAbstractRepresentation}}{,}{\mathrm{\epsilon }}{,}{\mathrm{ϵ}}\right]$ (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);
 $\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{{1}}{\left({-}{{m}}^{{2}}{+}{\mathrm{p__1}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__1}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__1}}^{{4}}$ (8)
 > Evaluate((8));
 $\frac{{I}{}{{\mathrm{\pi }}}^{{2}{-}{\mathrm{ϵ}}}{}{\mathrm{\Gamma }}{}\left({\mathrm{ϵ}}\right){}{\left({{m}}^{{2}}\right)}^{{-}{\mathrm{ϵ}}}{}{\mathrm{\Gamma }}{}\left({-}{\mathrm{ϵ}}{+}{1}\right)}{{\mathrm{\Gamma }}{}\left({2}{-}{\mathrm{ϵ}}\right)}$ (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;
 $\frac{{I}{}{{\mathrm{\pi }}}^{{2}{-}{\mathrm{ϵ}}}{}{\mathrm{\Gamma }}{}\left({\mathrm{ϵ}}\right){}{\mathrm{\Gamma }}{}\left({-}{\mathrm{ϵ}}{+}{1}\right)}{{\mathrm{\Gamma }}{}\left({2}{-}{\mathrm{ϵ}}\right){}{\left({{m}}^{{2}}\right)}^{{\mathrm{ϵ}}}}$ (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 $\mathrm{ϵ}$. To expand the dimension around $\mathrm{ϵ}$ keeping terms of order less than 1, pass to Evaluate the optional argument expanddimension, or use

 > ExpandDimension((9));
 ${I}{}{{\mathrm{\pi }}}^{{2}}{}{{\mathrm{ϵ}}}^{{-1}}{+}{-I}{}{{\mathrm{\pi }}}^{{2}}{}\left({\mathrm{ln}}{}\left({{m}}^{{2}}\right){+}{\mathrm{ln}}{}\left({\mathrm{\pi }}\right){+}{\mathrm{\gamma }}{-}{1}\right){+}{O}{}\left({\mathrm{ϵ}}\right)$ (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}{}{{\mathrm{\pi }}}^{{2}}{}{{\mathrm{ϵ}}}^{{-1}}{+}{-I}{}{{\mathrm{\pi }}}^{{2}}{}\left({\mathrm{ln}}{}\left({{m}}^{{2}}\right){+}{\mathrm{ln}}{}\left({\mathrm{\pi }}\right){+}{\mathrm{\gamma }}{-}{1}\right){+}{O}{}\left({\mathrm{ϵ}}\right)$ (13)

This is the essence of the dimensional regularization approach, where the integral is computed in dimension $d=4-2\mathrm{ϵ}$, then the result splits into a finite and infinite part when $\mathrm{ϵ}↦0$.

An example departing from an interaction Lagrangian

 > L := lambda*phi(X)^3;
 ${L}{≔}{\mathrm{\lambda }}{}{{\mathrm{\phi }}{}\left({X}\right)}^{{3}}$ (14)

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

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

 $\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{{9}{}{{\mathrm{\lambda }}}^{{2}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right)}{{8}{}{{\mathrm{\pi }}}^{{3}}{}\sqrt{\mathrm{E__1}{}\mathrm{E__2}}{}\left({\left(\mathrm{P__1}{+}\mathrm{p__2}\right)}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\mathrm{p__2}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{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 $\mathrm{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 ${p}_{2}$. The next step then is to complete the square and perform a change of variables shifting ${p}_{2}$. 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);
 $\frac{{9}{}{{\mathrm{\pi }}}^{{-}{2}{-}{\mathrm{ϵ}}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right){}{{\mathrm{\lambda }}}^{{2}}{}\left({{\int }}_{{-}{\mathrm{\infty }}{}{I}}^{{\mathrm{\infty }}{}{I}}{{\int }}_{{0}}^{{1}}{{\int }}_{{0}}^{{1}}{\left({-}\mathrm{ξ__1}{}\mathrm{ξ__2}{}{\mathrm{P__1}}^{{2}}\right)}^{\mathrm{σ__1}}{}{\left({\mathrm{m__φ}}^{{2}}\right)}^{{-}{\mathrm{ϵ}}{-}\mathrm{σ__1}}{}{\mathrm{\Gamma }}{}\left({-}\mathrm{σ__1}\right){}{\mathrm{\Gamma }}{}\left({\mathrm{ϵ}}{+}\mathrm{σ__1}\right){}{\mathrm{\delta }}{}\left({-}{1}{+}\mathrm{ξ__1}{+}\mathrm{ξ__2}\right)\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}\mathrm{ξ__2}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}\mathrm{ξ__1}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}\mathrm{σ__1}\right)}{{16}{}\sqrt{\mathrm{E__1}{}\mathrm{E__2}}}$ (21)

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

 > Evaluate((15), feynmanparametersintegrated);
 $\frac{{9}{}{{\mathrm{\pi }}}^{{-}{2}{-}{\mathrm{ϵ}}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right){}{{\mathrm{\lambda }}}^{{2}}{}\left({{\int }}_{{-}{\mathrm{\infty }}{}{I}}^{{\mathrm{\infty }}{}{I}}\frac{{\left({-}{\mathrm{P__1}}^{{2}}\right)}^{\mathrm{σ__1}}{}{\left({\mathrm{m__φ}}^{{2}}\right)}^{{-}{\mathrm{ϵ}}{-}\mathrm{σ__1}}{}{\mathrm{\Gamma }}{}\left({-}\mathrm{σ__1}\right){}{\mathrm{\Gamma }}{}\left({\mathrm{ϵ}}{+}\mathrm{σ__1}\right){}{{\mathrm{\Gamma }}{}\left(\mathrm{σ__1}{+}{1}\right)}^{{2}}}{{\mathrm{\Gamma }}{}\left({2}{}\mathrm{σ__1}{+}{2}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}\mathrm{σ__1}\right)}{{16}{}\sqrt{\mathrm{E__1}{}\mathrm{E__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));
 $\frac{\frac{{9}{}{I}}{{8}}{}{{\mathrm{\pi }}}^{{-}{1}{-}{\mathrm{ϵ}}}{}{{\mathrm{\lambda }}}^{{2}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right){}\left({\sum }_{{n}{=}{0}}^{{\mathrm{\infty }}}{}\frac{{\mathrm{P__1}}^{{2}{}{n}}{}{\mathrm{\Gamma }}{}\left({\mathrm{ϵ}}{+}{n}\right){}{\mathrm{\Gamma }}{}\left({n}{+}{1}\right){}{\mathrm{m__φ}}^{{-}{2}{}{\mathrm{ϵ}}{-}{2}{}{n}}}{{\mathrm{\Gamma }}{}\left({2}{}{n}{+}{2}\right)}\right)}{\sqrt{\mathrm{E__1}{}\mathrm{E__2}}}$ (23)

To expand the dimension around $\mathrm{ϵ}$ keeping terms of order less than 1, use

 > ExpandDimension((23));
 $\frac{\frac{{9}{}{I}}{{8}}{}{{\mathrm{\lambda }}}^{{2}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right)}{{\mathrm{\pi }}{}\sqrt{\mathrm{E__1}{}\mathrm{E__2}}}{}{{\mathrm{ϵ}}}^{{-1}}{+}\frac{{-}\frac{{9}{}{I}}{{8}}{}{{\mathrm{\lambda }}}^{{2}}{}{\mathrm{\delta }}{}\left({-}\mathrm{P__2}{+}\mathrm{P__1}\right){}\left({2}{}{\mathrm{ln}}{}\left(\mathrm{m__φ}\right){+}{\mathrm{\gamma }}{-}\left({\sum }_{{n}{=}{1}}^{{\mathrm{\infty }}}{}\frac{{\mathrm{P__1}}^{{2}{}{n}}{}{\mathrm{\Gamma }}{}\left({n}\right){}{\mathrm{\Gamma }}{}\left({n}{+}{1}\right)}{{\mathrm{\Gamma }}{}\left({2}{}{n}{+}{2}\right){}{\mathrm{m__φ}}^{{2}{}{n}}}\right){+}{\mathrm{ln}}{}\left({\mathrm{\pi }}\right)\right)}{\sqrt{\mathrm{E__1}{}\mathrm{E__2}}{}{\mathrm{\pi }}}{+}{O}{}\left({\mathrm{ϵ}}\right)$ (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);
 $\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{{\mathrm{p__1}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}}{\left({i}{}{\mathbf{\epsilon }}{-}{\mathrm{m__φ}}^{{2}}{+}{\mathrm{p__1}}^{{2}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathbf{\epsilon }}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__1}}^{{4}}$ (25)

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

 > TensorReduce((25));
 ${-}\frac{\left(\left({\mathrm{m__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{-}\mathrm{P__1}{·}\mathrm{P__1}\right){}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{{1}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}\right)}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__1}}^{{4}}{+}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{{1}}{{\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__1}}^{{4}}{-}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{\int }\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}\frac{{1}}{{\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{I}{}{\mathbf{\epsilon }}}\phantom{\rule[-0.0ex]{0.3em}{0.0ex}}{ⅆ}{\mathrm{p__1}}^{{4}}\right){}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}}{{2}{}\left(\mathrm{P__1}{·}\mathrm{P__1}\right)}$ (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));
 ${-}\frac{\left({-}{I}{}\left({\mathrm{m__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{-}\mathrm{P__1}{·}\mathrm{P__1}\right){}{{\mathrm{\pi }}}^{{2}{-}{\mathrm{ϵ}}}{}\left({\sum }_{{n}{=}{0}}^{{\mathrm{\infty }}}{}{\sum }_{\mathrm{n__1}{=}{0}}^{{\mathrm{\infty }}}{}\left({-}\frac{{\left({-}{\mathrm{m__1}}^{{2}}{+}{\mathrm{m__φ}}^{{2}}\right)}^{{n}}{}{\mathrm{P__1}}^{{2}{}\mathrm{n__1}}{}{\mathrm{\Gamma }}{}\left({\mathrm{ϵ}}{+}{n}{+}\mathrm{n__1}\right){}{\mathrm{\Gamma }}{}\left({n}{+}\mathrm{n__1}{+}{1}\right){}{\mathrm{m__φ}}^{{-}{2}{}\mathrm{n__1}{-}{2}{}{\mathrm{ϵ}}{-}{2}{}{n}}}{{\mathrm{\Gamma }}{}\left({2}{}\mathrm{n__1}{+}{n}{+}{2}\right){}{\mathrm{\Gamma }}{}\left({n}{+}{1}\right)}\right)\right){-}{I}{}{{\mathrm{\pi }}}^{{2}{-}{\mathrm{ϵ}}}{}{\mathrm{m__φ}}^{{-}{2}{}{\mathrm{ϵ}}{+}{2}}{}{\mathrm{\Gamma }}{}\left({\mathrm{ϵ}}{-}{1}\right){+}{I}{}{{\mathrm{\pi }}}^{{2}{-}{\mathrm{ϵ}}}{}{\mathrm{m__1}}^{{-}{2}{}{\mathrm{ϵ}}{+}{2}}{}{\mathrm{\Gamma }}{}\left({\mathrm{ϵ}}{-}{1}\right)\right){}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}}{{2}{}\left(\mathrm{P__1}{·}\mathrm{P__1}\right)}$ (27)

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.