Name: Vladyslav Shtabovenko Date: 12/26/16-09:41:43 PM Z
Dear Xiu-Lei,
Am 26.12.2016 um 19:02 schrieb Xiu-Lei Ren:
> Dear Vladyslav,
>
> Thanks. As your suggestion, I have updated Package-X to the latest
version (2.0.3).
>
> Before reply the last email, I want to report a bug when converting
the PaVe coefficient function from Feyncalc to Package-X.
>
> Take A0(mN^2) for example:
>
> $LoadAddOns = {“FeynHelpers”};
> «FeynCalc`
> PaXEvaluate[A0[mN^2]] // Expand // Simplify
>
> The output is not right, ‘-Log(\pi)’ should be ‘Log(4\pi)’.
>
> It seems that the substitution (Eq.(6) in arXiv:1611.06793)
> \frac{1}{\epsilon} -> \frac{1}{\epsilon} - \gamma_E +
\log(4*\pi)
> works as
> \frac{1}{\epsilon} -> \frac{1}{\epsilon} - \gamma_E -
\log(\pi)
>
Careful, A0(m^2) is not d^D/(2Pi)^D 1/(q^2-m^2). Did you have a
look at the Table 1 in arXiv:1611.06793 (apart from the obvious typo
with m1 instead of m2)?
Log[4*Pi] appears when you compute d^D/(2Pi)^D 1/(q^2-m^2)
PaXEvaluate[FAD[{q, mN}], q, PaXImplicitPrefactor -> 1/(2
Pi)^D] //
Expand // Simplify
which, when translated to A0 via
ToPaVe[1/(2 Pi)^D FAD[{q, mN}], q]
reads
I 2^-D \[Pi]^(2 - D) A0[mN^2]
In the A0 alone (using the normalization according to A. Denner’s work
which is standard in
FeynCalc, LoopTools etc.) you get only Log[Pi] so the conversion
is correct.
> Then,
> 1. At before, I peform the 1/mN expansion after PaXEvaluate. As you
noticed that, there have some suspicous terms. Then, I perform the
numerical evaluation, it will produce the weird terms
> such as, PaXDiLog[Complex[-1,-6],-0.2].
>
> SPD[p4, p4] = mN^2;
> XC0 = C0[SPD[p4], SPD[q], SPD[p4 + q],
mN^2, mpi^2, mpi^2] //
> ExpandScalarProduct;
> XC0Re00 = PaXEvaluate[XC0, PaXC0Expand -> True] //
Normal;
> Series[XC0Re00, {mN, \[Infinity], 0}] // Normal //
Simplify
> %/.{mN -> 0.94, mpi -> 0.14, SPD[p4, q] -> 0.03,
SPD[q] -> 0.04}
Actually, now that I had a closer look, I think that Package-X should be able to handle PolyLogs with complex arguments. At least the numerical evaluation works:
SPD[p4, p4] = mN^2;
XC0 = C0[SPD[p4], SPD[q], SPD[p4 + q], mN^2,
mpi^2, mpi^2];
XC0Re00 =
PaXEvaluate[XC0, PaXC0Expand -> True, FCVerbose -> 0] //
Normal;
XC0Re01 =
Series[XC0Re00, {mN, \[Infinity], 0}] // Normal //
Simplify;
XC0Re01 /. {mN -> 0.94, mpi -> 0.14, SPD[p4, q] -> 0.03,
SPD[q] -> 0.04}
% /. PaXDiLog -> X`DiLog
gives
-13.7252-2.80508*10^-15 I
If you have doubts about the result, you might also consider to contact the author of Package-X (http://packagex.hepforge.org/) directly.
In pure Package-X code, what you are doing is essentially
«X`
exp = PVC[0, 0, 0, p4.p4, q.q, p4.p4 + 2 p4.q + q.q, mN, mpi,
mpi] /. {p4.p4 -> mN^2}
res1 = LoopRefine[exp] // C0Expand // Normal // KallenExpand
//
DiscExpand;
res2 = Series[res1, {mN, \[Infinity], 0}] // Normal //
Simplify;
res2 /. {mN -> 0.94, mpi -> 0.14, p4.q -> 0.03, q.q -> 0.04}
which returns
-13.7252-2.36218*10^-15 I
Clearly, the imaginary part is zero in both cases.
Please understand that since Package-X is closed-source I do not know how exactly the numerical evaluation of DiLogs is done. FeynHelpers just sends your input to the package and then fetches the output back.
>
> 2. If I want to evaluate C0 with Dimension=4, such as,
>
> SP[p4x, p4x] = mN^2;
> XC04 = C0[SP[p4x], SP[qx], SP[p4x + qx],
mN^2, mpi^2, mpi^2] //
> ExpandScalarProduct;
> XC04x = PaXEvaluate[XC04, PaXC0Expand -> True,
> PaXSeries -> , PaXAnalytic -> True] //
Normal //
> Simplify
> The final result is the same as D dimensions. I want to know that it
is a safe way to use Package-X or not?
>
Internally, Package-X always uses D-dimensions and expands around D=4-2*Epsilon, keeping only the poles and the finite part, as one would do it by hand. If a particular C0 is IR-finite, then you will get a finite results without any poles or D-dependence. If there are IR- or UV-signularities, they will manifest themselves as 1/eps poles. So you cannot really choose to evaluate loop integrals not in D dimensions with Package-X.
The dimension of scalar products, however, does not enter anywhere in the evaluation of coefficient functions. You can use SP’s from the very beginning or enter SPD’s and do ChangeDimension[exp,4] at the end.
Cheers,
Vladyslav
> Looking forward to your reply. Happy holidays!
>
> Cheers,
> Xiu-Lei
>