Closed vsht closed 1 year ago
Hi, Vlad. There's an explanation of Feynson implementation in my ph.d. thesis [1] (sec 3.3 and sec 4); that won't answer all of your questions though -- so let me come back to them after RADCOR next week.
Hi Vitaly,
many thanks for the prompt reply. No problem, the questions are not that urgent anyway.
The general idea is to do a particular SCET-related calculation in 2 ways, using FeynCalc+custom FORM code and alibrary+feynson in order to have an independent cross check.
Hi, Vlad. Very brave of you :)
It is not entirely clear to me, how feynson distinguishes between scalar variables and momenta in the propagators.
It does not. All the momenta are scalars, as far as Feynson is concerned. This is possible to have because F is at most quadratic in momenta, so there's at most a pair of them in any term, and so there is no ambiguity if the replacement rules are just assumed to act on scalar expressions.
If your F would be quartic in momenta, then there would be ambiguity of whether a*b*c*d
is (ab)*(cd)
or (ac)*(bd)
, and we would need to track which variable is a momentum and which is a scalar. We don't need to, save for some possible exotic cases.
Correct me if I'm wrong, but as far as I can see, feynson doesn't really check whether the given set of propagators forms a basis. So, in principle, topologies with too many or too few propagators will still be accepted without any warnings. Is this so?
Yes. The notion of denominators forming a scalar product basis is irrelevant to symmetries in Feynman parameterization, as far as I know. For symmetrization one should just pass all the denominators of a given diagram (maybe after partial fractioning).
Is the ordering in the input specification file really the only way to specify preferred topologies? Given that one cannot directly assign some IDs to the occurring families it might become somewhat difficult to distinguish between the actual topologies and the special topologies one wants to map onto.
The order is all there is. I view Feynson as a single short function call, specifically implemented in C for performance. Higher-level convenience things that don't need to be as fast might as well be implemented on top of that in Mathematica, Python, or whatever you are using.
With that said, I do support making the program more convenient, the problem is always the interface: I want to keep it minimal, without elaborate configuration files and whatnot; so any addition needs to be very short and self-contained somehow.
What is the precise mechanism of dealing with smaller topologies that fit into larger topologies? Is this just the procedure desribed e.g. in Sec. 2.4.4 of J. Hoff's thesis or does feynson also try to complete the larger topology in the case when its propagators don't form a basis.
Each subset of the denominators is a subtopology, and separate canonization is performed for it. If you have a smaller family, then its canonical polynomial is compared with that of all possible subfamilies of larger families that have the same number of denominators.
The notion of a basis does not enter at any point.
Hope this helps :)
Hi Vitaly,
thanks a lot for the very detailed reply, this is really helpful to understand the inner workings of feynson.
Hi Vitaly,
while using feynson we got some more questions that are unfortunately not covered in the (rather succinct :)) readme file. So perhaps you could help us out a bit.
The general idea is to do a particular SCET-related calculation in 2 ways, using FeynCalc+custom FORM code and alibrary+feynson in order to have an independent cross check. This is why we have some weird eikonal propagators that arise from expanding the usual SM amplitudes in a special way.
where
l1
,np
andnm
are momenta while everything else are scalars, I'd assume that feynson first looks at the kinematic replacement rules to figure out how to interpret stuff likegammakin*l1*me*np
. However, even if the entry{{nm*nm,0},{np*np,0},{np*nm,2}}
is removed, the output doesn't really change, which confuses me a bit.Correct me if I'm wrong, but as far as I can see, feynson doesn't really check whether the given set of propagators forms a basis. So, in principle, topologies with too many or too few propagators will still be accepted without any warnings. Is this so?
Is the ordering in the input specification file really the only way to specify preferred topologies? Given that one cannot directly assign some IDs to the occurring families it might become somewhat difficult to distinguish between the actual topologies and the special topologies one wants to map onto.
What is the precise mechanism of dealing with smaller topologies that fit into larger topologies? Is this just the procedure desribed e.g. in Sec. 2.4.4 of J. Hoff's thesis or does feynson also try to complete the larger topology in the case when its propagators don't form a basis. I'm asking this to get a better understanding of what kind of input one should ideally give to feynson.
Cheers, Vlad