From d1c5a3cd3f43a5bd8980f259b0a97f3a6cc839ac Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Mon, 16 Mar 2026 15:34:09 +0100 Subject: [PATCH 01/12] increase TKS compat --- Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Project.toml b/Project.toml index e50fcea..b57dc43 100644 --- a/Project.toml +++ b/Project.toml @@ -35,7 +35,7 @@ RationalRoots = "0.1 - 0.2" Scratch = "1" SparseArrayKit = "0.4" TensorKit = "0.15, 0.16" -TensorKitSectors = "0.3.5" +TensorKitSectors = "0.3.7" TensorOperations = "5" Test = "1" TestExtras = "0.3" From 01f9c18fe9606a480313c14e4e8ba862d3988a31 Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Mon, 16 Mar 2026 15:34:40 +0100 Subject: [PATCH 02/12] methods to avoid `view` --- src/sector.jl | 51 ++++++++++++++++++++++++++++++++------------------- 1 file changed, 32 insertions(+), 19 deletions(-) diff --git a/src/sector.jl b/src/sector.jl index 41844eb..c5c1dca 100644 --- a/src/sector.jl +++ b/src/sector.jl @@ -68,20 +68,14 @@ function TensorKitSectors.Fsymbol( return LRU{K, V}(; maxsize = 10^5) end return get!(cache, key) do - return _Fsymbol(a, b, c, d, e, f) + return TensorKitSectors.Fsymbol_from_fusiontensor(a, b, c, d, e, f) end end -function _Fsymbol( - a::SUNIrrep{N}, b::SUNIrrep{N}, c::SUNIrrep{N}, - d::SUNIrrep{N}, e::SUNIrrep{N}, f::SUNIrrep{N} - ) where {N} - N1 = Nsymbol(a, b, e) - N2 = Nsymbol(e, c, d) - N3 = Nsymbol(b, c, f) - N4 = Nsymbol(a, f, d) - - (N1 == 0 || N2 == 0 || N3 == 0 || N4 == 0) && - return fill(zero(fusionscalartype(typeof(a))), N1, N2, N3, N4) +function TensorKitSectors.Fsymbol_from_fusiontensor( + a::I, b::I, c::I, d::I, e::I, f::I + ) where {I <: SUNIrrep} + Nabe, Necd, Nbcd, Nafd = Nsymbol(a, b, e), Nsymbol(e, c, d), Nsymbol(b, c, f), Nsymbol(a, f, d) + iszero(Nabe * Necd * Nbcd * Nafd) && return zeros(fusionscalartype(typeof(a)), Nabe, Necd, Nbcd, Nafd) # computing first diagonal element A = fusiontensor(a, b, e) @@ -94,6 +88,28 @@ function _Fsymbol( return Array(F) end +# remove the view calls +function TensorKitSectors.Asymbol_from_fusiontensor(a::I, b::I, c::I) where {I <: SUNIrrep} + Nabc = Nsymbol(a, b, c) + iszero(Nabc) && return zeros(fusionscalartype(typeof(a)), Nabc, Nabc) + + C1 = fusiontensor(a, b, c)[:, 1, :, :] + C2 = fusiontensor(dual(a), c, b)[:, :, 1, :] + Za = sqrtdim(a) * fusiontensor(a, dual(a), leftunit(a))[:, :, 1, 1] + @tensor A[-1, -2] := sqrtdim(b) / sqrtdim(c) * conj(Za[1, 2]) * C1[1, 3, -1] * C2[2, 3, -2] + return Array(A) +end +function TensorKitSectors.Bsymbol_from_fusiontensor(a::I, b::I, c::I) where {I <: SUNIrrep} + Nabc = Nsymbol(a, b, c) + iszero(Nabc) && return zeros(fusionscalartype(typeof(a)), Nabc, Nabc) + + C1 = fusiontensor(a, b, c)[1, :, :, :] + C2 = fusiontensor(c, dual(b), a)[:, :, 1, :] + Zb = sqrtdim(b) * fusiontensor(b, dual(b), leftunit(b))[:, :, 1, 1] + @tensor B[-1, -2] := sqrtdim(a) / sqrtdim(c) * conj(Zb[1, 2]) * C1[1, 3, -1] * C2[3, 2, -2] + return Array(B) +end + const RCACHE = LRU{Int, Any}(; maxsize = 10) TensorKitSectors.braidingscalartype(::Type{<:SUNIrrep}) = Float64 function TensorKitSectors.Rsymbol(a::SUNIrrep{N}, b::SUNIrrep{N}, c::SUNIrrep{N}) where {N} @@ -104,15 +120,12 @@ function TensorKitSectors.Rsymbol(a::SUNIrrep{N}, b::SUNIrrep{N}, c::SUNIrrep{N} return LRU{K, V}(; maxsize = 10^5) end return get!(cache, key) do - return _Rsymbol(a, b, c) + return TensorKitSectors.Rsymbol_from_fusiontensor(a, b, c) end end -function _Rsymbol(a::SUNIrrep{N}, b::SUNIrrep{N}, c::SUNIrrep{N}) where {N} - N1 = Nsymbol(a, b, c) - N2 = Nsymbol(b, a, c) - - (N1 == 0 || N2 == 0) && - return fill(zero(braidingscalartype(typeof(a))), N1, N2) +function TensorKitSectors.Rsymbol_from_fusiontensor(a::I, b::I, c::I) where {I <: SUNIrrep} + Nabc = Nsymbol(a, b, c) + iszero(Nabc) && return fill(zero(braidingscalartype(typeof(a))), Nabc, Nabc) A = fusiontensor(a, b, c)[:, :, 1, :] B = fusiontensor(b, a, c)[:, :, 1, :] From e6d8e9a2fd9d6bb26c1c142acf8c4b94264c1703 Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Mon, 16 Mar 2026 15:35:00 +0100 Subject: [PATCH 03/12] minor --- src/clebschgordan.jl | 4 ++-- test/generic.jl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/clebschgordan.jl b/src/clebschgordan.jl index 6f93ef3..23055ed 100644 --- a/src/clebschgordan.jl +++ b/src/clebschgordan.jl @@ -31,10 +31,10 @@ end end function _CGC(T::Type{<:Real}, s1::I, s2::I, s3::I) where {I <: SUNIrrep} - if isone(s1) + if isunit(s1) @assert s2 == s3 CGC = trivial_CGC(T, s2, true) - elseif isone(s2) + elseif isunit(s2) @assert s1 == s3 CGC = trivial_CGC(T, s1, false) else diff --git a/test/generic.jl b/test/generic.jl index 1bdf701..eaf0aa8 100644 --- a/test/generic.jl +++ b/test/generic.jl @@ -31,7 +31,7 @@ using Latexify: latexify, @L_str end @test inv(cartanmatrix(I1)) ≈ inverse_cartanmatrix(I1) - @test SUNIrrep{N}("1") === one(SUNIrrep{N}) + @test SUNIrrep{N}("1") === unit(SUNIrrep{N}) end @timedtestset "Names of SU3Irrep:" begin From adb6668de83d601b6e8c324533b42df38c95515c Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Mon, 16 Mar 2026 15:35:08 +0100 Subject: [PATCH 04/12] delete empty file --- test/clebschgordan.jl | 1 - 1 file changed, 1 deletion(-) delete mode 100644 test/clebschgordan.jl diff --git a/test/clebschgordan.jl b/test/clebschgordan.jl deleted file mode 100644 index 8b13789..0000000 --- a/test/clebschgordan.jl +++ /dev/null @@ -1 +0,0 @@ - From c15657d4140dc85ebb646fdb6a76379f6ec94785 Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Mon, 16 Mar 2026 15:35:36 +0100 Subject: [PATCH 05/12] add sector testsuite --- test/runtests.jl | 54 +++++++++++++++------------ test/sectors.jl | 95 +----------------------------------------------- 2 files changed, 32 insertions(+), 117 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index d46695a..e4dcd9e 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -1,42 +1,46 @@ using Test using TestExtras -using Aqua using Random +using TensorKitSectors using TensorKit using SUNRepresentations using Combinatorics -using TensorKit -using TensorKit: ProductSector, fusiontensor, pentagon_equation, hexagon_equation using TensorOperations -using Base.Iterators: take, product +using Base.Iterators: take using SparseArrayKit: SparseArray using LinearAlgebra: LinearAlgebra const TK = TensorKit Random.seed!(1234) +Ti = time() + +# sector tests +testsuite_path = joinpath( + dirname(dirname(pathof(TensorKitSectors))), # TensorKitSectors root + "test", "testsuite.jl" +) +include(testsuite_path) +using .SectorTestSuite: randsector, smallset -smallset(::Type{I}) where {I <: Sector} = take(values(I), 5) -function smallset(::Type{ProductSector{Tuple{I1, I2}}}) where {I1, I2} - iter = product(smallset(I1), smallset(I2)) - s = collect(i ⊠ j for (i, j) in iter if dim(i) * dim(j) <= 6) - return length(s) > 6 ? rand(s, 6) : s +function SectorTestSuite.smallset(::Type{I}) where {I <: SUNIrrep} + return smallset(I, 5, 15) end -function smallset(::Type{ProductSector{Tuple{I1, I2, I3}}}) where {I1, I2, I3} - iter = product(smallset(I1), smallset(I2), smallset(I3)) - s = collect(i ⊠ j ⊠ k for (i, j, k) in iter if dim(i) * dim(j) * dim(k) <= 6) - return length(s) > 6 ? rand(s, 6) : s +function SectorTestSuite.smallset(::Type{ProductSector{Tuple{I1, I2}}}) where {I1 <: SUNIrrep, I2 <: SUNIrrep} + s1 = smallset(I1) + s2 = smallset(I2) + return resize!(shuffle!([a ⊠ b for a in s1 for b in s2 if dim(a) * dim(b) <= 500]), 5) end -function randsector(::Type{I}) where {I <: Sector} - s = collect(smallset(I)) - a = rand(s) - while a == one(a) # don't use trivial label - a = rand(s) +@show smallset(SUNIrrep{3}) +@show smallset(SUNIrrep{3} ⊠ SUNIrrep{3}) +@testset "Sector tests" begin + sectorlist = (SUNIrrep{3}, SUNIrrep{4}, SUNIrrep{5}, SUNIrrep{3} ⊠ SUNIrrep{3}) + for sector in sectorlist + SectorTestSuite.test_sector(sector) end - return a + include("sectors.jl") end -Ti = time() module GenericTests using Test using TestExtras @@ -45,13 +49,15 @@ module GenericTests include("generic.jl") end -include("caching.jl") -sectorlist = (SUNIrrep{3}, SUNIrrep{4}, SUNIrrep{5}, SUNIrrep{3} ⊠ SUNIrrep{3}) -include("sectors.jl") +@testset "Caching tests" begin + include("caching.jl") +end + sectorlist = (SUNIrrep{3}, SUNIrrep{4}, SUNIrrep{5}) -include("fusiontrees.jl") +# include("fusiontrees.jl") @testset "Aqua" verbose = true begin + using Aqua # RationalRoots has ambiguities with Base/Core, so only test SUNRepresentations ambiguities # Intentional piracy of Rep[SU{N}] etc Aqua.test_all(SUNRepresentations; ambiguities = false, piracies = (; treat_as_own = [SU])) diff --git a/test/sectors.jl b/test/sectors.jl index 424e480..ef3a7f9 100644 --- a/test/sectors.jl +++ b/test/sectors.jl @@ -2,109 +2,18 @@ for I in sectorlist println("------------------------------------") println("Sector $I") println("------------------------------------") - ti = time() - @testset "Sector $I: Basic properties" begin + @testset "Sector $I: Additional basic properties" begin s = (randsector(I), randsector(I), randsector(I)) mode_old = SUNRepresentations.display_mode("dimension") for mode in ["dimension", "dynkin", "weight"] SUNRepresentations.display_mode(mode) - @test eval(Meta.parse(sprint(show, s[1]))) == s[1] end SUNRepresentations.display_mode(mode_old) - - @test @constinferred(hash(s[1])) == hash(deepcopy(s[1])) - @test @constinferred(one(s[1])) == @constinferred(one(I)) - @constinferred dual(s[1]) - @constinferred dim(s[1]) - @constinferred frobenius_schur_phase(s[1]) - @constinferred frobenius_schur_indicator(s[1]) - @constinferred Nsymbol(s...) - @constinferred Rsymbol(s...) - @constinferred Bsymbol(s...) - @constinferred Fsymbol(s..., s...) - it = @constinferred s[1] ⊗ s[2] - @constinferred ⊗(s..., s...) for i in 1:3 - @test 1 == @constinferred Nsymbol(s[i], conj(s[i]), one(s[i])) - end - end - @timedtestset "Sector $I: Value iterator" begin - @test eltype(values(I)) == I - sprev = one(I) - for (i, s) in enumerate(values(I)) - @test !isless(s, sprev) # confirm compatibility with sort order - @test s == @constinferred (values(I)[i]) - @test TensorKit.findindex(values(I), s) == i - sprev = s - i >= 10 && break - end - @test one(I) == first(values(I)) - @test (@constinferred TensorKit.findindex(values(I), one(I))) == 1 - for s in smallset(I) - @test (@constinferred values(I)[TensorKit.findindex(values(I), s)]) == s - end - end - @timedtestset "Sector $I: fusion tensor and F-move and R-move" begin - for a in smallset(I), b in smallset(I) - for c in ⊗(a, b) - X1 = permutedims(fusiontensor(a, b, c), (2, 1, 3, 4)) - X2 = fusiontensor(b, a, c) - l = dim(a) * dim(b) * dim(c) - R = LinearAlgebra.transpose(Rsymbol(a, b, c)) - sz = (l, convert(Int, Nsymbol(a, b, c))) - @test reshape(X1, sz) ≈ reshape(X2, sz) * R - end - end - for a in smallset(I), b in smallset(I), c in smallset(I) - for e in ⊗(a, b), f in ⊗(b, c) - for d in intersect(⊗(e, c), ⊗(a, f)) - X1 = fusiontensor(a, b, e) - X2 = fusiontensor(e, c, d) - Y1 = fusiontensor(b, c, f) - Y2 = fusiontensor(a, f, d) - @tensor f1[-1, -2, -3, -4] := conj(Y2[a, f, d, -4]) * - conj(Y1[b, c, f, -3]) * - X1[a, b, e, -1] * X2[e, c, d, -2] - f2 = Fsymbol(a, b, c, d, e, f) * dim(d) - @test isapprox(f1, f2; atol = 1000 * eps(), rtol = 1000 * eps()) - end - end - end - end - @timedtestset "Sector $I: Unitarity of F-move" begin - for a in smallset(I), b in smallset(I), c in smallset(I), d in ⊗(a, b, c) - es = collect(intersect(⊗(a, b), map(dual, ⊗(c, dual(d))))) - fs = collect(intersect(⊗(b, c), map(dual, ⊗(dual(d), a)))) - Fblocks = Vector{Any}() - for e in es, f in fs - Fs = Fsymbol(a, b, c, d, e, f) - push!( - Fblocks, - reshape(Fs, (size(Fs, 1) * size(Fs, 2), size(Fs, 3) * size(Fs, 4))) - ) - end - F = hvcat(length(fs), Fblocks...) - @test F' * F ≈ one(F) - end - end - @testset "Sector $I: Pentagon equation" begin - for a in smallset(I), b in smallset(I), c in smallset(I), d in smallset(I) - @test pentagon_equation(a, b, c, d; atol = 1.0e-12, rtol = 1.0e-12) - end - end - @testset "Sector $I: Hexagon equation" begin - for a in smallset(I), b in smallset(I), c in smallset(I) - @test hexagon_equation(a, b, c; atol = 1.0e-12, rtol = 1.0e-12) + @test 1 == @constinferred Nsymbol(s[i], dual(s[i]), unit(s[i])) end end - tf = time() - printstyled( - "Finished sector $I tests in ", - string(round(tf - ti; sigdigits = 3)), - " seconds."; bold = true, color = Base.info_color() - ) - println() try s = sprint(SUNRepresentations.cache_info) From c9140e5a93f3cd0d9ecc53197f5ac7b23e2d9ef4 Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Mon, 16 Mar 2026 15:38:30 +0100 Subject: [PATCH 06/12] test with necessary TKS branch already --- Project.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Project.toml b/Project.toml index b57dc43..48dfbfc 100644 --- a/Project.toml +++ b/Project.toml @@ -54,3 +54,6 @@ TupleTools = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" [targets] test = ["Test", "Random", "Combinatorics", "TestExtras", "TensorKit", "TupleTools", "Latexify", "Aqua"] + +[sources] +TensorKitSectors = {url = "https://github.com/QuantumKitHub/TensorKitSectors.jl", rev = "bd/morefallbacks"} \ No newline at end of file From f6e687cc21501d526e36134a8357a25ce4edcc48 Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Mon, 16 Mar 2026 15:55:32 +0100 Subject: [PATCH 07/12] scoping is hard --- test/runtests.jl | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index e4dcd9e..e33bd77 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -31,10 +31,9 @@ function SectorTestSuite.smallset(::Type{ProductSector{Tuple{I1, I2}}}) where {I s2 = smallset(I2) return resize!(shuffle!([a ⊠ b for a in s1 for b in s2 if dim(a) * dim(b) <= 500]), 5) end -@show smallset(SUNIrrep{3}) -@show smallset(SUNIrrep{3} ⊠ SUNIrrep{3}) + +sectorlist = (SUNIrrep{3}, SUNIrrep{4}, SUNIrrep{5}, SUNIrrep{3} ⊠ SUNIrrep{3}) @testset "Sector tests" begin - sectorlist = (SUNIrrep{3}, SUNIrrep{4}, SUNIrrep{5}, SUNIrrep{3} ⊠ SUNIrrep{3}) for sector in sectorlist SectorTestSuite.test_sector(sector) end @@ -54,7 +53,7 @@ end end sectorlist = (SUNIrrep{3}, SUNIrrep{4}, SUNIrrep{5}) -# include("fusiontrees.jl") +include("fusiontrees.jl") @testset "Aqua" verbose = true begin using Aqua From 49db7dd1d6122d23d4efd92333bd2f3150e97905 Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Mon, 16 Mar 2026 16:06:27 +0100 Subject: [PATCH 08/12] imports as well --- test/runtests.jl | 1 + 1 file changed, 1 insertion(+) diff --git a/test/runtests.jl b/test/runtests.jl index e33bd77..31f4252 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -45,6 +45,7 @@ module GenericTests using TestExtras using Random using SUNRepresentations + using TensorKitSectors include("generic.jl") end From 0b1031d316d5bc3806b0c129716c593af344506c Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Thu, 28 May 2026 19:02:58 +0200 Subject: [PATCH 09/12] trying out artin braid fix --- Project.toml | 2 +- test/runtests.jl | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Project.toml b/Project.toml index 48dfbfc..63ade4c 100644 --- a/Project.toml +++ b/Project.toml @@ -56,4 +56,4 @@ TupleTools = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" test = ["Test", "Random", "Combinatorics", "TestExtras", "TensorKit", "TupleTools", "Latexify", "Aqua"] [sources] -TensorKitSectors = {url = "https://github.com/QuantumKitHub/TensorKitSectors.jl", rev = "bd/morefallbacks"} \ No newline at end of file +TensorKitSectors = {url = "https://github.com/QuantumKitHub/TensorKitSectors.jl", rev = "bd/artin"} \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index 31f4252..8d241ba 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -23,13 +23,14 @@ testsuite_path = joinpath( include(testsuite_path) using .SectorTestSuite: randsector, smallset -function SectorTestSuite.smallset(::Type{I}) where {I <: SUNIrrep} - return smallset(I, 5, 15) +function SectorTestSuite.smallset(::Type{SUNIrrep{N}}) where {N} + return smallset(I, 5, 10 * N) end function SectorTestSuite.smallset(::Type{ProductSector{Tuple{I1, I2}}}) where {I1 <: SUNIrrep, I2 <: SUNIrrep} s1 = smallset(I1) s2 = smallset(I2) - return resize!(shuffle!([a ⊠ b for a in s1 for b in s2 if dim(a) * dim(b) <= 500]), 5) + N = first(s1).N + return resize!(shuffle!([a ⊠ b for a in s1 for b in s2 if dim(a) * dim(b) <= 100 * N]), 5) end sectorlist = (SUNIrrep{3}, SUNIrrep{4}, SUNIrrep{5}, SUNIrrep{3} ⊠ SUNIrrep{3}) From 08a25db43d98062a318cbeb358d284ed25111cc9 Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Fri, 29 May 2026 15:02:50 +0200 Subject: [PATCH 10/12] account for struct change --- test/runtests.jl | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index baa1b5f..04e4dbe 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -23,13 +23,14 @@ testsuite_path = joinpath( include(testsuite_path) using .SectorTestSuite: randsector, smallset -function SectorTestSuite.smallset(::Type{SUNIrrep{N}}) where {N} +function SectorTestSuite.smallset(::Type{I}) where {I <: SUNIrrep} + N = rank(I) return smallset(I, 5, 10 * N) end function SectorTestSuite.smallset(::Type{ProductSector{Tuple{I1, I2}}}) where {I1 <: SUNIrrep, I2 <: SUNIrrep} s1 = smallset(I1) s2 = smallset(I2) - N = first(s1).N + N = rank(I1) return resize!(shuffle!([a ⊠ b for a in s1 for b in s2 if dim(a) * dim(b) <= 100 * N]), 5) end From e00677b28320a15d5fb6f009a4d35738cb5d87d9 Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Sun, 31 May 2026 13:41:14 +0200 Subject: [PATCH 11/12] fix to test higher-dimensional irreps --- test/runtests.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/runtests.jl b/test/runtests.jl index 0aa908a..86cdd0b 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -29,13 +29,13 @@ include(testsuite_path) using .SectorTestSuite: randsector, smallset function SectorTestSuite.smallset(::Type{I}) where {I <: SUNIrrep} - N = rank(I) + N = SUNRepresentations.rank(I) return smallset(I, 5, 10 * N) end function SectorTestSuite.smallset(::Type{ProductSector{Tuple{I1, I2}}}) where {I1 <: SUNIrrep, I2 <: SUNIrrep} s1 = smallset(I1) s2 = smallset(I2) - N = rank(I1) + N = SUNRepresentations.rank(I1) return resize!(shuffle!([a ⊠ b for a in s1 for b in s2 if dim(a) * dim(b) <= 100 * N]), 5) end From 3c2d34b49167e4daf23ef37564a467676cf26724 Mon Sep 17 00:00:00 2001 From: Boris De Vos Date: Mon, 1 Jun 2026 16:29:55 +0200 Subject: [PATCH 12/12] don't strain CI too much --- Project.toml | 2 +- test/runtests.jl | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Project.toml b/Project.toml index 6064e75..4840670 100644 --- a/Project.toml +++ b/Project.toml @@ -56,4 +56,4 @@ TupleTools = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" test = ["Test", "Random", "Combinatorics", "TestExtras", "TensorKit", "TupleTools", "Latexify", "Aqua"] [sources] -TensorKitSectors = {url = "https://github.com/QuantumKitHub/TensorKitSectors.jl", rev = "bd/artin"} \ No newline at end of file +TensorKitSectors = {url = "https://github.com/QuantumKitHub/TensorKitSectors.jl", rev = "main"} \ No newline at end of file diff --git a/test/runtests.jl b/test/runtests.jl index 86cdd0b..4d9ebb1 100644 --- a/test/runtests.jl +++ b/test/runtests.jl @@ -30,13 +30,13 @@ using .SectorTestSuite: randsector, smallset function SectorTestSuite.smallset(::Type{I}) where {I <: SUNIrrep} N = SUNRepresentations.rank(I) - return smallset(I, 5, 10 * N) + return smallset(I, 5, 5 * N) end function SectorTestSuite.smallset(::Type{ProductSector{Tuple{I1, I2}}}) where {I1 <: SUNIrrep, I2 <: SUNIrrep} s1 = smallset(I1) s2 = smallset(I2) N = SUNRepresentations.rank(I1) - return resize!(shuffle!([a ⊠ b for a in s1 for b in s2 if dim(a) * dim(b) <= 100 * N]), 5) + return resize!(shuffle!([a ⊠ b for a in s1 for b in s2 if dim(a) * dim(b) <= 50 * N]), 5) end sectorlist = (SU3Irrep, SU4Irrep, SU5Irrep, SU3Irrep ⊠ SU3Irrep)