Name: Vladyslav Shtabovenko Date: 05/21/16-08:02:48 PM Z
$LimitTo4 and PaVeReduce
Dear FeynCalc users,
let me clarify the meaning of the recent changes in PaVe reduction and
their connection to $LimitTo4.
The meaning of the original $LimitTo4 option is explained here:
<<1029.html>>
TL;DR: $LimitTo4 allows to simplify products of Passarino-Veltman
functions and rational functions of D-4 by exploiting the knowledge
about the UV poles of the former. The obtained results are correct in
dimensional regularization (DR), i.e. they do not depend on a scheme
and
whether you use D= 4- 2 Epsilon or D= 4-Epsilon. The caveat is that if
you are using those relations, you are not allowed to regularize IR
(the
same applies also to collinear) divergences using DR. Otherwise the UV
and IR poles mix up and the results become inconsistent.
It is somewhat unfortunate that $LimitTo4 was set to True by default
since the earliest FeynCalc versions and it is even more unfortunate
that it was very poorly documented, so that many people apparently
didn’t understand what that option means.
The reasons for having it always activated is that when FeynCalc first
appeared in the early nineties, it was quite common to regularize IR
divergences without DR, e.g. by introducing small fictitious masses
(hence SmallVariable in FeynCalc). In such cases, simplifications that
are done when $LimitTo4 is set to True are perfectly fine.
I was made aware of this problem some time ago after which we decided
to set $LimitTo4 to False by default
<https://github.com/FeynCalc/feyncalc/commit/262953084a076749218bc6dfaee573da4940c58f>
However, one should understand that the above mentioned
inconsistencies
are relevant only for 3- and higher point functions, but not for
tadpoles and bubbles:
* massless tadpoles vanish by definition in DR
* IR divergent bubbles are proportional to
(1/Epsilon_UV-1/Epsilon_IR)
so that when one regulates both divergences with Epsilon, they also
vanish.
For triangles or boxes that are IR divergent, $LimitTo4 is indeed
dangerous and shouldn’t be used, unless one explicitly regulates IR
divergences by hand.
As some of you might have noticed, when $LimitTo4 is set to false,
certain coefficient functions (B1, B00, B11) are not reduced further.
This has to do with the way how PaVe functions are implemented.
FeynCalc provides two ways to enter Passarino-Veltman functions:
1) Through PaVe, e.g. as
PaVe[0,0,{},{m^2}]
PaVe[1,1,{p^2},{m1^2,m2^2}]
PaVe[1,2,{p1^2,p1mp2^2,p2^2},{m1^2,m2^2,m3^2}]
2) Directly as A0[m^2], B1[p^2,m1^2,m^2] etc. (“direct functions”)
While the first way is universal, the second is available only
for a small number of functions, namely A0, A00, B0, B1, B00,B11,
C0 and D0. The original idea behind it was, that for some
simple A and B functions FeynCalc should immediately provide the
a simpler expression without using PaVeReduce. In many cases, those
expressions were added only for $LimitTo4 set to True, but not for
the general D-dependent cases. Since PaVeReduce works only PaVe but
not with direct functions, turning $LimitTo4 effectively breaks the
reduction for some low rank B functions.
To fix this messy situation I spent some time on improving PaVeReduce
and adding some special cases for B-functions that were missing
before.
So now, despite having $LimitTo4 set to False, the reduction should
always work. E.g.
PaVeReduce[PaVe[1, 1, {p^2}, {m1^2, m2^2}]]
nicely reduces to
(D (m1^2 - m2^2 + p^2) PaVe[0, {}, {m1^2}])/(
4 (1 - D) p^4) - ((D m1^2 - D m2^2 - 4 p^2 + 3 D p^2) PaVe[
0, {}, {m2^2}])/(
4 (1 - D) p^4) - ((D m1^4 - 2 D m1^2 m2^2 + D m2^4 - 4 m1^2 p^2 +
2 D m1^2 p^2 - 2 D m2^2 p^2 + D p^4) PaVe[
0, {p^2}, {m1^2, m2^2}])/(4 (1 - D) p^4)
The result is given in terms of PaVe and not direct functions,
as it used to be before. With the option PaVeAutoReduce you can
also have it the old way:
PaVeReduce[PaVe[1, 1, {p^2}, {m1^2, m2^2}],PaVeAutoReduce->True]
(D (m1^2 - m2^2 + p^2) A0[m1^2])/(
4 (1 - D) p^4) - ((D m1^2 - D m2^2 - 4 p^2 + 3 D p^2)
A0[m2^2])/(
4 (1 - D) p^4) - ((D m1^4 - 2 D m1^2 m2^2 + D m2^4 - 4 m1^2 p^2 +
2 D m1^2 p^2 - 2 D m2^2 p^2 + D p^4) B0[p^2, m1^2,
m2^2])/(
4 (1 - D) p^4)
PaVeAutoReduce means that certain PaVe functions are automatically
converted to the corresponding direct functions. This is now set
to be False by default, e.g.
PaVe[0, 0, {p^2}, {m^2, m^2}]
remains as it is, while
PaVe[0, 0, {p^2}, {m^2, m^2}, PaVeAutoReduce -> True]
immediately evaluates to
-(A0[m^2]/(2 (1 - D))) - ((4 m^2 - p^2) B0[p^2, m^2, m^2])/(4 (1 - D))
As far as $LimitTo4 is concerned, the option has been splitted into two:
$LimitTo4 now applies only to tadpoles and bubbles but not to higher
coefficient functions. It can be in principle used without any
precautions, but to be consistent with the prior decision we keep it
set
to False by default.
$LimitTo4IRUnsafe is a new option that determines, whether triangles
and
boxes also should be simplified. It assumes that the user takes care
of
regularizing IR divergences, so that only UV divergences appear as
Epsilon poles. The option is of course set to False by default.
The new descriptions from ?$LimitTo4 and ?$LimitTo4IRUnsafe should be
now much more informative and understandable.
Hence, with
$LimitTo4 = True
PaVeReduce[PaVe[1, 1, {p^2}, {m1^2, m2^2}],
PaVeAutoReduce -> True]
or even
B11[p^2,m1^2,m2^2]
you can get the results as before.
This way we should avoid any inconsistencies, while preserving
flexibility and convenience.
P.S. When in doubt, you can always PaXEvaluate form FeynHelpers
(github.com/FeynCalc/feynhelpers) to check that a particular
reduction with $LimitTo4=True is identical to the one with
$LimitTo4=False.
Cheers,
Vladyslav