Name: Vladyslav Shtabovenko (email_not_shown)
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]] + FVD[pG, \[Nu]]) C11F +
   FVD[pN, \[Mu]] FVD[
     pN, \[Nu]] C22F + ((FVD[pN, \[Mu]] + FVD[pG, \[Mu]]) FVD[
        pN, \[Nu]] +
      FVD[pN, \[Mu]] (FVD[pN, \[Nu]] + FVD[pG, \[Nu]])) C12F

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
>>>



This archive was generated by hypermail 2b29 : 09/04/20-12:55:05 AM Z CEST