Name: Stefano Colucci Date: 06/13/17-01:35:36 PM Z


Dear FeynCalc team,

first of all thanks for providing particle physicists like me such a useful and simple tool like FeynCalc. Unfortuntely I am experiencing an issue I am not sure how to fix. I keep getting this error message

 ”Error! DiracTrace has encountered a fatal problem and must abort the computation. The problem reads: Irregular trace structure in”

 … FeynCalc`DiracTrace`Private`dsHead(Overscript[\[Gamma], _]^5.Overscript[\[Gamma], _]^5) FeynCalc`DiracTrace`Private`dsHead(Overscript[\[Gamma], _]^6.Overscript[\[Gamma], _]^6) …

when I try to calculate a trace of an amplitude squared. Here is the code ( I am sorry it’s not very readable, but the amplitude structure is rather involved ) :

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

(* I am not defining PV functions explicitly already at this stage: it would be too messy and it doesn’t help with the trace *)

AmpF = (I Q)/(16 \[Pi]^2)
    DiracReduce[
    Contract[DiracSimplify[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*DiracSimplify[Proj[g2L, g2R], dm[\[Rho]], dm[\[Mu]],
        Proj[g1L, g1R]] (C\[Mu]F[\[Rho]] + FVD[pN, \[Rho]] C0F) +
      mF*DiracSimplify[Proj[g2L, g2R], dm[\[Mu]], dm[\[Sigma]],
        Proj[g1L,
         g1R]] (C\[Mu]F[\[Sigma]] + (FVD[pN, \[Sigma]] +
            FVD[pG, \[Sigma]]) C0F) +
      mF^2*DiracSimplify[Proj[g2L, g2R], dm[\[Mu]], Proj[g1L, g1R]] C0F]];

AmpFconj = -((I Q)/(16 \[Pi]^2)) DiracReduce[
    Contract[DiracSimplify[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*DiracSimplify[Proj[Conjugate[g1R], Conjugate[g1L]], dm[\[Beta]],
        dm[\[Mu]],
        Proj[Conjugate[g2L], Conjugate[g2L]]] (C\[Mu]F[\[Beta]] +
         FVD[pN, \[Beta]] C0F) +
      mF*DiracSimplify[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*DiracSimplify[Proj[Conjugate[g1R], Conjugate[g1L]], dm[\[Mu]],
        Proj[g1L, g1R]] C0F]];

AmpF2 = Contract[prop[pG + pN, mA] AmpFconj prop[pN, mN] AmpF];

 AmpF2tr = TR[AmpF2]

During evaluation of In[35]:= DiracTrace::failmsg: Error! DiracTrace has encountered a fatal problem and must abort the computation. The problem reads: Irregular trace structure in >>

During evaluation of In[35]:= (1/(256 \[Pi]^4))mA mF^2 mN Q^2 FeynCalc`DiracTrace`Private`dsHead(Overscript[\[Gamma], _]^5.Overscript[\[Gamma], _]^5) FeynCalc`DiracTrace`Private`dsHead(Overscript[\[Gamma], _]^6.Overscript[\[Gamma], _]^6) (C0F+C1F+C2F) (g1L g1R^\[Conjugate]-g1R g1L^\[Conjugate]) (g1L g2L-g1R g2R) (C0F mA^2+C0F mN^2+C1F mA^2+C1F mN^2+C2F mN^2)

Out[35]= $Aborted

I have skimmed through the forum and ameliorate my code accordingly, but still no improvement. Using DiracReduce or DiracSimplify or Contract at any stage of the calculation doesn’t make things better. Neither does DiracSubstitute67 -> True . Of course I am happy to provide more details about my computation in case it’s needed.

Do you have any idea of what is causing this issue and how to avoid it ?

Thank you in advance,

Stefano