Evaluate - Maple Help

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 appearing in the expansion of the Scattering matrix in momentum representation

Calling Sequence

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

Evaluate(expression, options)




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.

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


a list of lists, here each Xj is a symbol of the form starting with a Capital letter followed by an integer, 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, here 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. The p__ncan also be defined as a tensor using Define.



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



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


epsilon = ... : the name of the variable representing the deviation with respect to the dimension of spacetime equal to D - 2epsilon. Default is FeynmanIntegral:-varepsilon.


expanddimensionalparameter = ... : the right-hand side can be true or false (default), to expand the result in series up to order Oϵ before returning it.


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


performmomentumintegration = ... : the right-hand side can be true (default) or false, to perform or not the integration over the loop momentum, independent of performing the parameters integration.


performparametersintegration = ... : the right-hand side can be true (default) or false, to perform or not the integration over the Feynman parameters. This option does not work with alpha parameters and requires not changing any of the default values of the other options.


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


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. momentum for performmomentumintegration.



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:



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






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, 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. 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 FeynmanIntgral:-Evaluate (see the Examples section).


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.


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



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




Let L be the interaction Lagrangian




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




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




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




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




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





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




To Parametrize this Feynman integral using Feynman parameters, use




To evaluate the integral use Evaluate




In this result, we see the dimensional parameter ϵ, and the integration over the Feynman parameters is performed automatically; you can request to skip the last integration step using the option parametersintegration = false




As a simpler example, consider the integral (10) shown in ref [1], Appendix A, as formula 4








Comparing with the result shown in [1]




This book's result is the same as (17):




See Also

Physics, Physics conventions, Physics examples, Physics Updates, Tensors - a complete guide, Mini-Course Computer Algebra for Physicists, Physics/Setup, Physics[Dgamma], Physics[FeynmanDiagrams], Physics[FeynmanIntegral][Parametrize], Physics[Psigma]



[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.



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


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