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

A minor issue with FCFAConvert #31

Closed DexKim closed 6 years ago

DexKim commented 6 years ago

The function FCFAConvert seems to have problems with substituting indices in FASUNF(a,b,c,d). For example, when the following code is evaluated

t4 = CreateTopologies[0, 4];
gggg = InsertFields[t4, {V[5], V[5], V[5], V[5]} -> {}, 
   InsertionLevel -> {Classes}, Model -> "SMQCD"];
ggggAmp = 
 FCFAConvert[CreateFeynAmp[gggg, PreFactor -> 1], 
  IncomingMomenta -> {p1, p2, p3, p4}, DropSumOver -> True, 
  SUNIndexNames -> {a, b, c, d, e}, 
  LorentzIndexNames -> {Subscript[\[Mu], 1], Subscript[\[Mu], 2], 
    Subscript[\[Mu], 3], Subscript[\[Mu], 4], Subscript[\[Mu], 5], 
    Subscript[\[Mu], 6]}]

the first amplitude comes up with a factor -f^($AL$14645cd) f^(ab$AL$14645)-f^($AL$14646bd) f^(ac$AL$14646) . Although the expression itself seems to be valid, the label $AL$(some number) is very odd.

vsht commented 6 years ago

Those are just dummy indices, so I don't really understand what is the problem here..

DexKim commented 6 years ago

I was wondering if those dummy indices could be given names that would be more familiar to the human eye. I thing I should just live with it...

vsht commented 6 years ago

Well, you sort of can do this like

ggggAmp[[1]] // FCCanonicalizeDummyIndices[#, Head -> {SUNIndex}] &

or

ggggAmp[[1]] // 
 FCCanonicalizeDummyIndices[#, SUNIndexNames -> {i1, i2}, 
   Head -> {SUNIndex}] &

but this is not a clever thing to do, unless it is meant for some teaching/demonstrating purposes, or you exactly know what you are doing. Canonicalization of dummy indices is a very expensive operation and should be usually avoided as much as possible. Moreover, it simply makes no sense to canonicalize indices that will be anyhow contracted in the step.