@@ -22,7 +22,8 @@ Every new `I<:Sector` should implement the following methods:
2222 `UniqueFusion`/`SimpleFusion`) or matrix (in case of `GenericFusion`)
2323and optionally
2424* `dim(a::I)`: quantum dimension of sector `a`
25- * `frobeniusschur(a::I)`: Frobenius-Schur indicator of `a`
25+ * `frobenius_schur_indicator(a::I)`: Frobenius-Schur indicator of `a` (1, 0, -1)
26+ * `frobenius_schur_phase(a::I)`: Frobenius-Schur phase of `a` (±1)
2627* `Bsymbol(a::I, b::I, c::I)`: B-symbol: scalar (in case of
2728 `UniqueFusion`/`SimpleFusion`) or matrix (in case of `GenericFusion`)
2829* `twist(a::I)` -> twist of sector `a`
@@ -316,27 +317,43 @@ sqrtdim(a::Sector) = (FusionStyle(a) isa UniqueFusion) ? 1 : sqrt(dim(a))
316317invsqrtdim (a:: Sector ) = (FusionStyle (a) isa UniqueFusion) ? 1 : inv (sqrt (dim (a)))
317318
318319"""
319- frobeniusschur (a::Sector)
320+ frobenius_schur_phase (a::Sector)
320321
321- Return the Frobenius-Schur indicator of a sector `a`.
322+ Return the Frobenius-Schur phase of a sector ``\\ kappa_a ∈ {1, -1}``, which coincides with
323+ the Frobenius-Schur indicator if `a == dual(a)`, and can otherwise be gauged to be `1`.
324+
325+ See also [`frobenius_schur_indicator`](@ref) for the group-theoretic version.
322326"""
323- function frobeniusschur (a:: Sector )
327+ function frobenius_schur_phase (a:: Sector )
324328 return if FusionStyle (a) isa UniqueFusion || FusionStyle (a) isa SimpleFusion
325329 sign (Fsymbol (a, dual (a), a, a, leftunit (a), rightunit (a)))
326330 else
327331 sign (Fsymbol (a, dual (a), a, a, leftunit (a), rightunit (a))[1 ])
328332 end
329333end
330334
335+ """
336+ frobenius_schur_indicator(a::Sector)
337+
338+ Return the Frobenius-Schur indicator of a sector ``\\ nu_a ∈ {1, 0, -1}``, which distinguishes
339+ between real, complex and quaternionic representations.
340+
341+ See also [`frobenius_schur_phase`](@ref) for the category-theoretic version.
342+ """
343+ function frobenius_schur_indicator (a:: Sector )
344+ ν = frobenius_schur_phase (a)
345+ return a == conj (a) ? zero (ν) : ν
346+ end
347+
331348# Not necessary
332349function Asymbol (a:: I , b:: I , c:: I ) where {I <: Sector }
333350 return if FusionStyle (I) isa UniqueFusion || FusionStyle (I) isa SimpleFusion
334351 (sqrtdim (a) * sqrtdim (b) * invsqrtdim (c)) *
335- conj (frobeniusschur (a) * Fsymbol (dual (a), a, b, b, leftunit (a), c))
352+ conj (frobenius_schur_phase (a) * Fsymbol (dual (a), a, b, b, leftunit (a), c))
336353 else
337354 reshape (
338355 (sqrtdim (a) * sqrtdim (b) * invsqrtdim (c)) *
339- conj (frobeniusschur (a) * Fsymbol (dual (a), a, b, b, leftunit (a), c)),
356+ conj (frobenius_schur_phase (a) * Fsymbol (dual (a), a, b, b, leftunit (a), c)),
340357 (Nsymbol (a, b, c), Nsymbol (dual (a), c, b))
341358 )
342359 end
0 commit comments