FeynCalc / feyncalc

Mathematica package for algebraic calculations in elementary particle physics.
https://feyncalc.github.io
GNU General Public License v3.0
310 stars 87 forks source link

MajoranaSpinor support in FCFAConvert #24

Closed kirtimaan closed 5 years ago

kirtimaan commented 7 years ago

Dear FeynCalc Authors, Using FCFAConvert with a Feynarts model file that contains Majorana Fermions does not work. It appears that "MajoranaSpinor", a feynarts object, is not recognized by FeynCalc.

please advise, best,

Kirtimaan

JamesHMcKay commented 7 years ago

I have come across the same issue with Spinor objects as well as MajoranaSpinor, for now I just set these objects equal to 1, and this gives me the amplitude I would expect. This works okay for me with one-loop amplitudes at least, but is it always okay to do this?

vsht commented 7 years ago

Frankly speaking, adding Majorana spinors is not my highest priority right now. I guess I could introduce a MajoranaSpinor object, but without any transformation rules attached to it, i. e. DiracSimplify will not simplify Majorana spinor chains like it does with Dirac spinor chains. Otherwise it would take way too much time to implement.

BTW, what are the issues with the existing Spinor objects?

JamesHMcKay commented 7 years ago

I'm not sure if it's the same problem as above, but the behaviour looks similar to me (that the spinor objects remain in the final amplitude). The following example shows what I get (I generated this amplitude from FeynArts, but just include it in InputForm here for convenience to test):

amp = (Spinor[Momentum[p, D], M, 1] . DiracGamma[LorentzIndex[Lor2, D], D] . (M + DiracGamma[Momentum[k1, D], D]) . DiracGamma[LorentzIndex[Lor2, D], D] . Spinor[Momentum[p, D], M, 1]* FeynAmpDenominator[PropagatorDenominator[Momentum[k1, D], M], PropagatorDenominator[Momentum[k1 - p, D], ma]])/Pi^4 fullamp = (amp) // DiracSimplify // TID[#, k1] & // DiracSimplify; tfiamp0 = fullamp // ToTFI[#, k1, p] & // ChangeDimension[#, D] &; SE = Simplify[TarcerRecurse[tfiamp0]]

The output contains a product of Spinor objects, and I get the same behaviour with MajoranaSpinors (they are also moved to the left but remain in the result). In either case I naively set these objects to 1 and the result is consistent with what I expect so it doesn't seem to be a big problem, although I'm worried it may have an effect in more complicated cases where I can't just check by hand that it is correct.

Thanks, James

vsht commented 7 years ago

In your example the spinors depend on D-dimensional momenta, so DiracSimplify did not know what to do with them. The product of ubar(p,m) u(p,m) should evaluate to 2m (using relativistic normalization) which should be now fixed. However, even if the spinor chain remains unevaluated, I do not see why it should be an issue. The spinors depend on external momenta and hence do not influence the evaluation of the loop integrals. If the loop momenta are contracted with the Dirac matrices inside the chain, TID / FCMultiLoopTID will just uncontract them, so again this would not be a problem.

vsht commented 5 years ago

With today's commits in the dev version Majorana spinors should work out of the box. FCFAConvert will convert them to Spinor and FermionSpinSum will take care of the chain reordering, cf. https://feyncalc.github.io/forum