Skip to content

Commit df35a5f

Browse files
committed
sort TrivialSector as trivial for any Sector
1 parent 5e9d0db commit df35a5f

File tree

1 file changed

+7
-3
lines changed
  • NDTensors/src/lib/SymmetrySectors/src/sector_definitions

1 file changed

+7
-3
lines changed

NDTensors/src/lib/SymmetrySectors/src/sector_definitions/trivial.jl

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
#
22
# Trivial sector
3+
# acts as a trivial sector for any AbstractSector
34
#
45

56
using ...GradedAxes: GradedAxes
@@ -13,8 +14,6 @@ trivial(::Type{TrivialSector}) = TrivialSector()
1314

1415
GradedAxes.dual(::TrivialSector) = TrivialSector()
1516

16-
Base.isless(::TrivialSector, ::TrivialSector) = false # bypass default that calls label
17-
1817
# TrivialSector acts as trivial on any AbstractSector
1918
function fusion_rule(::NotAbelianStyle, ::TrivialSector, c::AbstractSector)
2019
return to_gradedrange(c)
@@ -23,7 +22,7 @@ function fusion_rule(::NotAbelianStyle, c::AbstractSector, ::TrivialSector)
2322
return to_gradedrange(c)
2423
end
2524

26-
# abelian case: return Category
25+
# abelian case: return Sector
2726
fusion_rule(::AbelianStyle, c::AbstractSector, ::TrivialSector) = c
2827
fusion_rule(::AbelianStyle, ::TrivialSector, c::AbstractSector) = c
2928
fusion_rule(::AbelianStyle, ::TrivialSector, ::TrivialSector) = TrivialSector()
@@ -32,3 +31,8 @@ fusion_rule(::AbelianStyle, ::TrivialSector, ::TrivialSector) = TrivialSector()
3231
Base.:(==)(c::AbstractSector, ::TrivialSector) = istrivial(c)
3332
Base.:(==)(::TrivialSector, c::AbstractSector) = istrivial(c)
3433
Base.:(==)(::TrivialSector, ::TrivialSector) = true
34+
35+
# sorts as trivial for any Sector
36+
Base.isless(c::AbstractSector, ::TrivialSector) = c < trivial(c)
37+
Base.isless(::TrivialSector, c::AbstractSector) = trivial(c) < c
38+
Base.isless(::TrivialSector, ::TrivialSector) = false # bypass default that calls label

0 commit comments

Comments
 (0)