Skeletal Fusion Categories

In many applications of fusion categories in mathematical Physics they are assumed to be skeletal, i.e. each isomorphism class containes only one object. Then fusion categories reduce to combinatorial objects in the sense that all objects are defined by the multiplicities of their simple subobjects. Morphisms reduce to families of matrices. The associativity constraints are given by the $F$-symbols.

$F$-Symbols

We use the following conventions for the $F$-symbols. Let $\mathcal c$ be a fusion category with simples $\mathcal O(\mathcal C)$. For all $a,b,c \in \mathcal O(\mathcal C)$ fix bases for the spaces $H_{a,b}^c = \mathrm{Hom}(a \otimes b, c)$. Then for all $a,b,c,d \in \mathcal O(\mathcal C)$ there are canonical bases

\[\begin{align} \mathrm{Hom}((a \otimes b) \otimes c, d) = \langle \beta \circ (\alpha \otimes \mathrm{id}_c) \mid \alpha \in H_{a,b}^e, \beta \in H_{e,c}^d, e \in \mathcal O(\mathcal C) \rangle \end{align}\]

and

\[\begin{align} \mathrm{Hom}(a \otimes (b \otimes c), d) = \langle \delta \circ (\mathrm{id}_a \otimes \gamma) \mid \gamma \in H_{b,e}^f, \delta \in H_{a,f}^d, f \in \mathcal O(\mathcal C) \rangle. \end{align}\]

Now we can express the implied map of the associator $a_{a,b,c}$ on these spaces in the canonical bases and the resulting matrices

\[\begin{align} \left[F_{a,b,c}^d\right]_{(f,\gamma,\delta)}^{(e,\beta,\alpha)} \end{align}\]

are known as the $F$-symbols of $\mathcal C$.

In TensorCategories.jl

We provide a structure for fusion categories defined by fusion rules and $F$-symbols. The type is SixJCategory and can be used with the following constructor.

TensorCategories.six_j_categoryFunction
six_j_category(F::Ring, mult::Array{Int,3}, [names::Vector{String}])
six_j_category(F::Ring, names::Vector{String})

Initialize a fusion category. Associativity constraints are all set to 1, i.e. are most likely false.

source

Moreover it is necessary to set some structures like associators, the unit and pivotal structure (if desired).

TensorCategories.set_associator!Function
set_associator!(F::SixJCategory, ass::Array{MatElem,4})
set_associator!(F::SixJCategory, i::Int, j::Int, k::Int, ass::Vector{<:MatElem})
set_associator!(F::SixJCategory, i::Int, j::Int, k::Int, l::Int, ass::Array{T,N}) where {T,N}
set_associator!(F::SixJCategory, i::Int, j::Int, k::Int, l::Int, m::Int, n::Int, v::RingElem)

Set the $F$-symbols of $F$.

source