Name: Vladyslav Shtabovenko Date: 07/08/15-11:32:23 AM Z


Hi,

thanks for reporting this and sorry for the late reply (I’m on a
conference right now). There is an issue with ScalarProductCancel, where
sometimes it fails to cancel all the scalar products, that can be
cancelled. I was trying to fix this in a “non-invasive” way, but it
seems like to get rid of this problem once and for all, I need to
rewrite the internal logic of SPC almost from scratch, as it was done
for TID and Tdec. However, since SPC is used by many other functions I
will need some time for additional tests.

As a workaround, for now you can use TID (from the latest git snapshot
with today’s commits). With the option UsePaVeBasis set to True it will
reduce tensor integrals to PaVe scalar functions just as OneLoop does.
The purely scalar integrals can be converted to A0, B0, C0 etc. via
ToPaVe. For example:

TID[test1, q] // ToPaVe[#, q] &

or

TID[test1, q, UsePaVeBasis -> True] // ToPaVe[#, q] &

The first one is the full reduction into the PaVe scalar integrals
A0,B0,C0,D0. The second one is for the case that you choose your
kinematics such, that there will be vanishing Gram determinants.
This is also more close to what OneLoop does.

Cheers,
Vladyslav

Am 03.07.2015 um 04:08 schrieb Sun Qingfeng:
> Hi, another pronlem:
> When I test the FC9.0 patched with FA3.9,
> Input1:
> test1=Pair[Momentum[p, D],
> Momentum[q, D]] (Pair[Momentum[q, D],
> Momentum[q, D]]) FeynAmpDenominator[
> PropagatorDenominator[Momentum[q, D], m],
> PropagatorDenominator[-2 Momentum[p, D] + Momentum[q, D], m],
> PropagatorDenominator[-Momentum[k, D] - 2 Momentum[p, D] +
> Momentum[q, D], m],
> PropagatorDenominator[-Momentum[p, D] + Momentum[q, D], 0]]
> Input2:
> OneLoop[q, test1]
>
> Output:
> Something went wrong in the cancelling of scalar products. Evaluation aborted!
>
> But when the Denominator is:
> test2=Pair[Momentum[p, D],
> Momentum[q, D]] (Pair[Momentum[q, D],
> Momentum[q, D]]) FeynAmpDenominator[
> PropagatorDenominator[Momentum[q, D], m],
> PropagatorDenominator[-Momentum[p, D] + Momentum[q, D], m],
> PropagatorDenominator[-Momentum[k, D] - 2 Momentum[p, D] +
> Momentum[q, D], m],
> PropagatorDenominator[-Momentum[p, D] + Momentum[q, D], 0]]
> The problem disappear!
>