(*Defino los generadores canonicos de SU(3) *)
e3={{1,0,0},{0,1,0},{0,0,1}}; (*Identidad de 3x3*)
f1= {{0,1,0},{1,0,0},{0,0,0}};
f2 = {{0,-I,0},{I,0,0},{0,0,0}};
f3 = {{1,0,0},{0,-1,0},{0,0,0}};
f4 = {{0,0,1},{0,0,0},{1,0,0}};
f5 = {{0,0,-I},{0,0,0},{I,0,0}};
f6 = {{0,0,0},{0,0,1},{0,1,0}};
f7 = {{0,0,0},{0,0,-I},{0,I,0}};
f8 = {{(1/(Sqrt[3])),0,0},{0,(1/(Sqrt[3])),0},{0,0,((-2)/(Sqrt[3]))}};
f={f1,f2,f3,f4,f5,f6,f7,f8};
Do[Print["f",i,"=",f[[i]]//MatrixForm,"      f",i+4,"=",f[[i+4]]//MatrixForm],{i,4}]

(*Calculo 3x3 *)
l=Array[0,8];
Do[l[[i]]=KroneckerProduct[f[[i]],e3]+KroneckerProduct[e3,f[[i]]],{i,8}];
L=ConstantArray[0,{9,9}];
Do[L=L+l[[i]].l[[i]],{i,8}];
MatrixForm[L]

(*Calculo (3x3)x3 = 3x3x3 *)
e9=IdentityMatrix[9];
q=Array[0,8];
Do[q[[i]]=KroneckerProduct[f[[i]],e9]+KroneckerProduct[e3,l[[i]]],{i,8}];
Q=ConstantArray[0,{27,27}];
Do[Q=Q+q[[i]].q[[i]],{i,8}]
Q//MatrixForm

(*Busco la representacion ireducible*)
Eigenvalues[Q]
U=Eigenvectors[Q];
Do[U[[i]]=U[[i]]/Norm[U[[i]]],{i,27}];
(* Resulta ser 3x3x3 = 10+8+8+1
24 es el autovalor del decuplete y 12 es el del octete (hay dos).
Es facil obtener una formula general para el autovalor de C1 expresandolo 
en terminos de los operadores de subida y bajada (T,U y V).
Si lo hace van a encontrar que es 4((((p2+pq+q2))/3)+p+q) *)