Hi,
I have to admit that I'm not super familiar with the internals of color.h but I'm wondering why the following
does not get simplified
#include color.h
I lsclCFi=NR, <lsclCFi1=NR> , ... ,<lsclCFi10=NR>;
I lsclCFj=NR, <lsclCFj1=NR>, ... , <lsclCFj10=NR>;
I lsclCAi=NA, <lsclCAi1=NA>, ... , <lsclCAi10=NA>;
L ex1 = T(lsclCFj3,lsclCFj1,lsclCAi4,lsclCAi4);
L ex2 = T(lsclCFj3,lsclCFj1,lsclCAi4,lsclCAi6,lsclCAi6,
lsclCAi4);
.sort
#call docolor
.sort
#call simpli
.sort
print;
.end
I mean, if I replace lsclCFj3 with lsclCFj1 converting the chains to traces, then color.h obviously can simplify both expressions without any issues.
However, even if the fundamental indices are open, all adjoint indices are still contracted and to my understanding one can simplify these expressions without resorting to Fierz identities by using
$$(T^a T^a)_{ij} = C_F \delta_{ij}$$
and the commutation relation. Am I missing something here?
Cheers,
Vlad