> < ^ From:

< ^ Subject:

Dear GAP Forum,

Mathias Kratzer wrote

in Chapter 35, Section 5 the GAP4-manual says:

> * ConjugatorAutomorphism( G, g ) O

>

> creates for g in the same Family as the elements of G

> the automorphism of G defined by h |--> h^{elm} for all h\in G .

~~~~~~~~~~~~~~~~~~~~~

Reading these lines I guess that 'ConjugatorAutomorphism' was imple-

mented to sort of generalize the function 'InnerAutomorphism': The

latter one only provides access to automorphisms of a group G which

are induced by elements of G; by means of the first one you can also

construct "conjugations" by elements of e. g. a supergroup of G.Of course, the mapping h |--> h^g, for g \in S, S a supergroup of G,

is an automorphism of G if and only if G is invariant under conjuga-

tion by g.

Surprisingly, the manual does not keep its readers aware of this fact

at all, and --- confer the example below --- 'ConjugatorAutomorphism'

does not even give you a warning let alone an error message, when you

try to induce an automorphism from an element which violates the

invariance condition stated above:gap> G := Group( [ (1,2,3,4) ] ); Group([ (1,2,3,4) ]) gap> phi := ConjugatorAutomorphism( G, (1,2) ); ^(1,2) gap> eltsG := Elements( G ); [ (), (1,2,3,4), (1,3)(2,4), (1,4,3,2) ] gap> List(eltsG, elt -> elt^phi); [ (), (1,3,4,2), (1,4)(2,3), (1,2,4,3) ] gap> IsConjugatorAutomorphism(phi); true gap>Would the function 'ConjugatorAutomorphism' not better be called 'Con-

jugatorISOmorphism'? Or is there anything I've just misunderstood?

Indeed GAP does currently not check whether the second argument <g> of

`ConjugatorAutomorphism' normalizes the first argument <G>.

This causes the following problem.

gap> G:= Group( [ (1,2,3,4) ] );; gap> phi:= ConjugatorAutomorphism( G, (1,2) ); ^(1,2) gap> Source( phi ); Group([ (1,2,3,4) ]) gap> Range( phi ); Group([ (1,2,3,4) ])

So the mapping `phi' erroneously assumes that it maps `G' to `G'.

This bug will be fixed in the next version of GAP,

in the sense that `ConjugatorAutomorphism' will check

that the mapping to be constructed is in fact an automorphism.

Additionally, a new function `ConjugatorIsomorphism' will be

introduced which deals with the general case.

(And `ConjugatorAutomorphismNC' will allow one to omit the check.)

Thanks for the bug report and the hint to introduce the

more general function.

Kind regards,

Thomas

> < [top]