Name: Vladyslav Shtabovenko Date: 06/14/17-01:55:16 AM Z
Ok, I think that I managed to identify the issue. The chiral NDR
traces that DiracTrace complains about are actually spurious and
evaluate to zero. If the relevant Lorentz indices are contracted
at the right moment, this is also the case.
With this fix
<https://github.com/FeynCalc/feyncalc/commit/1fb3a343f0f63021bf7859e6aa6d152a8bb6f6bc>
it should work fine now. Please reinstall FeynCalc.
BTW, after removing all the intermediate instances of DiracSimplify
and
Contract, your code evaluates about 10 times faster than before:
DeclareNonCommutative[L, R];
L = ChiralityProjector[-1];
R = ChiralityProjector[+1];
dm[mu_] := GAD[mu]
ds[p_] := GSD[p]
IDm = L + R;
sp[p_, q_] := ScalarProduct[p, q, Dimension -> D]
prop[p_, m_] := GSD[p] + IDm*m;
(*PV[k_,\[Mu]_]:=PolarizationVector[k,\[Mu]]*)
Proj[gL_, gR_] := gL*L + gR*R;
ScalarProduct[pN, pN] = mN^2;
ScalarProduct[pG, pG] = 0;
ScalarProduct[pN, pG] = mA^2/2;
ScalarProduct[pG, pN] = mA^2/2;
C\[Mu]F[\[Mu]_] := (FVD[pN,
\[Mu]] + FVD[pG, \[Mu]]) C1F +
FVD[pN, \[Mu]] C2F
C\[Mu]\[Nu]F[\[Mu]_,
\[Nu]_] :=
MTD[\[Mu], \[Nu]] C00F + (FVD[pN,
\[Mu]] +
FVD[pG, \[Mu]]) (FVD[pN, \[Nu]]
AmpF = (I Q)/(16 \[Pi]^2) (DOT[Proj[g2L, g2R],
dm[\[Rho]], dm[\[Mu]],
dm[\[Sigma]],
Proj[g1L, g1R]]
(C\[Mu]\[Nu]F[\[Rho],
\[Sigma]] +
FVD[pN, \[Rho]]
C\[Mu]F[\[Sigma]] +
FVD[pG + pN, \[Sigma]]
C\[Mu]F[\[Rho]] +
FVD[pN, \[Rho]] FVD[pN + pG,
\[Sigma]] C0F) +
mF*DOT[Proj[g2L, g2R], dm[\[Rho]],
dm[\[Mu]],
Proj[g1L, g1R]]
(C\[Mu]F[\[Rho]] + FVD[pN,
\[Rho]] C0F) +
mF*DOT[Proj[g2L, g2R], dm[\[Mu]],
dm[\[Sigma]],
Proj[g1L,
g1R]] (C\[Mu]F[\[Sigma]] +
(FVD[pN, \[Sigma]] +
FVD[pG, \[Sigma]]) C0F) +
mF^2*DOT[Proj[g2L, g2R], dm[\[Mu]],
Proj[g1L, g1R]] C0F);
AmpFconj = -((I Q)/(16 \[Pi]^2)) (DOT[
Proj[Conjugate[g1R], Conjugate[g1L]],
dm[\[Beta]], dm[\[Mu]],
dm[\[Alpha]],
Proj[Conjugate[g2L],
Conjugate[g2L]]]
(C\[Mu]\[Nu]F[\[Alpha],
\[Beta]] +
FVD[pN, \[Alpha]]
C\[Mu]F[\[Beta]] +
FVD[pG + pN, \[Beta]]
C\[Mu]F[\[Alpha]] +
FVD[pN, \[Alpha]] FVD[pN + pG,
\[Beta]] C0F) +
mF*DOT[Proj[Conjugate[g1R],
Conjugate[g1L]], dm[\[Beta]],
dm[\[Mu]],
Proj[Conjugate[g2L],
Conjugate[g2L]]]
(C\[Mu]F[\[Beta]] +
FVD[pN, \[Beta]] C0F) +
mF*DOT[Proj[Conjugate[g1R],
Conjugate[g1L]], dm[\[Mu]],
dm[\[Alpha]],
Proj[g1L,
g1R]] (C\[Mu]F[\[Alpha]] +
(FVD[pN, \[Alpha]] +
FVD[pG, \[Alpha]]) C0F) +
mF^2*DOT[Proj[Conjugate[g1R],
Conjugate[g1L]], dm[\[Mu]],
Proj[g1L, g1R]] C0F);
AmpF2 = prop[pG + pN, mA]. AmpFconj .prop[pN, mN] .AmpF
res = DiracTrace[AmpF2, DiracTraceEvaluate -> True]; // AbsoluteTiming
Cheers,
Vladyslav
Am 13.06.2017 um 20:20 schrieb Vladyslav Shtabovenko:
> Sorry, wrong attachment. This one is what I was referring to
previously.
>
> Cheers,
> Vladyslav
>
> Am 13.06.2017 um 20:18 schrieb Vladyslav Shtabovenko:
>> Hi,
>>
>> Am 13.06.2017 um 16:05 schrieb Stefano Colucci:
>>> Hi again,
>>>
>>> and thanks for your prompt answer. Regarding the use of “.” :
I
>>> guess I was mislead by reading in the documentation page for
Contract :
>>>
>>> “ The “.” as multiplication operator is not necessary but
just
>>> convenient for typesetting.”
>>
>> Well, for commutative quantities the ordering in the product
clearly
>> does not matter, which is what the documentation page is referring
to.
>>
>> For noncommutative quantities one would always use Dot and not
Times.
>> This is one of the basics of Mathematica (i.e. it has nothing to
do
>> with FeynCalc per se), so in the documentation it is assumed that
this
>> point is understood.
>>
>>>
>>> Anyways I followed your suggestions but I still get an error
message
>>> and no result when calling
>>>
>>> In[64]:= DiracTrace[AmpF2, DiracTraceEvaluate ->
True, West -> True]
>>>
>>> During evaluation of In[64]:= DiracTrace::ndranomaly:
You are using
>>> naive dimensional regularization (NDR), such that in D
dimensions
>>> gamma^5 anticommutes with all other Dirac matrices. In this
scheme
>>> (without additional prescriptions) it is not possible to
compute
>>> traces with an odd number of gamma^5 unambiguously.
Evaluation
>>> aborted! >>
>>>
>>> Out[64]= $Aborted
>>>
>>>
>>> I have tried to set D->4 before or to use the option West->
True, but
>>> no luck so far.
>>>
>>
>> First of all, I do not seem to be able to reproduce this on the
latest
>> stable version, c.f. attached notebook.
>>
>> Second, the West option is relevant only when the BMHV scheme
is
>> activated ($BreitMaison=True). As the message tells you, by
default
>> FeynCalc uses NDR.
>>
>> Third, if you do not care whether D is set to 4 or not, why don’t
you
>> calculate everything in 4D from the very beginning. That would
be
>> again faster.
>>
>> Cheers,
>> Vladyslav
>>
>>
>>
>>
>>
>>
>>
>>
>>> Thanks again for your help,
>>>
>>> Stefano
>>>