Closed Tpengfu closed 5 years ago
The difference between what you call "wrong" (2.) and "right" (3.) amounts to
FCClearScalarProducts[];
ScalarProduct[p1, p1] = 0;
ScalarProduct[p2, p2] = 0;
ScalarProduct[p1, p2] = p1p2;
$LimitTo4 = False;
wt = FeynAmpDenominator[PropagatorDenominator[Momentum[k, D]],
PropagatorDenominator[Momentum[k, D] + Momentum[p1, D]],
PropagatorDenominator[
Momentum[k, D] + Momentum[p1, D] + Momentum[p2, D]]] Pair[
LorentzIndex[mu, D], Momentum[k, D]] Pair[LorentzIndex[nu, D],
Momentum[k, D]]
res1 = wt // TID[#, k] & // ToPaVe[#, k] & // PaVeReduce //
ChangeDimension[#, D] &;
FCClearScalarProducts[];
ScalarProduct[p1, p1] = 0;
ScalarProduct[p2, p2] = 0;
ScalarProduct[p1, p2] = p1p2;
$LimitTo4 = True;
wt = FeynAmpDenominator[PropagatorDenominator[Momentum[k, D]],
PropagatorDenominator[Momentum[k, D] + Momentum[p1, D]],
PropagatorDenominator[
Momentum[k, D] + Momentum[p1, D] + Momentum[p2, D]]] Pair[
LorentzIndex[mu, D], Momentum[k, D]] Pair[LorentzIndex[nu, D],
Momentum[k, D]]
res2 = wt // OneLoopSimplify[#, k] & // OneLoop[k, #] & //
PaVeReduce // ChangeDimension[#, D] &
diff = res1 - res2 // Simplify // FCE
the following
-((I \[Pi]^2 (-FVD[p1, nu] FVD[p2, mu] - FVD[p1, mu] FVD[p2, nu] +
p1p2 MTD[mu, nu]) (-2 + D + (-4 + D) PaVe[0, {2 p1p2}, {0, 0}]))/(
4 (-2 + D) p1p2))
which is zero, as you can easily check using FeynHelpers
$LoadAddOns = {"FeynHelpers"};
<< FeynCalc`
PaXEvaluate[-((
I \[Pi]^2 (-FVD[p1, nu] FVD[p2, mu] - FVD[p1, mu] FVD[p2, nu] +
p1p2 MTD[mu, nu]) (-2 +
D + (-4 + D) PaVe[0, {2 p1p2}, {0, 0}]))/(4 (-2 + D) p1p2)), k,
PaXImplicitPrefactor -> 1/(2 Pi)^D]
In 4. the line
wrong = wrong /. D -> 4 // ChangeDimension[#, D] &
obviously makes no sense, it is simply incorrect. Without that line 4. agrees with 2. and hence also with 3. The difference between 1. and 2. is the same as between 2. and 3., i.e. it is zero. So I don't really see any issues here.
Dear Vladyslav :
Really Thanks for your replay, that helps a lot. it does solve my problem.
Now ,I understand why I get the wrong answer. B0 is a infinite number. (4-D)B0 is not zero =(4-D) (1/(4-D) + const.) =1
Thanks for your great work on FeynCalc.
不用谢,you are welcome.
Thanks for your great work on FeynCalc.
When I use TID to do HiggstoGluonGluon oneloop calculation, the result was wrong, and it was same with the calculation that I used Oneloop with oneloopsimplify which was not recommend by developer.
Then I set $LimitTo4=True, the result of OneLoop with OneLoopSimplify was True(agree with my derivation) and the result of TID was still wrong.
I take apart the amplitude into pieces, and I found the one which cause the problem, that is
in which "k" is loop momentum, and we set all mass to zero, that means p1.p1=0, p2.p2=0.
four different ways
3. $LimitTo4=True, use Oneloop with oneloopsimplify
we found only the third way gave the right answers(agreed with my derivation)
11.3.0 for Microsoft Windows (64-bit) (March 7, 2018)
9.2.0
Yes
wrong = wt // TID[#, k] & // ToPaVe[#, k] & // PaVeReduce // ChangeDimension[#, D] &; wrong = wrong /. D -> 4 // ChangeDimension[#, D] &
(I [Pi]^2 Subscript[B, 0](2 p1p2,0,0) (p1p2 g^(munu)-2 p2^mu p1^nu-2 p1^mu p2^nu+3 p1^mu p1^nu-p2^mu p2^nu))/(4 p1p2)+I [Pi]^2 p1^mu p1^nu Subscript[C, 0](0,0,2 p1p2,0,0,0)+(I [Pi]^2 (p1p2 g^(munu)-p2^mu p1^nu-p1^mu p2^nu))/(4 p1p2)