CurrentModule = TensorKit
The fundamental abstract supertype for symmetry sectors is Sector:
Sector
Various concrete subtypes of Sector are provided within the TensorKitSectors library:
Trivial
AbstractIrrep
ZNIrrep
DNIrrep
U1Irrep
SU2Irrep
CU1Irrep
AbstractGroupElement
ZNElement
FermionParity
FermionNumber
FermionSpin
FibonacciAnyon
IsingAnyon
PlanarTrivial
IsingBimodule
TimeReversed
ProductSector
Several more concrete sector types can be found in other packages such as SUNRepresentations.jl, CategoryData.jl, QWignerSymbols.jl, ...:
Some of these types are parameterized by a type parameter that represents a group. We therefore also provide a number of types to represent groups:
TensorKitSectors.Group
TensorKitSectors.AbelianGroup
TensorKitSectors.Cyclic
TensorKitSectors.U₁
TensorKitSectors.CU₁
TensorKitSectors.SU
TensorKitSectors.Dihedral
TensorKitSectors.ProductGroup
The following types are used to characterise different properties of the different types of sectors:
FusionStyle
BraidingStyle
UnitStyle
Finally, the following auxiliary types are defined to facilitate the implementation of some of the methods on sectors:
TensorKitSectors.SectorValues
TensorKitSectors.SectorProductIterator
The following constants are defined to facilitate obtaining the type associated with the group elements or the irreducible representations of a given group:
Irrep
GroupElement
The following methods can be used to obtain properties such as topological data of sector objects, or to manipulate them or create related sectors:
unit
isunit
leftunit
rightunit
allunits
dual(::Sector)
Nsymbol
⊗
Fsymbol
Rsymbol
Bsymbol
dim(::Sector)
frobenius_schur_phase
frobenius_schur_indicator
twist(::Sector)
Base.isreal(::Type{<:Sector})
TensorKitSectors.sectorscalartype
deligneproduct(::Sector, ::Sector)
We have also the following methods that are specific to certain types of sectors and serve as accessors to their fields:
charge
modulus
Furthermore, we also have one specific method acting on groups, represented as types
×
Because we sometimes want to customize the string representation of our sector types, we also have the following method:
TensorKitSectors.type_repr
Finally, we provide functionality to compile all revelant methods for a sector:
TensorKitSectors.precompile_sector