Skip to content

Commit ff1e159

Browse files
committed
undo fusion tree cache; not thread safe
1 parent 4f1559c commit ff1e159

1 file changed

Lines changed: 20 additions & 21 deletions

File tree

src/fusiontrees/fusiontrees.jl

Lines changed: 20 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,26 @@ function repartition(t1::FusionTree{G,N₁},
276276
end
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
"""
292311
function 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

Comments
 (0)