Relative centers
Let $\mathcal D\subseteq\mathcal C$ be a tensor subcategory. The relative center $\mathcal Z_{\mathcal D}(\mathcal C)$ consists of pairs $(X,\gamma)$, where $X\in\mathcal C$ and
\[\label{eq:relative-half-braiding-component} \gamma_Y:X\otimes Y\longrightarrow Y\otimes X, \qquad Y\in\mathcal D,\]
is natural in $Y$. With the associator direction used throughout this manual, the compatibility condition for $Y,Z\in\mathcal D$ is
\[\label{eq:relative-half-braiding-hexagon} \gamma_{Y\otimes Z} =a^{-1}_{Y,Z,X}\circ(\mathrm{id}_Y\otimes\gamma_Z) \circ a_{Y,X,Z}\circ(\gamma_Y\otimes\mathrm{id}_Z) \circ a^{-1}_{X,Y,Z}.\]
It is accompanied by the normalized unit condition. Morphisms are morphisms in $\mathcal C$ intertwining these relative half-braidings. This is the same central-object-first convention as for the Drinfeld center. Gelaki et al. (2009), §2B instead write $\widetilde\gamma_Y:Y\otimes X\to X\otimes Y$; their convention is obtained by $\widetilde\gamma_Y=\gamma_Y^{-1}$.
The implemented constructor is centralizer(C,generators). It first forms the tensor subcategory generated by the supplied objects and stores one component of $\gamma$ for each of its simple objects. The half-braiding direction and morphism convention are exactly those of the Drinfeld center. TensorCategories.CentralizerObject stores supplied components without validation. is_central checks their relative half-braiding compatibility; invertibility and the normalized unit condition remain requirements on manually supplied data. This check currently uses represented equality and is therefore intended for exact coefficients; unlike the full-center check, it has no ball-overlap branch. For non-split simples, it does not separately test naturality against non-scalar simple endomorphisms.
Taking $\mathcal D=\mathcal C$ recovers the Drinfeld center. Taking $\mathcal D$ to be the tensor subcategory generated by a simple unit leaves only the normalized unit half-braiding and recovers $\mathcal C$. In general the relative center is monoidal but has no canonical braiding: for two of its objects, the underlying object of one need not lie in $\mathcal D$, so the other relative half-braiding need not have a component on it.
Over an algebraically closed field of characteristic zero, the relative center is a fusion category and
\[\label{eq:relative-center-fp-dimension} \operatorname{FPdim}(\mathcal Z_{\mathcal D}(\mathcal C)) =\operatorname{FPdim}(\mathcal C)\operatorname{FPdim}(\mathcal D).\]
These statements follow from its description as a dual category (Gelaki et al., 2009; Remark 2.4). The constructor also accepts other coefficient fields; simple-object enumeration there is governed by the implementation hypotheses below.
Despite the Julia name, this is not the Müger centralizer. The latter is a full subcategory of a braided category defined by a double-braiding identity and does not attach new half-braiding data to its objects (Gelaki et al., 2009; §2C).
The simple-object enumeration adapts the induction and endomorphism-algebra strategy for full centers from Mäurer (2026), §§2.2–2.4. It is provided for a split spherical fusion category $\mathcal C$ and a finite fusion subcategory $\mathcal D$ generated by the supplied objects. It uses the ambient induction and decomposition operations and requires
\[\label{eq:relative-center-nonzero-dimension} \sum_{S\in\operatorname{Irr}(\mathcal D)} \dim(S)\dim(S^*)\ne0\]
in the coefficient field. This is the sum of the squared norms of the simple objects of $\mathcal D$; in positive characteristic it can vanish. Constructing the parent checks semisimplicity of $\mathcal C$, but does not by itself certify the remaining hypotheses.
The next chapter collects further categorical constructions, beginning with products, scalar extension, and skeletal coordinates.