Name: Vladyslav Shtabovenko (email_not_shown)
Date: 10/14/16-04:35:04 PM Z


after 12 years here is the resolution:

What goes wrong in this calculation is that you use 4-dim Dirac matrices (GA) to write down the trace.
So the trace in t remains unevaluated and gets converted to D-dims when OneLoop is executed. The trace
in s, however, has already been computed by TR in 4-dims (which is inconsistent for a D-dim loop integral in DR), so the output you get from evaluating s with OneLoop is not correct.

The lesson to learn from here is that one should *never* mix D-dim and 4-dim quantities when working
with purely D-dim amplitudes. When you want to write D-dim Dirac matrices use GAD and GSD instead of GA and GS. Otherwise things like this happen.

And here is the correct code:

ex = I ((el^2)/(16 Pi^4 (1 - D)))FAD[{q, mf}, {q - k, mf}] DiracTrace[(mf + GS[q - k]).GA[i].(mf + GS[q]).GA[i]]

t = ChangeDimension[ex, D]
s = ChangeDimension[ex, D] /. DiracTrace -> TR

r1 = OneLoop[q, t]
r2 = OneLoop[q, s]
(r1 - r2) // Simplify // PaVeReduce

which returns 0 as it should.

P.S. I guess it might be better to redesign the Dimension option in TID and OneLoop and make them abort the calculation when someone tries to compute things like TID[GS[q].GS[p] FAD[{q,m1},{q+p,m2}],q] ...


> Hi,
> I have some questions about DiracTrace & TR functions. Here "t" and "s" are only different in
> the trace function DiracTrace or TR. By using OneLoop, I suppose the result "rst1-rst2" should
> be zero, but the output is not.
> (****************************************************************************)
> \!\(t = I\ \(el\^2\/\(16\ \(Pi\^4\) \((
> 1 - D)\)\)\) FAD[{q, mf}, {q - k, mf}] DiracTrace[\((mf + GS[q -
> k])\) . GA[] . \((mf + GS[q])\) .
> GA[]]\ // \ FCI\[IndentingNewLine]
> s = I\ \(el\^2\/\(16\ \(Pi\^4\) \((1 - D)\)\)\) FAD[{q,
> mf}, {q - k, mf}] TR[\((mf + GS[q - k])\) . GA[] . \((mf +
> GS[q])\) . GA[]]\ // \ FCI\)
> OneLoop[q, t]
> rst1 = FullSimplify[%]
> OneLoop[q, s]
> rst2 = FullSimplify[%]
> rst1 - rst2 // Simplify
> (****************************************************************************)
> The attachment is the full file (Trace.nb) with outputs.
> Anther question is about the option "TraceOfOne". FeynCalc sets "TraceOfOne->4" in both
> DiracTrace & TR functions in the usual cases. What I want to know is wether I should
> set "TraceOfOne->D" when I do some calculations in D-dimension.
> Best regards,
> Zhiwei Huang,
> Wuhan University, PRC

This archive was generated by hypermail 2b29 : 05/22/17-09:00:02 PM Z CEST