1111# ================================= Sectors interface ====================================
1212trivial (x) = trivial (typeof (x))
1313function trivial (axis_type:: Type{<:AbstractUnitRange} )
14- return GradedAxes . gradedrange ([trivial (eltype (axis_type))]) # always returns nondual
14+ return gradedrange ([trivial (eltype (axis_type))]) # always returns nondual
1515end
16- function trivial (la_type:: Type{<:LabelledNumbers.LabelledInteger} )
17- return LabelledNumbers. labelled (
18- one (LabelledNumbers. unlabel_type (la_type)), trivial (LabelledNumbers. label_type (la_type))
19- )
16+ function trivial (la_type:: Type{<:LabelledInteger} )
17+ return labelled (one (unlabel_type (la_type)), trivial (label_type (la_type)))
2018end
2119function trivial (type:: Type )
2220 return error (" `trivial` not defined for type $(type) ." )
@@ -29,10 +27,9 @@ function category_label(c::AbstractCategory)
2927end
3028
3129block_dimensions (g:: AbstractUnitRange ) = block_dimensions (SymmetryStyle (g), g)
32- block_dimensions (:: AbelianGroup , g) = LabelledNumbers . unlabel .(BlockArrays . blocklengths (g))
30+ block_dimensions (:: AbelianGroup , g) = unlabel .(blocklengths (g))
3331function block_dimensions (:: SymmetryStyle , g)
34- return Sectors. quantum_dimension .(GradedAxes. blocklabels (g)) .*
35- BlockArrays. blocklengths (g)
32+ return quantum_dimension .(blocklabels (g)) .* blocklengths (g)
3633end
3734
3835quantum_dimension (x) = quantum_dimension (SymmetryStyle (x), x)
5552
5653function fusion_rule (:: SymmetryStyle , c1:: C , c2:: C ) where {C<: AbstractCategory }
5754 degen, labels = label_fusion_rule (C, category_label (c1), category_label (c2))
58- return GradedAxes . gradedrange (LabelledNumbers . labelled .(degen, C .(labels)))
55+ return gradedrange (labelled .(degen, C .(labels)))
5956end
6057
6158# abelian case: return Category
6259function fusion_rule (:: AbelianGroup , c1:: C , c2:: C ) where {C<: AbstractCategory }
6360 return C (label_fusion_rule (C, category_label (c1), category_label (c2)))
6461end
6562
66- function fusion_rule (
67- :: EmptyCategory , l1:: LabelledNumbers.LabelledInteger , l2:: LabelledNumbers.LabelledInteger
68- )
69- return LabelledNumbers. labelled (l1 * l2, sector ())
63+ function fusion_rule (:: EmptyCategory , l1:: LabelledInteger , l2:: LabelledInteger )
64+ return labelled (l1 * l2, sector ())
7065end
7166
7267function label_fusion_rule (category_type:: Type{<:AbstractCategory} , :: Any , :: Any )
7671# ================================ GradedAxes interface ==================================
7772# tensor_product interface
7873function GradedAxes. fuse_blocklengths (
79- l1:: LabelledNumbers. LabelledInteger{<:Integer,<:Sectors. AbstractCategory} ,
80- l2:: LabelledNumbers. LabelledInteger{<:Integer,<:Sectors. AbstractCategory} ,
74+ l1:: LabelledInteger{<:Integer,<:AbstractCategory} ,
75+ l2:: LabelledInteger{<:Integer,<:AbstractCategory} ,
8176)
82- return GradedAxes. fuse_blocklengths (
83- combine_styles (SymmetryStyle (l1), SymmetryStyle (l2)), l1, l2
84- )
77+ return fuse_blocklengths (combine_styles (SymmetryStyle (l1), SymmetryStyle (l2)), l1, l2)
8578end
8679
8780function GradedAxes. fuse_blocklengths (
88- :: SymmetryStyle , l1:: LabelledNumbers. LabelledInteger , l2:: LabelledNumbers. LabelledInteger
81+ :: SymmetryStyle , l1:: LabelledInteger , l2:: LabelledInteger
8982)
90- fused = LabelledNumbers. label (l1) ⊗ LabelledNumbers. label (l2)
91- v =
92- LabelledNumbers. labelled .(
93- l1 * l2 .* BlockArrays. blocklengths (fused), GradedAxes. blocklabels (fused)
94- )
95- return GradedAxes. gradedrange (v)
83+ fused = label (l1) ⊗ label (l2)
84+ v = labelled .(l1 * l2 .* blocklengths (fused), blocklabels (fused))
85+ return gradedrange (v)
9686end
9787
9888function GradedAxes. fuse_blocklengths (
99- :: AbelianGroup , l1:: LabelledNumbers. LabelledInteger , l2:: LabelledNumbers. LabelledInteger
89+ :: AbelianGroup , l1:: LabelledInteger , l2:: LabelledInteger
10090)
101- fused = LabelledNumbers . label (l1) ⊗ LabelledNumbers . label (l2)
102- return LabelledNumbers . labelled (l1 * l2, fused)
91+ fused = label (l1) ⊗ label (l2)
92+ return labelled (l1 * l2, fused)
10393end
10494
10595function GradedAxes. fuse_blocklengths (
106- :: EmptyCategory , l1:: LabelledNumbers. LabelledInteger , l2:: LabelledNumbers. LabelledInteger
96+ :: EmptyCategory , l1:: LabelledInteger , l2:: LabelledInteger
10797)
108- return LabelledNumbers . labelled (l1 * l2, sector ())
98+ return labelled (l1 * l2, sector ())
10999end
110100
111101# cast to range
112- to_graded_axis (c:: AbstractCategory ) = to_graded_axis (LabelledNumbers . labelled (1 , c))
113- to_graded_axis (l:: LabelledNumbers. LabelledInteger ) = GradedAxes . gradedrange ([l])
102+ to_graded_axis (c:: AbstractCategory ) = to_graded_axis (labelled (1 , c))
103+ to_graded_axis (l:: LabelledInteger ) = gradedrange ([l])
114104to_graded_axis (g:: AbstractUnitRange ) = g
115105
116106# allow to fuse a category with a GradedUnitRange
117107function GradedAxes. tensor_product (c:: AbstractCategory , g:: AbstractUnitRange )
118- return GradedAxes . tensor_product (to_graded_axis (c), g)
108+ return tensor_product (to_graded_axis (c), g)
119109end
120110
121111function GradedAxes. tensor_product (g:: AbstractUnitRange , c:: AbstractCategory )
122- return GradedAxes . tensor_product (c, g )
112+ return tensor_product (g, to_graded_axis (c) )
123113end
124114
125115function GradedAxes. tensor_product (c1:: AbstractCategory , c2:: AbstractCategory )
126116 return to_graded_axis (fusion_rule (c1, c2))
127117end
128118
129119function GradedAxes. fusion_product (c:: AbstractCategory )
130- return GradedAxes . fusion_product ( to_graded_axis (c) )
120+ return to_graded_axis (c)
131121end
0 commit comments