$U(1)$ Representations: U1Irrep
U1Irrep represents irreducible representations of the compact abelian group $U(1)$ as a Sector. The implementation stores charges as half-integers, which is useful for spin systems where z-component of an $SU(2)$ spin may be half-integral.
Sector type
TensorKitSectors.U1Irrep — Type
struct U1Irrep <: AbstractIrrep{U₁}
U1Irrep(charge::Real)
Irrep[U₁](charge::Real)Represents irreps of the group $U₁$. The irrep is labelled by a charge, which should be an integer for a linear representation. However, it is often useful to allow half integers to represent irreps of $U₁$ subgroups of $SU₂$, such as the $S^z$ of spin-1/2 system. Hence, the charge is stored as a HalfInt from the package HalfIntegers.jl, but can be entered as arbitrary Real. The sequence of the charges is: 0, 1/2, -1/2, 1, -1, ...
Fields
charge::HalfInt: the label of the irrep, which can be any half integer.
The unit is U1Irrep(0), and duality negates the charge:
\[q^* = -q.\]
Fusion Rules
Fusion adds charges:
\[q_1 \otimes q_2 = q_1 + q_2.\]
Topological Data
The category has FusionStyle(U1Irrep) = UniqueFusion(). All irreps have quantum dimension 1, and the Nsymbol is true exactly when the output charge is the sum of the input charges.
The Fsymbol, Rsymbol, and fusiontensor are all trivial on allowed fusion channels. Since this is a representation category, the braiding style is Bosonic() and all twists are 1.
Iteration and basis conventions
values(U1Irrep) is infinite. The iterator starts at zero and alternates positive and negative charges:
using TensorKitSectors
values(U1Irrep)[6] # output: Irrep[U₁](3/2)
values(U1Irrep)[7] # output: Irrep[U₁](-3/2)