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

Error computing kernel of group hom from fp group into perm group #1774

Closed
fingolfin opened this issue Oct 16, 2017 · 3 comments · Fixed by #1809
Closed

Error computing kernel of group hom from fp group into perm group #1774

fingolfin opened this issue Oct 16, 2017 · 3 comments · Fixed by #1809
Labels
kind: bug: unexpected error Issues describing bugs in which computation unexpectedly encounters an error, and PRs fixing them kind: bug Issues describing general bugs, and PRs fixing them
Milestone

Comments

@fingolfin
Copy link
Member

The following issue was reported by Graham Ellis on the support list:

gap> a:=(2,6,7,5,4,3,8)(9,32,21,10,25,19,14,31,17,11,29,22,13,26,23,15,27,24,12,28,20)(16,30,18);;
gap> G:=Group([a]);;
gap> F:=FreeGroup(3);;
gap> f:=GroupHomomorphismByImages(F,G,GeneratorsOfGroup(F),[a,a,a]);;
gap> Kernel(f);
Error, List Element: <list>[4] must have an assigned value in
 return Image( e1, Ag[i] ) * Image( e2, Bg[i] )
; at /usr/local/lib/gap4r8/lib/grpfp.gi:1936 called from 
func( C[i] ) at /usr/local/lib/gap4r8/lib/coll.gi:746 called from
List( [ 1 .. Length( Ag ) ], function ( i )
     return Image( e1, Ag[i] ) * Image( e2, Bg[i] );
 end ) at /usr/local/lib/gap4r8/lib/grpfp.gi:1936 called from
Intersection2( I, D ) at /usr/local/lib/gap4r8/lib/coll.gi:2490 called from
Intersection( cor, u ) at /usr/local/lib/gap4r8/lib/ghomfp.gi:136 called from
KernelOfMultiplicativeGeneralMapping( map 
) at /usr/local/lib/gap4r8/lib/overload.g:311 called from
....  at line 5 of *stdin*
you can 'return;' after assigning a value
brk> 

But this works:

gap> a:=(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21);;
gap> G:=Group([a]);;
gap> F:=FreeGroup(3);;
gap> f:=GroupHomomorphismByImages(F,G,GeneratorsOfGroup(F),[a,a,a]);;
gap> Kernel(f);
Group(<free, no generators known>)

The issue is not present in GAP 4.4.12, but it is present in GAP 4.6 -- I did not try to bisect it further.

@fingolfin fingolfin added kind: bug Issues describing general bugs, and PRs fixing them kind: bug: unexpected error Issues describing bugs in which computation unexpectedly encounters an error, and PRs fixing them labels Oct 16, 2017
@fingolfin
Copy link
Member Author

Looking closer at the error, it occurs in the Intersection2 method for "subgroups of fp group by quotient", which contains this code:

...
  A:=G!.quot;
  B:=H!.quot;
...
  Ag:=GeneratorsOfGroup(A);
  Bg:=GeneratorsOfGroup(B);
  # form the sdp
  sg:=List([1..Length(Ag)],i->Image(e1,Ag[i])*Image(e2,Bg[i]));  # <-- error is here
...

Now, the two groups A and B are in representation IsSubgroupOfWholeGroupByQuotientRep, and as I understand it, this means that the groups A (i.e. G!.quot) and B (i.e. H!.quot) should have the same number of generators as the parent group F of G and H, namely 3. But A actually has 6 generators, which leads to the error.

Perhaps @hulpke has some further insight on this?

@olexandr-konovalov
Copy link
Member

If the fix is imminent, i suggest to make GAP 4.8.9 - there are a few packages waiting for the next minor release already.

hulpke added a commit to hulpke/gap that referenced this issue Oct 24, 2017
even if `Image' of homomorphisms wants to use differently.
This fixes gap-system#1774
hulpke added a commit to hulpke/gap that referenced this issue Oct 24, 2017
even if `Image' of homomorphisms wants to use differently.
This fixes gap-system#1774
@hulpke
Copy link
Contributor

hulpke commented Oct 24, 2017

#1809 includes a fix. (The problem was that `Image' of a group does not guarantee that the same generators are used.)

hulpke added a commit to hulpke/gap that referenced this issue Oct 27, 2017
even if `Image' of homomorphisms wants to use differently.
This fixes gap-system#1774
hulpke added a commit to hulpke/gap that referenced this issue Oct 31, 2017
even if `Image' of homomorphisms wants to use differently.
This fixes gap-system#1774
hulpke added a commit to hulpke/gap that referenced this issue Nov 1, 2017
even if `Image' of homomorphisms wants to use differently.
This fixes gap-system#1774
hulpke added a commit to hulpke/gap that referenced this issue Nov 1, 2017
even if `Image' of homomorphisms wants to use differently.
This fixes gap-system#1774
@hulpke hulpke closed this as completed in 8c349f1 Nov 5, 2017
@olexandr-konovalov olexandr-konovalov added this to the GAP 4.9.0 milestone Jan 29, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug: unexpected error Issues describing bugs in which computation unexpectedly encounters an error, and PRs fixing them kind: bug Issues describing general bugs, and PRs fixing them
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants