> < ^ From:

^ Subject:

Dear Peter Blanchard,

as you and Michael Smith figured out already, the problem is that

the elements of the AutGroup do not know how to build the product

with a coset of a subgroup of an AutGroup.

The elements of the AutGroup are objects which have been introduced

by Michael Smith, basically because they are faster to multiply

than GroupHomomorphismsByImages which would be the standard GAP

objects for the elements of an automorphism group. However, the

operations record of the elements of an AutGroup have a very restricted

operations record.

Thus, if you want to use your AutGroup as input for other GAP functions,

then you should convert the AutGroup to a group of GroupHomomorphismByImages.

There is a function "AutGroupConvert" included in Michael Smith's package

that does the convertion for you.

So this would be the standard solution for your problem. Another

possibility would be that Michael Smith enlarge the operation records

for this automorphisms. In his e-mail he has asked two questions

about this:

> (1) When asked to evaluate "a * b", why wasn't the "a.operations.\*"

> function used first?

This is just a GAP convention. We could have choosen the first argument

just as well, but I am sure that then problems of the same kind would

arise.

(2) How should I amend my "b.operations.\*" to cope with this situation?

Should I replace the last "else-error" clause with:

elif IsBound(a.operations.\*) then

return a.operations.\*(a,b);

else

Error( "product of <a> and <b> is not defined" );

fi;

At least one should check

elif IsBound(a.operations.\*) and

a.operations.\* <> b.operations.\* then

to avoid infinite loops.

If the output of AutGroupSagGroup should be used as input for

other GAP functions, then one should probably add all the features

that the operations record of a GroupHomomorphismByImages has.

However, this might not solve all problems for the computation with

subgroups and elements of AutGroups. Furthermore it might take some

time to adapt an AutGroup such that it might be used for other GAP

computations.

Alltogether, using AutGroupConvert is certainly the easier solution.

Best wishes, Bettina

> < [top]