CategoryData
TensorKit.jl extension for low rank unitary fusion categories, using smallRankUnitaryFusionData
This package provides TensorKit's sectortypes for all objects of multiplicity-free (braided) fusion categories up to rank 6. The full list, along with the naming convention can be found in the Anyon Wiki.
The fusion categories adhere to a hierarchical structure of exported abstract types:
PreModularFusionCategory{R,N,I,D₁,D₂} <: UnitaryFusionCategory{R,N,I,D₁} <: FusionRing{R,N,I}
which indicate implementations of fusion rules (Nsymbol
), associators (Fsymbol
) and braidings (Rsymbol
). The naming is such that R
indicates the rank, N
the amount of non-self-dual objects, I
the fusion ring index, such that equal values imply the same objects and fusion rules. D₁
is the category index, enumerating different solutions for Fsymbol
of the pentagon equation, while D₂
enumerates different solutions of Rsymbol
the hexagon equation.
Objects in these categories are identified with integers ranging from 1
to R
, where the unit is always 1
. These can then be used as any other Sector
for constructing TensorMap
s.
using TensorKit, CategoryData
𝒞 = PreModularFusionCategory{2,0,2,0,0} # Fibonacci category
𝒪 = Object{𝒞}
@show collect(values(𝒪)) # 1 -> I, 2 -> τ
t = TensorMap(rand, ComplexF64, Vect[𝒪](1 => 2, 2 => 2) ← Vect[𝒪](1 =>2, 2 => 2))