@@ -276,7 +276,26 @@ function repartition(t1::FusionTree{G,N₁},
276276end
277277
278278# permute double fusion tree
279- const permutedict = Dict {Any,Any} ()
279+ # const permutedict = Dict{Any,Any}()
280+ # function permute(t1::FusionTree{G}, t2::FusionTree{G},
281+ # p1::NTuple{N₁,Int}, p2::NTuple{N₂,Int}) where {G<:Sector, N₁,N₂}
282+ # d = get!(permutedict, (t1, t2, p1, p2)) do
283+ # _permute(t1, t2, p1, p2)
284+ # end
285+ # if FusionStyle(t1) isa Abelian
286+ # u = one(G)
287+ # T = typeof(sqrt(dim(u))*Fsymbol(u,u,u,u,u,u))
288+ # F₁ = fusiontreetype(G, StaticLength(N₁))
289+ # F₂ = fusiontreetype(G, StaticLength(N₂))
290+ # return d::SingletonDict{Tuple{F₁,F₂}, T}
291+ # else
292+ # u = one(G)
293+ # T = typeof(sqrt(dim(u))*Fsymbol(u,u,u,u,u,u))
294+ # F₁ = fusiontreetype(G, StaticLength(N₁))
295+ # F₂ = fusiontreetype(G, StaticLength(N₂))
296+ # return d::Dict{Tuple{F₁,F₂}, T}
297+ # end
298+ # end
280299"""
281300 function permute(t1::FusionTree{G}, t2::FusionTree{G},
282301 p1::NTuple{N₁,Int}, p2::NTuple{N₂,Int}) where {G,N₁,N₂}
@@ -291,26 +310,6 @@ repartitioning and permuting the tree such that sectors `p1` become outgoing and
291310"""
292311function permute (t1:: FusionTree{G} , t2:: FusionTree{G} ,
293312 p1:: NTuple{N₁,Int} , p2:: NTuple{N₂,Int} ) where {G<: Sector , N₁,N₂}
294- d = get! (permutedict, (t1, t2, p1, p2)) do
295- _permute (t1, t2, p1, p2)
296- end
297- if FusionStyle (t1) isa Abelian
298- u = one (G)
299- T = typeof (sqrt (dim (u))* Fsymbol (u,u,u,u,u,u))
300- F₁ = fusiontreetype (G, StaticLength (N₁))
301- F₂ = fusiontreetype (G, StaticLength (N₂))
302- return d:: SingletonDict{Tuple{F₁,F₂}, T}
303- else
304- u = one (G)
305- T = typeof (sqrt (dim (u))* Fsymbol (u,u,u,u,u,u))
306- F₁ = fusiontreetype (G, StaticLength (N₁))
307- F₂ = fusiontreetype (G, StaticLength (N₂))
308- return d:: Dict{Tuple{F₁,F₂}, T}
309- end
310- end
311-
312- function _permute (t1:: FusionTree{G} , t2:: FusionTree{G} ,
313- p1:: NTuple{N₁,Int} , p2:: NTuple{N₂,Int} ) where {G<: Sector , N₁,N₂}
314313 @assert length (t1) + length (t2) == N₁ + N₂
315314 p = linearizepermutation (p1, p2, length (t1), length (t2))
316315 if FusionStyle (t1) isa Abelian
0 commit comments