Name: Vladyslav Shtabovenko (email_not_shown)
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 + q, m2}]
> FVD[q, al] FVD[q, be] FVD[q, mu] FVD[q, nu]
>
> after tensor integral decomposition :
> -((FAD[{q, Lambda}, {q, Lambda}, {q, mD}, {p3 + q, m1}, {-p4 + q, m2}]*
> (-(SPD[p3, q]^4*T[2]^4*T[3]) - SPD[p3, q]^3*SPD[p4, q]*T[2]^4*T[4] +
> SPD[p3, q]^2*SPD[p4, q]^2*T[2]^4*T[5] -
> SPD[p3, q]*SPD[p4, q]^3*T[2]^4*T[6] + SPD[p4, q]^4*T[2]^4*T[7] +
> SPD[p3, q]^2*SPD[q, q]*T[2]^5*T[8] -
> SPD[p3, q]*SPD[p4, q]*SPD[q, q]*T[2]^5*T[9] +
> SPD[p4, q]^2*SPD[q, q]*T[2]^5*T[10] + SPD[q, q]^2*T[2]^6*T[11]))/
> (D*T[1]*T[2]^8))
>
> where the T[i] are functions of
> {FVD[p3, al], FVD[p3, be], FVD[p3, mu], FVD[p3, nu], FVD[p4, al],
> FVD[p4, be], FVD[p4, mu], FVD[p4, nu], MTD[al, be], MTD[al, mu],
> MTD[al, nu], MTD[be, mu], MTD[be, nu], MTD[mu, nu], SPD[p3, p3],
> SPD[p3, p4], SPD[p4, p4]}
>
> In[2]:= TimeUsed[]
>
> Out[2]= 8.55



This archive was generated by hypermail 2b29 : 02/23/17-08:00:02 AM Z CET