@@ -487,9 +487,9 @@ outgoing (`f₁`) and incoming sectors (`f₂`) respectively (with identical cou
487487repartitioning the tree by bending incoming to outgoing sectors (or vice versa) in order to
488488have `N` outgoing sectors.
489489"""
490- @inline function repartition ((f₁, f₂):: FusionTreePair{I,N₁,N₂} , N:: Int ) where {I,N₁,N₂}
490+ @inline function repartition ((f₁, f₂):: FusionTreePair , N:: Int )
491491 f₁. coupled == f₂. coupled || throw (SectorMismatch ())
492- @assert 0 <= N <= N₁ + N₂
492+ @assert 0 <= N <= length (f₁) + length (f₂)
493493 return _recursive_repartition ((f₁, f₂), Val (N))
494494end
495495
@@ -1002,8 +1002,7 @@ end
10021002
10031003# braid double fusion tree
10041004"""
1005- braid((f₁, f₂)::FusionTreePair{I}, (p1, p2)::Index2Tuple{N₁,N₂},
1006- (levels1, levels2)::Index2Tuple) where {I,N₁,N₂}
1005+ braid((f₁, f₂)::FusionTreePair, (p1, p2)::Index2Tuple, (levels1, levels2)::Index2Tuple)
10071006 -> <:AbstractDict{<:FusionTreePair{I, N₁, N₂}}, <:Number}
10081007
10091008Input is a fusion-splitting tree pair that describes the fusion of a set of incoming
@@ -1018,9 +1017,8 @@ respectively, which determines how indices braid. In particular, if `i` and `j`
10181017levels[j]`. This does not allow to encode the most general braid, but a general braid can
10191018be obtained by combining such operations.
10201019"""
1021- function braid ((f₁, f₂):: FusionTreePair{I} , (p1, p2):: Index2Tuple{N₁,N₂} ,
1022- (levels1, levels2):: Index2Tuple ) where {I,N₁,N₂}
1023- @assert length (f₁) + length (f₂) == N₁ + N₂
1020+ function braid ((f₁, f₂):: FusionTreePair , (p1, p2):: Index2Tuple , (levels1, levels2):: Index2Tuple )
1021+ @assert length (f₁) + length (f₂) == length (p1) + length (p2)
10241022 @assert length (f₁) == length (levels1) && length (f₂) == length (levels2)
10251023 @assert TupleTools. isperm ((p1... , p2... ))
10261024 return fsbraid (((f₁, f₂), (p1, p2), (levels1, levels2)))
@@ -1056,7 +1054,7 @@ function CacheStyle(::typeof(fsbraid), k::FSBraidKey{I}) where {I<:Sector}
10561054end
10571055
10581056"""
1059- permute((f₁, f₂)::FusionTreePair{I} , (p1, p2)::Index2Tuple{N₁, N₂}) where {I, N₁, N₂}
1057+ permute((f₁, f₂)::FusionTreePair, (p1, p2)::Index2Tuple)
10601058 -> <:AbstractDict{<:FusionTreePair{I, N₁, N₂}}, <:Number}
10611059
10621060Input is a double fusion tree that describes the fusion of a set of incoming uncoupled
@@ -1066,8 +1064,8 @@ outgoing (`t1`) and incoming sectors (`t2`) respectively (with identical coupled
10661064repartitioning and permuting the tree such that sectors `p1` become outgoing and sectors
10671065`p2` become incoming.
10681066"""
1069- function permute ((f₁, f₂):: FusionTreePair{I} , (p1, p2):: Index2Tuple{N₁,N₂} ) where {I,N₁,N₂}
1070- @assert BraidingStyle (I ) isa SymmetricBraiding
1067+ function permute ((f₁, f₂):: FusionTreePair , (p1, p2):: Index2Tuple )
1068+ @assert BraidingStyle (sectortype (f₁) ) isa SymmetricBraiding
10711069 levels1 = ntuple (identity, length (f₁))
10721070 levels2 = length (f₁) .+ ntuple (identity, length (f₂))
10731071 return braid ((f₁, f₂), (p1, p2), (levels1, levels2))
0 commit comments