ITADN

`stabilizer` slower than hoped

#5977Openjoschmitt 创建于 2026-05-01
bugtopic: groups
J
joschmittcommented
**Describe the bug** Computing the stabilizer of a vector of integers in a symmetric group is surprisingly slow. Converting the vector into a `GapObj` significantly decreases the runtime. **To Reproduce** ``` julia> v = [ 1, 1, 1, 3, 3, 4, 3, 4, 4, 4, 1, 3 ]; julia> S = symmetric_group(length(v)); julia> using BenchmarkTools julia> @btime stabilizer(S, v, permuted) 25.723 s (175404 allocations: 10.07 MiB) (Permutation group of degree 12 and order 13824, Hom: permutation group -> S) julia> @btime stabilizer(S, Oscar.GapObj(v), permuted) 87.286 ms (430146 allocations: 19.46 MiB) (Permutation group of degree 12 and order 13824, Hom: permutation group -> S) ``` **System (please complete the following information):** ``` julia> Oscar.versioninfo(full=true) OSCAR version 1.8.0-DEV - #master, 275fc15d98 -- 2026-04-24 14:34:01 +0000 combining: AbstractAlgebra.jl v0.48.5 GAP.jl v0.16.5 Hecke.jl v0.39.15 Nemo.jl v0.54.2 Polymake.jl v0.13.10 Singular.jl v0.28.9 building on: FLINT_jll v301.400.1+0 GAP_jll v400.1500.101+0 GAP_lib_jll v400.1500.100+0 Singular_jll v404.101.505+3 libpolymake_julia_jll v0.14.7+1 libsingular_julia_jll v0.47.12+1 polymake_jll v400.1500.2+0 polymake_oscarnumber_jll v0.3.17+0 See `]st -m` for a full list of dependencies. Julia Version 1.12.6 Commit 15346901f00 (2026-04-09 19:20 UTC) Build Info: Official https://julialang.org release Platform Info: OS: Linux (x86_64-linux-gnu) CPU: 12 × AMD Ryzen 5 3600 6-Core Processor WORD_SIZE: 64 LLVM: libLLVM-18.1.7 (ORCJIT, znver2) GC: Built with stock GC Threads: 1 default, 1 interactive, 1 GC (on 12 virtual cores) Official https://julialang.org release ``` **Additional context** Found in discussion with @gert-vercleyen on slack.
0 条评论