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