Name: V. Shtabovenko (email_not_shown)
Date: 09/12/17-02:25:56 PM Z

Hi,

I think this is related to the way how Package-X expands B-functions
(using LoopRefineSeries), when the expansion parameter multiplies the
PaVe function. Consider the following code:

<< X`
diff = Table[
{(LoopRefineSeries[
mN^pow PVB[0, 0, mN^2, mN, mPi], {mN, Infinity, 0},
Analytic -> True] // Normal),
Series[
mN^pow (DiscExpand[LoopRefine[PVB[0, 0, mN^2, mN, mPi]]]), {mN,
Infinity, 0}] // Normal}, {pow, 0, 3}]

Simplify[PowerExpand[First[#] - Last[#]]] & /@ diff
% // TableForm

For mN^0 both expansions coincide exactly, but when the power is
different from 0, the difference between the two expansions is finite
and may also involve IR singularities. The case pow=2 is relevant for

In general, the expansion of an already computed integral (where you
implicitly assume mN to be finite) and the expansion on the level of the
Feynman parameters, where you are expanding the Feynman parameter
integral (possibly multiplied by an expansion parameter) first and the
compute it are not always the same.

This is because the expansion may generate new singularities that can be
properly regularized when evaluating Feynman parameter integrals but not
afterwards.

However, the current behavior of Package-X looks a bit strange to me,
so I'm not quite sure if this is intended or a bug.

I added Hiren Patel, the developer of Package-X to the CC of this mail,
so that he may explain us this behavior of his tool.

Cheers,

Am 12.09.2017 um 08:04 schrieb X.-L.Ren:
>
> I am doing the non-relativistic expansion (1/mN, mN is nucleon mass) of one-loop integral with the help of FeynCalc 9.2 and FeynHelpers (on Mathematica 10.4).
>
> I found that the expanded result from PaXSeries is not the same as the result from Series, which is right for sure. I did something wrong when using PaXSeries or a possible bug?
>
> In order to see the details, the code is given below,
>
> (* Diagrams * )
> ltdia = FCI[
> SpinorUBarD[p, mN,
> 1].(GSD[k].(GSD[p] - GSD[k] - mN).GSD[k]).SpinorUD[p, mN,
> 1] FAD[{k, m\[Pi]}, {p - k, mN}]]
>
> (* Do Integration *)
> ltintOS =
> 1/(2 mN) Collect2[
> TID[ltdia, k, UsePaVeBasis -> True, ToPaVe -> True,
> PaVeAutoReduce -> True], Spinor] // DiracSimplify;
>
>
> (* 1: Using the PaXSeires[mN, infinity, 0] in PaXEvaluate *)
>
> IntHBPCB = (PaXEvaluate[
> ltintOS /. {Pair[Momentum[p, D], Momentum[p, D]] -> mN^2},
> PaXImplicitPrefactor -> 1/(2 \[Pi])^D, PaXAnalytic -> True,
> PaXSeries -> {{mN, \[Infinity], 0}}] // Normal //
> FCHideEpsilon) /. {SMP["Delta"] -> 0} // Simplify //
> FullSimplify
>
>
>
> (* 2: Using the Seires[mN, infinity, 0] after PaXEvaluate *)
>
> IntHBPCB2 = (Series[
> PaXEvaluate[
> ltintOS /. {Pair[Momentum[p, D], Momentum[p, D]] -> mN^2},
> PaXImplicitPrefactor -> 1/(2 \[Pi])^D, PaXAnalytic -> True] //
> FCHideEpsilon, {mN, \[Infinity], 0}] //
> Normal) /. {SMP["Delta"] -> 0} // Simplify
>
> (* They are different. While, IntHBPCB2 is right.*)
>
> IntHBPCB2 - IntHBPCB // Expand // FullSimplify
>