Name: Vladyslav Shtabovenko Date: 08/13/15-09:33:07 PM Z


Alternatively, with FeynCalc 9.0 (latest snapshot)

Quit[]

«FeynCalc`

res = AbsoluteTiming[TID[Amp, q, UsePaVeBasis -> True]];

res[[1]]

-> 2.27062

(* Full reduction in terms of PaVe coefficient functions *)
res[[2]]

(* List of PaVe functions that appear in the final result *)

Cases[res, PaVe[__], Infinity] // Union

-> {PaVe[0, 0, 0,
  0, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {Lambda^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[0, 0, 0,
  0, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {mD^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[0, 0, 0,
  0, {0, SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4], SPD[p3, p3], SPD[p4, p4]}, {Lambda^2, Lambda^2, m1^2,
   m2^2}, PaVeAutoOrder -> True, PaVeAutoReduce -> True],
 PaVe[0, 0, 1,
  1, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {Lambda^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[0, 0, 1,
  1, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {mD^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[0, 0, 1,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {Lambda^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[0, 0, 1,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {mD^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[0, 0, 2,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {Lambda^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[0, 0, 2,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {mD^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[0, 0, 2,
  2, {0, SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4], SPD[p3, p3], SPD[p4, p4]}, {Lambda^2, Lambda^2, m1^2,
   m2^2}, PaVeAutoOrder -> True, PaVeAutoReduce -> True],
 PaVe[0, 0, 2,
  3, {0, SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4], SPD[p3, p3], SPD[p4, p4]}, {Lambda^2, Lambda^2, m1^2,
   m2^2}, PaVeAutoOrder -> True, PaVeAutoReduce -> True],
 PaVe[0, 0, 3,
  3, {0, SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4], SPD[p3, p3], SPD[p4, p4]}, {Lambda^2, Lambda^2, m1^2,
   m2^2}, PaVeAutoOrder -> True, PaVeAutoReduce -> True],
 PaVe[1, 1, 1,
  1, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {Lambda^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[1, 1, 1,
  1, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {mD^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[1, 1, 1,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {Lambda^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[1, 1, 1,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {mD^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[1, 1, 2,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {Lambda^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[1, 1, 2,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {mD^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[1, 2, 2,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {Lambda^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[1, 2, 2,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {mD^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[2, 2, 2,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {Lambda^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[2, 2, 2,
  2, {SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4]}, {mD^2, m1^2, m2^2}, PaVeAutoOrder -> True,
  PaVeAutoReduce -> True],
 PaVe[2, 2, 2,
  2, {0, SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4], SPD[p3, p3], SPD[p4, p4]}, {Lambda^2, Lambda^2, m1^2,
   m2^2}, PaVeAutoOrder -> True, PaVeAutoReduce -> True],
 PaVe[2, 2, 2,
  3, {0, SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4], SPD[p3, p3], SPD[p4, p4]}, {Lambda^2, Lambda^2, m1^2,
   m2^2}, PaVeAutoOrder -> True, PaVeAutoReduce -> True],
 PaVe[2, 2, 3,
  3, {0, SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4], SPD[p3, p3], SPD[p4, p4]}, {Lambda^2, Lambda^2, m1^2,
   m2^2}, PaVeAutoOrder -> True, PaVeAutoReduce -> True],
 PaVe[2, 3, 3,
  3, {0, SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4], SPD[p3, p3], SPD[p4, p4]}, {Lambda^2, Lambda^2, m1^2,
   m2^2}, PaVeAutoOrder -> True, PaVeAutoReduce -> True],
 PaVe[3, 3, 3,
  3, {0, SPD[p3, p3], SPD[p3, p3] + 2 SPD[p3, p4] + SPD[p4, p4],
   SPD[p4, p4], SPD[p3, p3], SPD[p4, p4]}, {Lambda^2, Lambda^2, m1^2,
   m2^2}, PaVeAutoOrder -> True, PaVeAutoReduce -> True]}

Cheers,
Vladyslav

> Hello,
>
> find below my quick attempt to get you going with the tensor integral.
> You need to do the final integrals probably by partial fraction
> decompoisition etc.
> (I am using my development version of FeynCalc, but it will work with older versions the same way).
>
> Regards,
> —–
> Rolf Mertig
> GluonVision GmbH
> Berlin, Germany
> —–
>
> In[1]:= !!tensorintegral.m
> <<HighEnergyPhysics`FeynCalc` ;
> Amp = FVD[q,mu] FVD[q,nu] FVD[q,al] FVD[q,be] FAD[{q,mD},{q,Lambda},
> {q,Lambda}, {p3+q,m1},{q-p4,m2}];
> Format[LineBreak[_]] := “”;
> Print[“Amp = “, Amp];
> test = Isolate[Factor1 @ Collect2[TID[Amp,q], q] // FCE, q, IsolateNames ->
> T];
> Print[”\nafter tensor integral decomposition : “];
> Block[{T}, Print @ InputForm @ ReleaseHold @ test];
> Print[”\nwhere the T[i] are functions of “];
> Print @ Cases2[DownValues[T],{MTD,SPD,FVD}]
>
> In[1]:= <<tensorintegral.m
> Loading FeynCalc from /home/rolf/fccvs/fc7/HighEnergyPhysics
> Loading TARCER /home/rolf/fccvs/fc7/HighEnergyPhysics/Tarcer/tarcer25.mx
> FeynCalc 7.0.0 Type ?FeynCalc for help or visit http://www.feyncalc.org/
> $PrePrint is set to FeynCalcForm. Use FI and FC to change the display
> format.
> Loading PHI
> Loading FeynArts, see www.feynarts.de for documentation
> FeynArts 3.5 patched for use with FeynCalc
*> Amp = FAD[{q, mD}, {q, Lambda}, {q, Lambda}, {p3 + q, m1}, {-p4