TensorBasis - 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][TensorBasis] - compute a basis of tensor structures from a given list of external momentum and another one with free spacetime indices

Calling Sequence

TensorBasis(list_of_external_momenta, list_of_spacetime_indices)

TensorBasis(list_of_external_momenta, list_of_spacetime_indices, symmetrize = ..)




a list of external momenta, which by convention in the FeynmanIntegral package are written as P__n where n is an integer



a list of spacetime indices, that could be covariant or contravariant (preceded by )

symmetrize = ..


(optional) the right-hand side can be true (default) or false, to symmetrize the products of external momenta that appear in the returned basis



TensorBasis receives a list of external momenta, which by convention in the FeynmanIntegral package are written as P__n where n is an integer, and a list of spacetime indices, which by default are represented by greek letters (to change the kind of letter see Setup) and returns a tensor basis onto which one can expand a tensorial structure with as many indices as in list_of_spacetime_indices.


The tensor basis returned is constructed by taking the multiple-Cartesian product of the list of external momenta, and the metric gμ,ν, as many times as the number of indices in the list of spacetime indices, and discarding permutations.


The tensor basis is returned symmetrized, e.g. if a product of two tensors P1μP2ν appears in the basis, then the output contains P1μP2ν+P2μP1ν. To receive the tensor basis non-symmetrized pass the optional argument symmetrize = false


These tensor basis are relevant in the context of the Passarino-Veltman approach for the reduction of tensor to scalar Feynman integrals implemented in the TensorReduce command.






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

interface(imaginaryunit = i):

The simplest case is that of a single external momentum and only one spacetime index

TensorBasis([P__1], [mu]);



This basis allows for expressing the following tensor Feynman integral as a linear combination of the elements of the basis

%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μμp__12m__φ2+εp__1P__12m__12+εⅆp__1 4


TensorReduce((3), step = 1);

* Partial match of 'step' against keyword 'outputstep'

p__1μμp__12m__φ2+εp__1P__12m__12+εⅆp__1 4=C1P__1μμ


opening the way for the reduction process

(3) = TensorReduce((3));

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


and ultimately leading to its symbolic computation by evaluating the scalar FeynmanIntegrals above

(3) = Evaluate((3));


The case of two spacetime indices already results in a basis even when there are no external momenta

TensorBasis([], [mu, nu]);



Products of the metric are introduced when the number of indices makes that necessary

TensorBasis([], [mu, nu, alpha, beta]);



The non-symmetrized form of this basis

TensorBasis([], [mu, nu, alpha, beta], symmetrize = false);



Two more realistic examples

TensorBasis([P__1, P__2, P__3], [mu, nu]);



TensorBasis([P__1], [mu, nu, alpha]);



See Also

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



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