Skip to content

Commit e8624e3

Browse files
committed
is_zero_even_or_odd(O2)
1 parent a4803f1 commit e8624e3

File tree

1 file changed

+11
-12
lines changed
  • NDTensors/src/lib/Sectors/src/category_definitions

1 file changed

+11
-12
lines changed

NDTensors/src/lib/Sectors/src/category_definitions/o2.jl

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -24,22 +24,21 @@ category_label(s::O2) = s.l
2424
trivial(::Type{O2}) = O2(0)
2525
zero_odd(::Type{O2}) = O2(-1)
2626

27-
_iszero(s::O2) = _iszero(category_label(s)) # matches both 0e and 0o
28-
_iszero_even(s::O2) = _iszero_even(category_label(s))
29-
_iszero_odd(s::O2) = _iszero_odd(category_label(s))
27+
is_zero_even_or_odd(s::O2) = is_zero_even_or_odd(category_label(s))
28+
iszero_odd(s::O2) = iszero_odd(category_label(s))
3029

31-
_iszero(l::HalfInteger) = _iszero_even(l) || _iszero_odd(l)
32-
_iszero_even(l::HalfInteger) = l == category_label(trivial(O2))
33-
_iszero_odd(l::HalfInteger) = l == category_label(zero_odd(O2))
30+
is_zero_even_or_odd(l::HalfInteger) = iszero_even(l) || iszero_odd(l)
31+
iszero_even(l::HalfInteger) = l == category_label(trivial(O2))
32+
iszero_odd(l::HalfInteger) = l == category_label(zero_odd(O2))
3433

35-
quantum_dimension(::NonAbelianGroup, s::O2) = 2 - _iszero(s)
34+
quantum_dimension(::NonAbelianGroup, s::O2) = 2 - is_zero_even_or_odd(s)
3635

3736
GradedAxes.dual(s::O2) = s
3837

3938
function Base.show(io::IO, s::O2)
40-
if _iszero_odd(s)
39+
if iszero_odd(s)
4140
disp = "0o"
42-
elseif _iszero_even(s)
41+
elseif istrivial(s)
4342
disp = "0e"
4443
else
4544
disp = "±" * string(category_label(s))
@@ -48,15 +47,15 @@ function Base.show(io::IO, s::O2)
4847
end
4948

5049
function label_fusion_rule(::Type{O2}, l1, l2)
51-
if _iszero(l1)
50+
if is_zero_even_or_odd(l1)
5251
degens = [1]
53-
if _iszero(l2)
52+
if is_zero_even_or_odd(l2)
5453
labels = l1 == l2 ? [category_label(trivial(O2))] : [category_label(zero_odd(O2))]
5554
else
5655
labels = [l2]
5756
end
5857
else
59-
if _iszero(l2)
58+
if is_zero_even_or_odd(l2)
6059
degens = [1]
6160
labels = [l1]
6261
else

0 commit comments

Comments
 (0)