SU(2)

class groups.su2.SU2(J, dtype=torch.float64, device='cpu')[source]
Parameters
  • J (int) – highest weight

  • dtype (torch.dtype) – data type of matrix representation of operators

  • device (int) – device on which the torch.tensor objects are stored

Build a representation J of SU(2) group. The J corresponds to (physics) spin irrep notation as spin \(S = (J-1)/2\).

The raising and lowering operators are defined as:

\[\begin{split}\begin{align*} S^+ &=S^x+iS^y & S^x &= 1/2(S^+ + S^-)\\ S^- &=S^x-iS^y\ \Rightarrow\ & S^y &=-i/2(S^+ - S^-) \end{align*}\end{split}\]
I()[source]
Returns

Identity operator of irrep

Return type

torch.tensor

S()[source]
Returns

rank-3 tensor containing spin generators [S^z, S^x, S^y]

Return type

torch.tensor

SM()[source]
Returns

\(S^-\) operator of irrep.

Return type

torch.tensor

SP()[source]
Returns

\(S^+\) operator of irrep.

Return type

torch.tensor

SS(xyz=(1.0, 1.0, 1.0))[source]
Parameters

xyz (tuple(float)) – coefficients of anisotropy of spin-spin interaction xyz[0]*(S^z S^z) + xyz[1]*(S^x S^x) + xyz[2]*(S^y S^y)

Returns

spin-spin interaction as rank-4 for tensor

Return type

torch.tensor

SZ()[source]
Returns

\(S^z\) operator of irrep

Return type

torch.tensor

SU(2) with explicit U(1) structure