You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
julia> G = symmetric_group(3)
Sym(3)
julia> W = weyl_group(:A, 2)
Weyl group for root system defined by Cartan matrix [2 -1; -1 2]
julia> gen_G = [ cperm(G, [1,2]), cperm(G, [2,3]) ]
2-element Vector{PermGroupElem}:
(1,2)
(2,3)
julia> gen_W = gens(W)
2-element Vector{WeylGroupElem}:
s1
s2
It should be possible to define a homomorphism between G and W by lists of generators, but currently it is not:
julia> hom(W, G, gen_W, gen_G)
ERROR: MethodError: no method matching hom(::WeylGroup, ::PermGroup, ::Vector{WeylGroupElem}, ::Vector{PermGroupElem})
The function `hom` exists, but no method is defined for this combination of argument types.
Closest candidates are:
hom(::Oscar.GAPGroup, ::Oscar.GAPGroup, ::Vector, ::Vector; check)
@ Oscar ~/.julia/packages/Oscar/5kSAT/src/Groups/homomorphisms.jl:120
hom(::AbstractVariety, ::AbstractVariety, ::Vector, ::Any; inclusion, symbol)
@ Oscar ~/.julia/packages/Oscar/5kSAT/experimental/IntersectionTheory/src/Main.jl:278
hom(::Oscar.MPolyLocRing, ::NCRing, ::Any, ::Vector; check)
@ Oscar ~/.julia/packages/Oscar/5kSAT/src/AlgebraicGeometry/Schemes/AffineSchemes/Morphisms/Methods.jl:226
...
Stacktrace:
[1] top-level scope
@ REPL[7]:1
julia> hom(G, W, gen_G, gen_W)
ERROR: MethodError: no method matching hom(::PermGroup, ::WeylGroup, ::Vector{PermGroupElem}, ::Vector{WeylGroupElem})
The function `hom` exists, but no method is defined for this combination of argument types.
Closest candidates are:
hom(::Oscar.GAPGroup, ::Oscar.GAPGroup, ::Vector, ::Vector; check)
@ Oscar ~/.julia/packages/Oscar/5kSAT/src/Groups/homomorphisms.jl:120
hom(::AbstractVariety, ::AbstractVariety, ::Vector, ::Any; inclusion, symbol)
@ Oscar ~/.julia/packages/Oscar/5kSAT/experimental/IntersectionTheory/src/Main.jl:278
hom(::Oscar.MPolyLocRing, ::NCRing, ::Any, ::Vector; check)
@ Oscar ~/.julia/packages/Oscar/5kSAT/src/AlgebraicGeometry/Schemes/AffineSchemes/Morphisms/Methods.jl:226
...
Stacktrace:
[1] top-level scope
@ REPL[8]:1
The text was updated successfully, but these errors were encountered:
One way to deal with this now that we have isomorphisms into GAP fp and perm groups would be to implement hom(G::WeylGroup, H::Group, ...) and hom(H::Group, G::WeylGroup, ...) by first constructing an isomorphism between G and a GAP group G2, then use hom(G2,H) resp. hom(H,G2), and compose that suitably with the iso.
I hope (but did not test) that this will handle images and preimages of elements; hopefully also kernel can be computed, isinjective / issurjective tested, images and preimages of subgroups () and more.
But this is a bit of a bandaid, on the long run we need to revise how we implement group homs in OSCAR and perhaps switch to something a bit closer to what GAP does.
Similar to #4460, but for
WeylGroup
.Setup:
It should be possible to define a homomorphism between
G
andW
by lists of generators, but currently it is not:The text was updated successfully, but these errors were encountered: