Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

trivial groups are non-trivial...`` #980

Closed
fieker opened this issue Jan 14, 2022 · 4 comments
Closed

trivial groups are non-trivial...`` #980

fieker opened this issue Jan 14, 2022 · 4 comments

Comments

@fieker
Copy link
Contributor

fieker commented Jan 14, 2022

julia> group(q)
<fp group of size 1 on the generators [ f1 ]>
julia> relators(group(q))
1-element Vector{FPGroupElem}:
 f1
julia> z1, z2 = Oscar.GrpCoh.confluent_fp_group(group(q))
julia> z2
Group homomorphism from 
<fp group on the generators [  ]>
to
<fp group of size 1 on the generators [ f1 ]>

julia> preimage(z2, group(q)[1])
ERROR: Error thrown by GAP: Error, Record Element: '<rec>.wholeGroup' must have an assigned value in
  FamilyObj( mapi[1] ) at /home/fieker/.julia/artifacts/1ae5d8f1898d9dcbe8dc3d93f56369c864a8e717/share/gap/lib/ghomfp.gi:218 called from 
CosetTableFpHom( hom ) at /home/fieker/.julia/artifacts/1ae5d8f1898d9dcbe8dc3d93f56369c864a8e717/share/gap/lib/ghomfp.gi:249 called from
ImagesRepresentative( RestrictedInverseGeneralMapping( hom ), elm ) at /home/fieker/.julia/artifacts/1ae5d8f1898d9dcbe8dc3d93f56369c864a8e717/share/gap/lib/ghom.gi:897 called from
<function "PreImagesRepresentative for GHBI and mult.-elm.-with-inverse">( <arguments> )
 called from read-eval loop at *defin*:0

Stacktrace:
 [1] error(s::String)
   @ Base ./error.jl:33
 [2] ThrowObserver(depth::Int32)
   @ GAP ~/.julia/dev/GAP/src/GAP.jl:51
 [3] _call_gap_func(func::GAP.GapObj, a1::GAP.GapObj, a2::GAP.GapObj)
   @ GAP ~/.julia/dev/GAP/src/ccalls.jl:270
 [4] call_gap_func_nokw
   @ ~/.julia/dev/GAP/src/ccalls.jl:224 [inlined]
 [5] (::GAP.GapObj)(a1::GAP.GapObj, a2::GAP.GapObj)
   @ GAP ~/.julia/dev/GAP/src/ccalls.jl:235
 [6] haspreimage(f::GAPGroupHomomorphism{FPGroup, FPGroup}, x::FPGroupElem)
   @ Oscar ~/.julia/dev/Oscar/src/Groups/homomorphisms.jl:274
 [7] preimage(f::GAPGroupHomomorphism{FPGroup, FPGroup}, x::FPGroupElem)
   @ Oscar.GrpCoh ~/.julia/dev/Oscar/experimental/GModule/Cohomology.jl:347
 [8] top-level scope
   @ REPL[72]:1
@fieker
Copy link
Contributor Author

fieker commented Jan 14, 2022

even more entertaining:

julia> one(group(q)) == gens(group(qq))[1]
true
julia> preimage(z2, one(group(qq)))
<identity ...>

@ThomasBreuer
Copy link
Member

The message about the missing wholeGroup is due to the fact that mapi[1] is an empty list and thus its FamilyObj does not know about the group. (If the list would contain group elements then the situation would be different.)
The problem seems to be that this ImagesRepresentative method gets called at all.

@thofma
Copy link
Collaborator

thofma commented Feb 16, 2022

Is this still an issue? I forgot how to create an example. Please close if this is fixed.

@fingolfin
Copy link
Member

I don't know what q is in the original report, so I can't reproduce this precisely. But I think it is fixed:

julia> g = free_group(0)
<free group of rank zero>

julia> f = free_group(1)
<free group on the generators [ f1 ]>

julia> q, epi = quo(f, gens(f))
(<fp group on the generators [ f1 ]>, Group homomorphism from
<free group on the generators [ f1 ]>
to
<fp group on the generators [ f1 ]>)

julia> phi = hom(g, q, [])
Group homomorphism from
<free group of rank zero>
to
<fp group on the generators [ f1 ]>

julia> preimage(phi, gen(q,1))
<identity ...>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants