(* Primero me hago dos "For" entrelazados para definir las matrices J1, J2 y J3 en la dimension j, que puede ser cualquier entero o semientero *)
j=4; (* esto define la dimensino de la representacion *)
Jmas=Array[jmas,{2j+1,2j+1}];
Jmenos=Array[jmenos,{2j+1,2j+1}];
J3=Array[j3,{2j+1,2j+1}];
For[m1=-j,m1≤j,m1++,
For[m2=-j,m2≤j,m2++,
Jmas[[-m1+j+1,-m2+j+1]]=KroneckerDelta[m1,m2+1]*√(j(j+1)-m2(m2+1));
Jmenos[[-m1+j+1,-m2+j+1]]=KroneckerDelta[m1,m2-1]*√(j(j+1)-m2(m2-1));
J3[[-m1+j+1,-m2+j+1]]=KroneckerDelta[m1,m2] m1;
]
]
J1=((Jmas+Jmenos)/2);
J2=((Jmas-Jmenos)/(2 I));
J={J1,J2,J3};
Print[J1,J2,J3]

(* Ahora verificamos que cumplen el algebra de Lie de SU(2) *)
J1.J2-J2.J1==I J3
J2.J3-J3.J2==I J1
J3.J1-J1.J3==I J2