Skip to content

Commit

Permalink
FIX: IsConjugatorAutomorphism if permutation is mapped to restriction.
Browse files Browse the repository at this point in the history
Also add first cheap cycle structure test to be conjugator automorphism.

This fixes #2724
  • Loading branch information
hulpke committed Sep 3, 2018
1 parent 83a4497 commit 8bd7806
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 3 deletions.
15 changes: 12 additions & 3 deletions lib/ghomperm.gi
Original file line number Diff line number Diff line change
Expand Up @@ -1964,6 +1964,13 @@ function( hom )

if IsEndoGeneralMapping( hom ) then

# cheap test for cycle structures
if Length(Set(List(MappingGeneratorsImages(hom),
x->List(x,CycleStructurePerm))))>1
then
return false;
fi;

# test in transitive case whether we can realize in S_n
# we do not yet compute the permutation here because we will still have to
# test first whether it is in fact an inner automorphism:
Expand Down Expand Up @@ -2106,9 +2113,11 @@ function( hom )
if rep<>fail then
pi:=List([1..Length(orb)],x->MappingPermListList(Permuted(orb[x],rep[x]),orb[x]));
rep:=Product(pi);
Assert(1,ForAll(genss,i->ImagesRepresentative(hom,i)=i^rep));
SetConjugatorOfConjugatorIsomorphism( hom, rep );
return true;
# must do final test, in case element maps to restricted perm
if ForAll(genss,i->ImagesRepresentative(hom,i)=i^rep) then
SetConjugatorOfConjugatorIsomorphism( hom, rep );
return true;
fi;
fi;

if ValueOption("cheap")=true then
Expand Down
4 changes: 4 additions & 0 deletions tst/testbugfix/2018-08-22-IsConjugatorAutomorphism.tst
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
gap> a:=Group((9,11)(10,12)(13,15)(14,16), (1,5,3,7)(2,6,4,8));;
gap> hom:=GroupHomomorphismByImages(a,a,[a.1,a.2*a.1],[a.1,a.2]);;
gap> IsConjugatorAutomorphism(hom);
false

0 comments on commit 8bd7806

Please sign in to comment.