Cyclic Group Representations: ZNIrrep
ZNIrrep{N} and LargeZNIrrep{N} represent irreducible representations of the cyclic group $\mathbb{Z}_N$. Use ZNIrrep{N} when possible; it selects the compact storage type automatically.
Sector types
TensorKitSectors.ZNIrrep — Type
struct ZNIrrep{N} <: AbstractIrrep{ℤ{N}}
ZNIrrep{N}(n::Integer)
Irrep[ℤ{N}](n::Integer)Represents irreps of the group $ℤ_N$ for some value of N. For N equals 2, 3 or 4, ℤ{N} can be replaced by ℤ₂, ℤ₃, and ℤ₄. An arbitrary Integer n can be provided to the constructor, but only the value mod(n, N) is relevant.
The type of the stored integer (UInt8) requires N ≤ 128. Larger values of N should use the LargeZNIrrep instead. The constructor Irrep[ℤ{N}] should be preferred, as it will automatically select the most efficient storage type for a given value of N.
See also charge and modulus to extract the relevant data.
Fields
n::UInt8: the integer label of the irrep, moduloN.
TensorKitSectors.LargeZNIrrep — Type
struct LargeZNIrrep{N} <: AbstractIrrep{ℤ{N}}
LargeZNIrrep{N}(n::Integer)
Irrep[ℤ{N}](n::Integer)Represents irreps of the group $ℤ_N$ for some value of N, which is typically larger than 128. For smaller values of N, the ZNIrrep sector type should be used instead. An arbitrary Integer n can be provided to the constructor, but only the value mod(n, N) is relevant.
The constructor Irrep[ℤ{N}] should be preferred, as it will automatically select the most efficient storage type for a given value of N.
See also charge and modulus to extract the relevant data.
Fields
n::UInt: the integer label of the irrep, moduloN.
Z2Irrep, Z3Irrep, and Z4Irrep are aliases for ZNIrrep{2}, ZNIrrep{3}, and ZNIrrep{4}. For small N, labels are stored as UInt8; larger N uses LargeZNIrrep{N}.
Fusion Rules
Labels are charges modulo N. The unit is charge 0, duality negates the charge modulo N, and fusion adds charges:
\[a \otimes b = (a + b) \bmod N,\qquad a^* = -a \bmod N.\]
The category has FusionStyle(ZNIrrep{N}) = UniqueFusion().
Topological Data
All quantum dimensions are 1, as well as all twist. F-symbols, R-symbols and fusion tensors are trivial in allowed channels. The braiding style is Bosonic().
Iteration and basis conventions
values(ZNIrrep{N}) iterates charges in increasing order from 0 to N - 1.
using TensorKitSectors
values(ZNIrrep{5})[4] # output is Irrep[ℤ{5}](3)
values(ZNIrrep{34})[34] # output is Irrep[ℤ{34}](33)