TensorReduce - Maple Help

Physics[FeynmanIntegral][TensorReduce] - reduce a tensor Feynman integral to a linear combination of scalar Feynman integrals

 Calling Sequence TensorReduce(expression, outputstep = N)

Parameters

 expression - any expression, equation, set, list or matrix of them, typically involving Feynman tensor integrals outputstep = N - optional, the left-hand side is outputstep and the right-hand side N is a number from 1 to 7 indicating the step at which the tensor reduction is interrupted and the intermediate result returned

Description

 • When computing the scattering matrix $S$ for a particle process (momentum representation, see FeynmanDiagrams) the result, at one or more loops, contains Feynman integrals. Depending on the fields entering the interaction Lagrangian, the numerator of the integrand of such an integral may involve the loop momentum integration variable (one or a product of them) with free spacetime indices. That is the case of a tensor Feynman integral. Generally speaking, tensor integrals are computed by first reducing them to scalar integrals, for which there exist different approaches. In this context, TensorReduce reduces to scalar integrals the tensor integrals found in expression, using the Passarino-Veltman reduction approach.
 • There are two key observations in the Passarino-Veltman scheme. One is that a 1-loop tensor Feynman integral can always be expressed as a linear combination of tensorial expressions constructed with the external momenta ${P}_{n}^{\mathrm{\mu }}$ and the metric ${g}_{\mathrm{\mu },\mathrm{\nu }}$, That is, as a finite sum of the form $\sum _{n=1}^{N}{C}_{n}{t}_{n}^{\left(\mathrm{\mu },\mathrm{\nu },\mathrm{...}\right)}$. The ${t}_{n}^{\mathrm{\mu },\mathrm{\nu },\mathrm{...}}$ have the free indices of (possibly a product of) the loop momentum in the numerator of the integrand. These tensorial structures are constructed by taking products of the external momenta ${P}_{j}^{\mathrm{\mu }}$ entering the Feynman integral between themselves and the metric ${g}_{\mathrm{\mu },\mathrm{\nu }}$. The Maple command that constructs such a tensor basis of $N$ structures ${t}_{n}^{\mathrm{\mu },\mathrm{\nu },\mathrm{...}}$ is FeynmanIntegral:-TensorBasis.
 • The other idea behind this algorithm is that the scalar product of the loop momentum ${p}_{\mathrm{\mu }}$ found in the numerator of the integrand with tensor structures constructed with the external momentum ${P}_{\mathrm{\mu }}$ can be expressed as a linear combination of inverse propagators.
 • Combining both ideas, the coefficients ${C}_{n}$ entering $\sum _{n=1}^{N}{C}_{n}{t}_{n}^{\left(\mathrm{\mu },\mathrm{\nu },\mathrm{...}\right)}$ are computed by first, constructing an equation with the Feynman integral on the left-hand side and that expansion with the ${C}_{n}$ as unknown coefficients on the right-hand side. Then contracting this equation with the tensorial structures that, on the left-hand side, introduce inverse propagators, a system of equations is constructed and solved for the C[n].
 • Two relevant computational tools for performing the reduction and other manipulations of Feynman integrals are the commands ToAbstractRepresentation and FromAbstractRepresentation. These commands map, back and forth, a given Feynman integral into and from an abstract representation that contains all the information regarding the propagators present, external momenta and corresponding masses, the loop momentum integration, and the free indices.
 • The Passarino-Veltman algorithm has several steps, each of which can be of interest on its own, or simply to follow the computation step-by-step. For this purpose, you can use the optional argument outputstep = n, where n is any positive integer up to 7. The result of each step is as follows:
 – outputstep = 1:  an equation, with the Feynman tensor integral in the left-hand side and the linear combination of tensor structures constructed with the external momentum ${P}_{\mathrm{\mu }}$ and the metric on the right-hand side.
 – outputstep equal to 2, 3 or 4: a Vector of equations, each of which is constructed by contracting the output of step 1 with tensor structures that, when contracted with the loop momentum in the numerator of the integrand, results in inverse propagators. These scalar products are first represented (step 2) then the contractions are expressed in a more convenient form on the right-hand sides (step 3), finally the actual reduction - the core of the process - that happens when performing the contraction on the left-hand sides that results in inverse propagators (step 4). In these three steps, the integrals are represented in abstract form. These results can be manipulated further using ToAbstractRepresentation and FromAbstractRepresentation.
 – outputstep = 5: an equation with the output of the step 1 and the a set of equations containing the solution for the coefficients ${C}_{n}$
 – outputstep = 6: an equation with the left-hand side equal to the given Feynman tensor integral and the right hand side already as a linear combination of scalar Feynman integrals written in the abstract representation used in the FeynmanIntegral package (see the commands ToAbstractRepresentation, FromAbstractRepresentation).
 – outputstep = 7: the same as omitting outputstep = ... entirely, the result is the full reduction of the tensor integral to a linear combination of scalar Feynman integrals.

Examples

 > $\mathrm{with}\left(\mathrm{Physics}\right):$
 > $\mathrm{with}\left(\mathrm{FeynmanIntegral}\right)$
 $\left[{\mathrm{Evaluate}}{,}{\mathrm{ExpandDimension}}{,}{\mathrm{FromAbstractRepresentation}}{,}{\mathrm{Parametrize}}{,}{\mathrm{Series}}{,}{\mathrm{SumLookup}}{,}{\mathrm{TensorBasis}}{,}{\mathrm{TensorReduce}}{,}{\mathrm{ToAbstractRepresentation}}{,}{\mathrm{\epsilon }}{,}{\mathrm{ϵ}}\right]$ (1)

To remain closer to textbook notation, display the imaginary unit with a lowercase $i$

 > $\mathrm{interface}\left(\mathrm{imaginaryunit}=i\right):$

The simplest case of a massive $\mathrm{\phi }$ field, the integral containing two propagators and one external momentum ${{P}_{1}}^{\mathrm{\mu }}$ to which corresponds the mass ${m}_{1}$.

 > $\mathrm{%FeynmanIntegral}\left(\frac{{\mathit{p__1}}_{\mathrm{~mu}}}{\left({\mathit{p__1}}^{2}-{\mathit{m__phi}}^{2}+i\mathrm{ε}\right)\left({\left(\mathit{p__1}-\mathit{P__1}\right)}^{2}-{\mathit{m__1}}^{2}+i\mathrm{ε}\right)},\mathit{p__1}\right)$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right)$ (2)

The reduction of this tensor integral to a linear combination of scalar Feynman integrals all in one go:

 > $=\mathrm{TensorReduce}\left(\right)$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){=}{-}\frac{{1}}{{2}}{}\frac{\left(\left({\mathrm{m__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{-}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)\right){}{\mathrm{%FeynmanIntegral}}{}\left(\frac{{1}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){+}{\mathrm{%FeynmanIntegral}}{}\left(\frac{{1}}{{\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}}{,}\mathrm{p__1}\right){-}{\mathrm{%FeynmanIntegral}}{}\left(\frac{{1}}{{\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}}{,}\mathrm{p__1}\right)\right){}{\mathrm{P__1}}_{{\mathrm{~mu}}}}{{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)}$ (3)

Note that, by design, the reduction process does not evaluate the integrals so that one can follow the reduction process clearly. The evaluation can be performed next by passing this result to Evaluate

 > $=\mathrm{Evaluate}\left(\mathrm{rhs}\left(\right)\right)$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){=}{-}\frac{{1}}{{2}}{}\frac{\left({-}{i}{}\left({\mathrm{m__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{-}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)\right){}{{\mathrm{π}}}^{{2}{-}{\mathrm{ϵ}}}{}{\mathrm{%sum}}{}\left({\mathrm{%sum}}{}\left({-}\frac{{\left({-}{\mathrm{m__1}}^{{2}}{+}{\mathrm{m__φ}}^{{2}}\right)}^{{n}}{}{\mathrm{m__φ}}^{{-}{2}{}{\mathrm{ϵ}}{-}{2}{}{n}{-}{2}{}\mathrm{n__1}}{}{\mathrm{P__1}}^{{2}{}\mathrm{n__1}}{}{\mathrm{Γ}}{}\left({\mathrm{ϵ}}{+}{n}{+}\mathrm{n__1}\right){}{\mathrm{Γ}}{}\left({n}{+}\mathrm{n__1}{+}{1}\right)}{{\mathrm{Γ}}{}\left({2}{}\mathrm{n__1}{+}{n}{+}{2}\right){}{\mathrm{Γ}}{}\left({1}{+}{n}\right)}{,}\mathrm{n__1}{=}{0}{..}{\mathrm{∞}}\right){,}{n}{=}{0}{..}{\mathrm{∞}}\right){-}{i}{}{{\mathrm{π}}}^{{2}{-}{\mathrm{ϵ}}}{}{\mathrm{m__φ}}^{{2}{-}{2}{}{\mathrm{ϵ}}}{}{\mathrm{Γ}}{}\left({-}{1}{+}{\mathrm{ϵ}}\right){+}{i}{}{{\mathrm{π}}}^{{2}{-}{\mathrm{ϵ}}}{}{\mathrm{m__1}}^{{2}{-}{2}{}{\mathrm{ϵ}}}{}{\mathrm{Γ}}{}\left({-}{1}{+}{\mathrm{ϵ}}\right)\right){}{\mathrm{P__1}}_{{\mathrm{~mu}}}}{{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)}$ (4)

Note also that Evaluate automatically calls TensorReduce to perform the reduction of tensor integrals when that is the case. So, passing the Feynman integral directly to Evaluate, skipping the interactive TensorReduce step, results in the same

 > $\mathrm{Evaluate}\left(\right)$
 ${-}\frac{\left({-}{i}{}\left({\mathrm{m__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{-}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)\right){}{{\mathrm{\pi }}}^{{2}{-}{\mathrm{ϵ}}}{}\left({\mathrm{%sum}}{}\left({\mathrm{%sum}}{}\left({-}\frac{{\left({-}{\mathrm{m__1}}^{{2}}{+}{\mathrm{m__φ}}^{{2}}\right)}^{{n}}{}{\mathrm{m__φ}}^{{-}{2}{}{\mathrm{ϵ}}{-}{2}{}{n}{-}{2}{}\mathrm{n__1}}{}{\mathrm{P__1}}^{{2}{}\mathrm{n__1}}{}{\mathrm{Γ}}{}\left({\mathrm{ϵ}}{+}{n}{+}\mathrm{n__1}\right){}{\mathrm{Γ}}{}\left({n}{+}\mathrm{n__1}{+}{1}\right)}{{\mathrm{Γ}}{}\left({2}{}\mathrm{n__1}{+}{n}{+}{2}\right){}{\mathrm{Γ}}{}\left({1}{+}{n}\right)}{,}\mathrm{n__1}{=}{0}{..}{\mathrm{∞}}\right){,}{n}{=}{0}{..}{\mathrm{∞}}\right)\right){-}{i}{}{{\mathrm{\pi }}}^{{2}{-}{\mathrm{ϵ}}}{}{\mathrm{m__φ}}^{{2}{-}{2}{}{\mathrm{ϵ}}}{}{\mathrm{\Gamma }}{}\left({-}{1}{+}{\mathrm{ϵ}}\right){+}{i}{}{{\mathrm{\pi }}}^{{2}{-}{\mathrm{ϵ}}}{}{\mathrm{m__1}}^{{2}{-}{2}{}{\mathrm{ϵ}}}{}{\mathrm{\Gamma }}{}\left({-}{1}{+}{\mathrm{ϵ}}\right)\right){}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}}{{2}{}\left({\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)\right)}$ (5)

Back to the reduction process, this is how the integral is processed one step at a time. First, check the abstract representation that will be used in the output step by step:

 > $\mathrm{ToAbstractRepresentation}\left(\right)$
 ${{𝕋}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}{}\left({2}{,}{0}{,}{\mathrm{m__φ}}^{{2}}{,}{-}\mathrm{P__1}{,}{\mathrm{m__1}}^{{2}}{,}\mathrm{p__1}{,}{0}\right)$ (6)

In this output we see the integral has 2 propagators, the first one has 0 external momentum (i.e. none) and mass ${{m}_{\mathrm{\phi }}}^{2}$. The second propagator has external momentum $\left(-1\right){P}_{1}$ to which corresponds the mass ${m}_{1}$. Finally the loop momentum integration variable is ${p}_{1}$ and the last operand, in this example equal to 0 means there are no contracted powers of ${p}_{1}$, the loop integration variable, in the numerator of the integrand. To retrieve the non-abstract form from the abstract one you can use

 > $\mathrm{FromAbstractRepresentation}\left(\right)$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right)$ (7)

The first step of the Passarino-Veltman reduction, the main equation

 > $\mathrm{TensorReduce}\left(,\mathrm{step}=1\right)$
 $\mathrm{* Partial match of \text{'}}\mathrm{step}\mathrm{\text{'} against keyword \text{'}}\mathrm{outputstep}\text{'}$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){=}{{C}}_{{1}}{}{\mathrm{P__1}}_{{\mathrm{~mu}}}$ (8)

The right-hand side contains only one element. That is so because the tensor basis for this problem, where there is only one free spacetime index in the numerator of the integral and only one external momentum ${P}_{1}$ is given by just

 > $\mathrm{TensorBasis}\left(\left[\mathit{P__1}\right],\left[\mathrm{~mu}\right]\right)$
 $\left[{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}\right]$ (9)

The second step

 > $\mathrm{TensorReduce}\left(,\mathrm{step}=2\right)$
 $\mathrm{* Partial match of \text{'}}\mathrm{step}\mathrm{\text{'} against keyword \text{'}}\mathrm{outputstep}\text{'}$
 $\left[\begin{array}{c}{\mathrm{P__1}}_{\mathrm{μ}}{}{𝕋}_{\mathrm{~mu}}{}\left(2,0,{\mathrm{m__φ}}^{2},-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)={\mathrm{P__1}}_{\mathrm{μ}}{}{C}_{1}{}{\mathrm{P__1}}_{\mathrm{~mu}}\end{array}\right]$ (10)

The third step only represents the scalar products in the right-hand side in a more convenient form

 > $\mathrm{TensorReduce}\left(,\mathrm{step}=3\right)$
 $\mathrm{* Partial match of \text{'}}\mathrm{step}\mathrm{\text{'} against keyword \text{'}}\mathrm{outputstep}\text{'}$
 $\left[\begin{array}{c}{\mathrm{P__1}}_{\mathrm{μ}}{}{𝕋}_{\mathrm{~mu}}{}\left(2,0,{\mathrm{m__φ}}^{2},-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)={C}_{1}{}\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)\end{array}\right]$ (11)

The fourth step is the most important one, where the actual reduction to scalar integrals, represented in abstract form, is performed

 > $\mathrm{TensorReduce}\left(,\mathrm{step}=4\right)$
 $\mathrm{* Partial match of \text{'}}\mathrm{step}\mathrm{\text{'} against keyword \text{'}}\mathrm{outputstep}\text{'}$
 $\left[\begin{array}{c}-\frac{1}{2}{}{𝕋}_{[]}{}\left(1,0,{\mathrm{m__φ}}^{2},\mathrm{p__1},0\right)+\frac{1}{2}{}{𝕋}_{[]}{}\left(1,-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)+\frac{1}{2}{}\left(\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)-{\mathrm{m__1}}^{2}+{\mathrm{m__φ}}^{2}\right){}{𝕋}_{[]}{}\left(2,0,{\mathrm{m__φ}}^{2},-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)={C}_{1}{}\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)\end{array}\right]$ (12)

To see this result in standard representation you can use

 > $\mathrm{FromAbstractRepresentation}\left(\right)$
 $\left[\begin{array}{c}-\frac{1}{2}{}\mathrm{%FeynmanIntegral}{}\left(\frac{1}{{\mathrm{p__1}}^{2}-{\mathrm{m__φ}}^{2}+I{}\mathrm{Physics}:-\mathrm{FeynmanDiagrams}:-\mathrm{ε}},\mathrm{p__1}\right)+\frac{1}{2}{}\mathrm{%FeynmanIntegral}{}\left(\frac{1}{{\left(\mathrm{p__1}-\mathrm{P__1}\right)}^{2}-{\mathrm{m__1}}^{2}+I{}\mathrm{Physics}:-\mathrm{FeynmanDiagrams}:-\mathrm{ε}},\mathrm{p__1}\right)+\frac{1}{2}{}\left(\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)-{\mathrm{m__1}}^{2}+{\mathrm{m__φ}}^{2}\right){}\mathrm{%FeynmanIntegral}{}\left(\frac{1}{\left({\mathrm{p__1}}^{2}-{\mathrm{m__φ}}^{2}+I{}\mathrm{Physics}:-\mathrm{FeynmanDiagrams}:-\mathrm{ε}\right){}\left({\left(\mathrm{p__1}-\mathrm{P__1}\right)}^{2}-{\mathrm{m__1}}^{2}+I{}\mathrm{Physics}:-\mathrm{FeynmanDiagrams}:-\mathrm{ε}\right)},\mathrm{p__1}\right)={C}_{1}{}\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)\end{array}\right]$ (13)

The fifth step processes this output by solving for the ${C}_{n}$ coefficients, expressing them in terms of the scalar integrals of step 4.

 > $\mathrm{TensorReduce}\left(,\mathrm{step}=5\right)$
 $\mathrm{* Partial match of \text{'}}\mathrm{step}\mathrm{\text{'} against keyword \text{'}}\mathrm{outputstep}\text{'}$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){=}{\mathrm{casesplit/ans}}{}\left({{C}}_{{1}}{}{\mathrm{P__1}}_{{\mathrm{~mu}}}{,}\left\{{{C}}_{{1}}{=}\frac{{1}}{{2}}{}\frac{{-}{{𝕋}}_{{[}{]}}{}\left({2}{,}{0}{,}{\mathrm{m__φ}}^{{2}}{,}{-}\mathrm{P__1}{,}{\mathrm{m__1}}^{{2}}{,}\mathrm{p__1}{,}{0}\right){}{\mathrm{m__1}}^{{2}}{+}{{𝕋}}_{{[}{]}}{}\left({2}{,}{0}{,}{\mathrm{m__φ}}^{{2}}{,}{-}\mathrm{P__1}{,}{\mathrm{m__1}}^{{2}}{,}\mathrm{p__1}{,}{0}\right){}{\mathrm{m__φ}}^{{2}}{+}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right){}{{𝕋}}_{{[}{]}}{}\left({2}{,}{0}{,}{\mathrm{m__φ}}^{{2}}{,}{-}\mathrm{P__1}{,}{\mathrm{m__1}}^{{2}}{,}\mathrm{p__1}{,}{0}\right){-}{{𝕋}}_{{[}{]}}{}\left({1}{,}{0}{,}{\mathrm{m__φ}}^{{2}}{,}\mathrm{p__1}{,}{0}\right){+}{{𝕋}}_{{[}{]}}{}\left({1}{,}{-}\mathrm{P__1}{,}{\mathrm{m__1}}^{{2}}{,}\mathrm{p__1}{,}{0}\right)}{{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)}\right\}\right)$ (14)

The sixth step combines this result inserting, in the output of step 1, the values of the ${C}_{n}$

 > $\mathrm{TensorReduce}\left(,\mathrm{step}=6\right)$
 $\mathrm{* Partial match of \text{'}}\mathrm{step}\mathrm{\text{'} against keyword \text{'}}\mathrm{outputstep}\text{'}$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__φ}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){=}\frac{{1}}{{2}}{}\frac{\left({-}{{𝕋}}_{{[}{]}}{}\left({2}{,}{0}{,}{\mathrm{m__φ}}^{{2}}{,}{-}\mathrm{P__1}{,}{\mathrm{m__1}}^{{2}}{,}\mathrm{p__1}{,}{0}\right){}{\mathrm{m__1}}^{{2}}{+}{{𝕋}}_{{[}{]}}{}\left({2}{,}{0}{,}{\mathrm{m__φ}}^{{2}}{,}{-}\mathrm{P__1}{,}{\mathrm{m__1}}^{{2}}{,}\mathrm{p__1}{,}{0}\right){}{\mathrm{m__φ}}^{{2}}{+}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right){}{{𝕋}}_{{[}{]}}{}\left({2}{,}{0}{,}{\mathrm{m__φ}}^{{2}}{,}{-}\mathrm{P__1}{,}{\mathrm{m__1}}^{{2}}{,}\mathrm{p__1}{,}{0}\right){-}{{𝕋}}_{{[}{]}}{}\left({1}{,}{0}{,}{\mathrm{m__φ}}^{{2}}{,}\mathrm{p__1}{,}{0}\right){+}{{𝕋}}_{{[}{]}}{}\left({1}{,}{-}\mathrm{P__1}{,}{\mathrm{m__1}}^{{2}}{,}\mathrm{p__1}{,}{0}\right)\right){}{\mathrm{P__1}}_{{\mathrm{~mu}}}}{{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)}$ (15)

Finally, either passing step = 7 or omitting the step = ... altogether, the whole reduction is performed as done at the beginning (see equation (3)).

An example with two free indices

 > $\mathrm{%FeynmanIntegral}\left(\frac{{\mathit{p__1}}_{\mathrm{~mu}}{\mathit{p__1}}_{\mathrm{~nu}}}{\left({\mathit{p__1}}^{2}-{\mathit{m__1}}^{2}+I\mathrm{ε}\right)\left({\left(\mathit{p__1}-\mathit{P__1}\right)}^{2}-{\mathit{m__1}}^{2}+i\mathrm{ε}\right)},\mathit{p__1}\right)$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}{}{\mathrm{p__1}}_{{\mathrm{~nu}}}}{\left({I}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}{-}{\mathrm{m__1}}^{{2}}{+}{\mathrm{p__1}}^{{2}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right)$ (16)

The reduction of this tensor integral to scalar integrals is given by

 > $=\mathrm{TensorReduce}\left(\right)$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}{}{\mathrm{p__1}}_{{\mathrm{~nu}}}}{\left({I}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}{-}{\mathrm{m__1}}^{{2}}{+}{\mathrm{p__1}}^{{2}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){=}\frac{{4}{}\left(\frac{{1}}{{4}}{}{{\mathrm{g_}}}_{{\mathrm{~mu}}{,}{\mathrm{~nu}}}{}{{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)}^{{2}}{+}\left(\frac{{1}}{{2}}{}{\mathrm{P__1}}_{{\mathrm{~nu}}}{}\left({-}{2}{+}{\mathrm{ϵ}}\right){}{\mathrm{P__1}}_{{\mathrm{~mu}}}{-}{{\mathrm{g_}}}_{{\mathrm{~mu}}{,}{\mathrm{~nu}}}{}{\mathrm{m__1}}^{{2}}\right){}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right){+}{\mathrm{m__1}}^{{2}}{}{\mathrm{P__1}}_{{\mathrm{~mu}}}{}{\mathrm{P__1}}_{{\mathrm{~nu}}}\right){}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right){}{\mathrm{%FeynmanIntegral}}{}\left(\frac{{1}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){+}\left({-}{2}{}{{\mathrm{g_}}}_{{\mathrm{~mu}}{,}{\mathrm{~nu}}}{}{{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)}^{{2}}{+}\left({4}{}{\mathrm{P__1}}_{{\mathrm{~nu}}}{}\left({-}{1}{+}{\mathrm{ϵ}}\right){}{\mathrm{P__1}}_{{\mathrm{~mu}}}{-}{{\mathrm{g_}}}_{{\mathrm{~mu}}{,}{\mathrm{~nu}}}{}{\mathrm{m__1}}^{{2}}\right){}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right){-}{2}{}{\mathrm{m__1}}^{{2}}{}{\mathrm{P__1}}_{{\mathrm{~mu}}}{}{\mathrm{P__1}}_{{\mathrm{~nu}}}{}\left({-}{2}{+}{\mathrm{ϵ}}\right)\right){}{\mathrm{%FeynmanIntegral}}{}\left(\frac{{1}}{{\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}}{,}\mathrm{p__1}\right){+}{2}{}\left(\frac{{1}}{{2}}{}{{\mathrm{g_}}}_{{\mathrm{~mu}}{,}{\mathrm{~nu}}}{}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right){+}{\mathrm{P__1}}_{{\mathrm{~nu}}}{}\left({-}{2}{+}{\mathrm{ϵ}}\right){}{\mathrm{P__1}}_{{\mathrm{~mu}}}\right){}{\mathrm{%FeynmanIntegral}}{}\left(\frac{{1}}{{\mathrm{p__1}}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}}{,}\mathrm{p__1}\right){}\left({\mathrm{P__1}}^{{2}}{+}{\mathrm{m__1}}^{{2}}{-}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)\right)}{\left({-}{12}{+}{8}{}{\mathrm{ϵ}}\right){}{{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)}^{{2}}}$ (17)

To understand this result, start checking the tensor basis, which in this case involves two objects

 > $\mathrm{TensorBasis}\left(\left[\mathit{P__1}\right],\left[\mathrm{~mu},\mathrm{~nu}\right]\right)$
 $\left[{{g}}_{\phantom{{}}\phantom{{\mathrm{\mu }}{,}{\mathrm{\nu }}}}^{\phantom{{}}{\mathrm{\mu }}{,}{\mathrm{\nu }}}{,}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}{}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\nu }}}}^{\phantom{{}}{\mathrm{\nu }}}\right]$ (18)

The key steps are 1, 2 and 4. Step 1 gives the expansion of the integral onto the tensor basis

 > $\mathrm{TensorReduce}\left(,\mathrm{step}=1\right)$
 $\mathrm{* Partial match of \text{'}}\mathrm{step}\mathrm{\text{'} against keyword \text{'}}\mathrm{outputstep}\text{'}$
 ${\mathrm{%FeynmanIntegral}}{}\left(\frac{{\mathrm{p__1}}_{{\mathrm{~mu}}}{}{\mathrm{p__1}}_{{\mathrm{~nu}}}}{\left({I}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}{-}{\mathrm{m__1}}^{{2}}{+}{\mathrm{p__1}}^{{2}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){=}{{C}}_{{2}}{}{\mathrm{P__1}}_{{\mathrm{~mu}}}{}{\mathrm{P__1}}_{{\mathrm{~nu}}}{+}{{C}}_{{1}}{}{{\mathrm{g_}}}_{{\mathrm{~mu}}{,}{\mathrm{~nu}}}$ (19)

Step 2 shows the system of equations; in each left-hand side, performing the contraction results in an inverse propagator that cancels with an existing one in the given integral

 > $\mathrm{TensorReduce}\left(,\mathrm{step}=2\right)$
 $\mathrm{* Partial match of \text{'}}\mathrm{step}\mathrm{\text{'} against keyword \text{'}}\mathrm{outputstep}\text{'}$
 $\left[\begin{array}{c}{\mathrm{g_}}_{\mathrm{μ},\mathrm{ν}}{}{𝕋}_{\mathrm{~mu},\mathrm{~nu}}{}\left(2,0,{\mathrm{m__1}}^{2},-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)={C}_{1}{}\left(4-2{}\mathrm{ϵ}\right)+{C}_{2}{}{\mathrm{P__1}}_{\mathrm{ν}}{}{\mathrm{P__1}}_{\mathrm{~nu}}\\ {\mathrm{P__1}}_{\mathrm{μ}}{}{\mathrm{P__1}}_{\mathrm{ν}}{}{𝕋}_{\mathrm{~mu},\mathrm{~nu}}{}\left(2,0,{\mathrm{m__1}}^{2},-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)={C}_{2}{}{\mathrm{P__1}}_{\mathrm{μ}}{}{\mathrm{P__1}}_{\mathrm{ν}}{}{\mathrm{P__1}}_{\mathrm{~mu}}{}{\mathrm{P__1}}_{\mathrm{~nu}}+{C}_{1}{}{\mathrm{P__1}}_{\mathrm{ν}}{}{\mathrm{P__1}}_{\mathrm{~nu}}\end{array}\right]$ (20)

Note the occurrence of a factor of the form $\left(4-2\mathrm{ϵ}\right)$ on the right-hand side of the first equation. Such factors arise from the contraction of the metric in dimension $d=4-2\mathrm{ϵ}$ where 4 is the value of the dimension currently set, as shown by $\mathrm{Setup}\left(\mathrm{dimension}\right)$.

Step 4 performs the contraction resulting in the system of equations for the ${C}_{n}$ involving only scalar Feynman integrals

 > $\mathrm{TensorReduce}\left(,\mathrm{step}=4\right)$
 $\mathrm{* Partial match of \text{'}}\mathrm{step}\mathrm{\text{'} against keyword \text{'}}\mathrm{outputstep}\text{'}$
 $\left[\begin{array}{c}{𝕋}_{[]}{}\left(1,-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)+{\mathrm{m__1}}^{2}{}{𝕋}_{[]}{}\left(2,0,{\mathrm{m__1}}^{2},-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)={C}_{2}{}\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)-2{}{C}_{1}{}\left(-2+\mathrm{ϵ}\right)\\ \frac{1}{4}{}{\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)}^{2}{}{𝕋}_{[]}{}\left(2,0,{\mathrm{m__1}}^{2},-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)+\frac{1}{4}{}\left(-{\mathrm{m__1}}^{2}+2{}\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)\right){}{𝕋}_{[]}{}\left(1,-\mathrm{P__1},{\mathrm{m__1}}^{2},\mathrm{p__1},0\right)+\frac{1}{4}{}{𝕋}_{[]}{}\left(1,0,{\mathrm{m__1}}^{2},\mathrm{p__1},0\right){}\left({\mathrm{P__1}}^{2}+{\mathrm{m__1}}^{2}-\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)\right)=\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right){}\left({C}_{2}{}\mathrm{%.}{}\left(\mathrm{P__1},\mathrm{P__1}\right)+{C}_{1}\right)\end{array}\right]$ (21)

To see, for instance, the second equation in standard integral notation you can use

 > $\mathrm{FromAbstractRepresentation}\left({2}_{}\right)$
 $\frac{{1}}{{4}}{}{{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)}^{{2}}{}{\mathrm{%FeynmanIntegral}}{}\left(\frac{{1}}{\left({\mathrm{p__1}}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right){}\left({\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}\right)}{,}\mathrm{p__1}\right){+}\frac{{1}}{{4}}{}\left({-}{\mathrm{m__1}}^{{2}}{+}{2}{}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)\right){}{\mathrm{%FeynmanIntegral}}{}\left(\frac{{1}}{{\left(\mathrm{p__1}{-}\mathrm{P__1}\right)}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}}{,}\mathrm{p__1}\right){+}\frac{{1}}{{4}}{}{\mathrm{%FeynmanIntegral}}{}\left(\frac{{1}}{{\mathrm{p__1}}^{{2}}{-}{\mathrm{m__1}}^{{2}}{+}{i}{}{\mathrm{Physics}}{:-}{\mathrm{FeynmanDiagrams}}{:-}{\mathrm{ε}}}{,}\mathrm{p__1}\right){}\left({\mathrm{P__1}}^{{2}}{+}{\mathrm{m__1}}^{{2}}{-}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right)\right){=}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right){}\left({{C}}_{{2}}{}{\mathrm{%.}}{}\left(\mathrm{P__1}{,}\mathrm{P__1}\right){+}{{C}}_{{1}}\right)$ (22)

Naturally, the reduction for more complicated integrals involves larger expressions, mainly in connection with the enlargement of the tensor basis. For example, the basis in the presence of two external momenta ${P}_{1}$ and ${P}_{2}$ and a product of three loop momentum ${p}_{1}$ with spacetime free indices is given by

 > $\mathrm{TensorBasis}\left(\left[\mathit{P__1},\mathit{P__2}\right],\left[\mathrm{~mu},\mathrm{~nu},\mathrm{~rho}\right],\mathrm{symmetrize}=\mathrm{false}\right)$
 $\left[{{g}}_{\phantom{{}}\phantom{{\mathrm{\mu }}{,}{\mathrm{\nu }}}}^{\phantom{{}}{\mathrm{\mu }}{,}{\mathrm{\nu }}}{}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\rho }}}}^{\phantom{{}}{\mathrm{\rho }}}{,}{{g}}_{\phantom{{}}\phantom{{\mathrm{\mu }}{,}{\mathrm{\nu }}}}^{\phantom{{}}{\mathrm{\mu }}{,}{\mathrm{\nu }}}{}{\mathrm{P__2}}_{\phantom{{}}\phantom{{\mathrm{\rho }}}}^{\phantom{{}}{\mathrm{\rho }}}{,}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}{}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\nu }}}}^{\phantom{{}}{\mathrm{\nu }}}{}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\rho }}}}^{\phantom{{}}{\mathrm{\rho }}}{,}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}{}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\nu }}}}^{\phantom{{}}{\mathrm{\nu }}}{}{\mathrm{P__2}}_{\phantom{{}}\phantom{{\mathrm{\rho }}}}^{\phantom{{}}{\mathrm{\rho }}}{,}{\mathrm{P__1}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}{}{\mathrm{P__2}}_{\phantom{{}}\phantom{{\mathrm{\nu }}}}^{\phantom{{}}{\mathrm{\nu }}}{}{\mathrm{P__2}}_{\phantom{{}}\phantom{{\mathrm{\rho }}}}^{\phantom{{}}{\mathrm{\rho }}}{,}{\mathrm{P__2}}_{\phantom{{}}\phantom{{\mathrm{\mu }}}}^{\phantom{{}}{\mathrm{\mu }}}{}{\mathrm{P__2}}_{\phantom{{}}\phantom{{\mathrm{\nu }}}}^{\phantom{{}}{\mathrm{\nu }}}{}{\mathrm{P__2}}_{\phantom{{}}\phantom{{\mathrm{\rho }}}}^{\phantom{{}}{\mathrm{\rho }}}\right]$ (23)

and has 6 elements instead of the 2 of the previous example

 > $\mathrm{nops}\left(\right)$
 ${6}$ (24)

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][TensorReduce] command was introduced in Maple 2021.