@@ -295,6 +295,10 @@ struct SimpleFusion <: MultipleFusion end # multiple fusion but multiplicity fre
295295struct GenericFusion <: MultipleFusion end # multiple fusion with multiplicities
296296const MultiplicityFreeFusion = Union{UniqueFusion, SimpleFusion}
297297
298+ @doc (@doc FusionStyle) UniqueFusion
299+ @doc (@doc FusionStyle) SimpleFusion
300+ @doc (@doc FusionStyle) GenericFusion
301+
298302# combine fusion properties of tensor products of sectors
299303Base.:& (f:: F , :: F ) where {F <: FusionStyle } = f
300304Base.:& (f₁:: FusionStyle , f₂:: FusionStyle ) = f₂ & f₁
@@ -320,6 +324,9 @@ UnitStyle(a::Sector) = UnitStyle(typeof(a))
320324struct SimpleUnit <: UnitStyle end
321325struct GenericUnit <: UnitStyle end
322326
327+ @doc (@doc UnitStyle) SimpleUnit
328+ @doc (@doc UnitStyle) GenericUnit
329+
323330UnitStyle (:: Type{I} ) where {I <: Sector } = length (allunits (I)) == 1 ? SimpleUnit () : GenericUnit ()
324331
325332@noinline function throw_genericunit_error (I)
452459 BraidingStyle(I::Type{<:Sector}) -> ::BraidingStyle
453460
454461Return the type of braiding and twist behavior of sectors of type `I`, which can be either
462+ * `NoBraiding()`: no braiding structure
455463* `Bosonic()`: symmetric braiding with trivial twist (i.e. identity)
456464* `Fermionic()`: symmetric braiding with non-trivial twist (squares to identity)
457465* `Anyonic()`: general ``R^{ab}_c`` phase or matrix (depending on `SimpleFusion` or
@@ -471,6 +479,11 @@ struct Bosonic <: SymmetricBraiding end # all twists are one
471479struct Fermionic <: SymmetricBraiding end # twists one and minus one
472480struct Anyonic <: HasBraiding end
473481
482+ @doc (@doc BraidingStyle) NoBraiding
483+ @doc (@doc BraidingStyle) Bosonic
484+ @doc (@doc BraidingStyle) Fermionic
485+ @doc (@doc BraidingStyle) Anyonic
486+
474487Base.:& (b:: B , :: B ) where {B <: BraidingStyle } = b
475488Base.:& (B1:: BraidingStyle , B2:: BraidingStyle ) = B2 & B1
476489Base.:& (:: Bosonic , :: Fermionic ) = Fermionic ()
0 commit comments