Hi guys, First, thanks for all help. But now, I would like to know how GiNaC works with color (non abelian gauge ) field. Supose the object defined below: ex e=color_f(a,b,c)*indexed(A,mu,a)*indexed(A,nu,b)*indexed(A,nu,c); cout<<e<<endl; mu,nu are lorentz indices and a,b,c color indices defined like usual (dimension 8). The output is like this: -f(a,c,b)*A.mu.a*A.nu.b*A.nu.c It only sorts the color_f argument and leaves other objects untouched. My question is: I have to make a struct to order the objects? Is there a " canonicalize()" for color objects? Finally is correct this declaration of color objects or I have to multiply by a color_t($0) each to have a color index? Thanks for all Marco ------------------------------------------------- This mail sent through IMP: http://horde.org/imp/