Tensor Categories

Let $k$ be a field. Then a multitensor category is a category $\mathcal C$ which is

  • locally finite
  • k-linear
  • abelian
  • rigid monoidal

such that

  • $\otimes$ is bilinear on morphisms.

We call a multitensor category

  • tensor if additionally $\mathrm{End}(\mathbb 1) = k$,
  • multifusion if semisimple and finite and
  • fusion if tensor, semisimple and finite.

Thus to implement a one of the above one simply has to implement the interfaces which are part of the definition.

Multifusion Categories

Semisimple k-linear abelian categories have such a structure that allows one to describe them up to equivalence by matrices. Let $\{X_i \mid i \in \mathcal I\}$ be the set of non-isomorphic simple objects in $\mathcal C$. This we can establish an equivalence

\[\mathcal C \cong \bigoplus\limits_{i ∈ \mathcal I} \mathrm{Vec}_k\]

of abelian categories via $X \mapsto \bigoplus \mathrm{Hom(X_i, X)}$. For the detailed construction we refer to [2].

This basically implies that morphisms are merely matrices allowing us to efficiently compute thins like subobjects etc. Thus we want to choose any faithful functor

\[F \colon \mathcal C \to \mathrm{Vec}_k\]

to provide a method

  • matrix(f::YourMorphism)::MatElem.

This will open acces to the following operations which are necessary for many computations with fusion categories like for example the computation of the categorical center.

TensorCategories.pentagon_axiomFunction
pentagon_axiom(objects::Vector{<:Object}, log::Bool = false)

Check the pentagon axiom for all combinations of objects in objects. If log = true an array with the failing combinations is returned

source
TensorCategories.pentagon_axiomFunction
pentagon_axiom(C::Category, log::Bool = false)

Check the pentagon axiom for all combinations of simple objects of C. If log = true an array with the failing combinations is returned

source