Name: Vladyslav Shtabovenko Date: 02/10/15-05:14:38 PM Z


Dear FeynCalc users,

we agree that in many computations it is quite useful to work with SU(N)
matrices in the fundamental representation that carry explicit
fundamental indices. Although one can define such objects and do the
necessary contractions by hand, we decided to implement this as a new
feature in the upcoming FeynCalc 9. It is already available in the
development version.

<https://github.com/FeynCalc/feyncalc/commit/062cd8c8c6d3d62aed11945b496db5795545a319>

First of all, we changed the typesetting of all the SU(N) objects, such
that now adjoint indices are always upstairs, while the fundamental
indices are downstairs. An SU(N) matrix with explicit fundamental
indices is denoted by SUNTF. The full FeynCalcInternal representation is

SUNTF[{SUNIndex[a]},SUNFIndex[i],SUNFIndex[j]]

which corresponds to T^a_ij, where a is the adjoint, while i and j are
fundamental indices. Note the new head SUNFIndex that stands for
fundamental indices. Furthermore, unlike SUNT, SUNTF commutes with
everything, since it is not a matrix, but a particular element of a
matrix, i.e. c-number. The first argument is a list of SUNIndex objects,
hence to write say (T^a T^b T^c)_ij you can use
SUNTF[{SUNIndex[a], SUNIndex[b], SUNIndex[c] },SUNFIndex[i],SUNFIndex[j]]

As usual, for convenience you can use the FeynCalcExternal input style,
i.e. SUNT[{a},i,j] or SUNT[{a,b,c},i,j] are fine as well. A special case
is SUNT[a,i,j] which is automatically converted to SUNT[{a},i,j]

In addition to that we added the Kronecker delta in the fundamental
representation (SUNFDelta), described as
SUNFDelta[SUNFIndex[b],SUNFIndex[c]]. Its FeynCalcExternal name is SDF
and can be used as SDF[a,b].

A new function SUNFSimplify is responsible for working with fundamental
indices. It can contract SUNTFs that have common indices (i.e.
SUNTF[{a},i,j] SUNTF[{b},j,k] SUNTF[{c},k,l] becomes SUNTF[{a,b,c},i,l])
and perform contractions with Kronecker deltas like
SUNTF[{a},i,j] SUNFDelta[j,k] SUNTF[{b},k,l] -> SUNTF[{a,b},i,l]
SUNFDelta[i,j]SUNFDelta[j,i] -> SUNN

However, it is not needed to execute SUNFSimplify separately.
SUNSimplify automatically identifies expressions contatining SUNFIndex
and runs SUNFSimplify on them.

ComplexConjugate can handle SUNTF objects without problems,e.g.

ComplexConjugate[SUNTF[a, i, j]] -> SUNTF[a,j,i]

ComplexConjugate[SUNTF[{a,b,c}, i, j]] -> SUNTF[{c,b,a},j,i]

The same goes for FCRenameDummyIndices:

FCRenameDummyIndices[SUNTF[{a}, i, j] SUNTF[{b}, j, k]] ->

SUNTF[{a}, i, $AL[57]] SUNTF[{b}, $AL[57], k]

Now it is also very simple to convert FeynArts output that contains
color matrices to FeynCalc input:

SUNT[Index[Gluon, 2], Index[Colour, 3], Index[Colour, 5]]
/.{Index[Gluon,x_]:>SUNIndex[ToExpression[“Glu”<>ToString[x]]],
Index[Colour,x_]:>SUNFIndex[ToExpression[“Col”<>ToString[x]]],SUNT->SUNTF}

becomes

SUNTF[{SUNIndex[Glu2]}, SUNFIndex[Col3], SUNFIndex[Col5]].

Last but not least, we added new examples for tree level parton
processes in QCD that extensively use new SUNTF objects.

<https://github.com/FeynCalc/feyncalc/tree/master/FeynCalc/fcexamples/QCD>

If you are interested to help, please give the new SUNTF and SUNFDelta a
try and report possible issues.

Cheers,
Vladyslav