Name: Pablo Sanchez Puertas Date: 01/20/17-03:18:50 PM Z


Hello
thanks and congratulations for the program.
I am using FeynCalc in a 1-loop calculation where the 5-point E0 function comes into play. I experienced two problems:

First, if using ToPaVe, the resulting expression cannot be used to evaluate the numerics in LoopTools. The underlying problem is that the inputs for such a function are not those required from LoopTools.
It works instead if in the file ToPaVe.m the code for E0 function is modified as follows:

(* E0 *)
toPaVe[ FeynAmpDenominator[
                        PD[Momentum[q_,dim_],m1_],
                        PD[Momentum[q_,dim_]+p1_:0,m2_],
                        PD[Momentum[q_,dim_]+p2_:0,m3_],
                        PD[Momentum[q_,dim_]+p3_:0,m4_],
                        PD[Momentum[q_,dim_]+p4_:0,m5_]],q_,
                        paveao_,pavear_
        ]:=
        I Pi^2 PaVeOrder[PaVe[0,
                        {ExpandScalarProduct[Pair[p1,p1]],
                        ExpandScalarProduct[Pair[p1-p2,p1-p2]],
                        ExpandScalarProduct[Pair[p2-p3,p2-p3]],
                        ExpandScalarProduct[Pair[p3-p4,p3-p4]],
(* Modification: Additional invariant added *)
                        ExpandScalarProduct[Pair[p4,p4]],
(* End of modification *)
                        ExpandScalarProduct[Pair[p2,p2]],
                        ExpandScalarProduct[Pair[p1-p3,p1-p3]],
                        ExpandScalarProduct[Pair[p2-p4,p2-p4]],
(* Modification: Additional invariant added *)
                        ExpandScalarProduct[Pair[p3,p3]],
(* End of modification *)
                        ExpandScalarProduct[Pair[p1-p4,p1-p4]]}
                        ,{m1^2,m2^2,m3^2,m4^2,m5^2},
                        PaVeAutoOrder->paveao,
                        PaVeAutoReduce->pavear]]/; !genpave;

I was wondering if this function could be easily implemented in the future to use it as analog to the A0, B0, C0 and D0 cases via ToPaVe and FeynCalc`E0[a___] -> LoopTools`E0[a].

Second, if using OneLoop[] to evaluate the E0 scalar function instead, FeynCalc decomposes in terms of the corresponding 4-point (D0) functions. However, I obtain numerically the opposite sign that I obtain using the ‘Denner Dittmaier’ (doi:10.1016/S0550-3213(03)00184-6) algorithm to decompose in terms of D0 functions myself or either LoopTools.
I would appreciate if you could possibly explain where the reduction of E0 to D0’s is located in FeynCalc in order to (possibly) check on the sign.

Thanks in advance,
Pablo