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
>