Below is a temporary answer that does implement all the commutation relations specified in the question but probably is not what the question really is asking for. I hope to get more information to address the more algebraic issues.
Since you're specifically asking about $SU(2)$, we have a convenient representation in the form of the $2\times 2$ Pauli matrices. This makes it seem very beneficial to map your problem onto a matrix multiplication. Here is how you can do it.
First I define the three single spin matrices, then embed them into the product space of the $N$ spin system using the functions sZ
, sPlus
and sMinus
which take the dimension N
as the first argument and the site index j
as the second argument.
{sx, sy, sz} = 1/2 PauliMatrix[{1, 2, 3}];
sP = sx + I sy;
sM = sx - I sy;
sZ[n_, j_] :=
KroneckerProduct[DiagonalMatrix[UnitVector[n, Mod[j, n, 1]]], sz]
sPlus[n_, j_] :=
KroneckerProduct[DiagonalMatrix[UnitVector[n, Mod[j, n, 1]]], sP]
sMinus[n_, j_] :=
KroneckerProduct[DiagonalMatrix[UnitVector[n, Mod[j, n, 1]]], sM]
Now verify for an example (site 1
in a 2-spin system) that the commutation relations hold, including the boundary condition that maps j=3
to j=1
:
sZ[2, 3].sPlus[2, 1] - sPlus[2, 1].sZ[2, 1] == sPlus[2, 1]
(* ==> True *)
sZ[2, 1].sMinus[2, 1] - sMinus[2, 1].sZ[2, 1] == -sMinus[2, 1]
(* ==> True *)
sPlus[2, 1].sMinus[2, 1] - sMinus[2, 1].sPlus[2, 1] ==
2 sZ[2, 1]
(* ==> True *)
Finally, define the commutator and the two operators of interest:
comm[a_, b_] := a.b - b.a
a = With[{n = 3},
Sum[j (Δ (sZ[n, j].sZ[n, j + 1] -
1/4 IdentityMatrix[2 n]) +
1/2 (sPlus[n, j].sMinus[n, j + 1] +
sMinus[n, j].sPlus[n, j + 1])), {j, 1, n}]];
b = With[{n = 3},
Sum[Δ (sZ[n, j].sZ[n, j + 1] -
1/4 IdentityMatrix[2 n]) +
1/2 (sPlus[n, j].sMinus[n, j + 1] +
sMinus[n, j].sPlus[n, j + 1]), {j, 1, n}]];
comm[a, b]
(*
==> {{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0,
0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}}
*)
This is the result for the commutator. It vanishes identically.