-
Notifications
You must be signed in to change notification settings - Fork 161
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
membership test for groups of automorphisms #5590
Comments
The issue is basically with working with a finitely presented group. When working with known finite groups, it is much more efficient to transition to a permutation or Pc representation. Overall, I find it amazing that the automorphism group calculation actually works. Part of what is hapening is that arithmetic in Fp groups by default accumulates products and does not reduce. This is done because reduction in Fp groups can be problematic in general. A user however can turn it on for a particular (known to be small) group by calling SetReducedMultiplication(G); With this command given after creating G, the calculation is instantaneous. The nice monomorphism in this particular case might be a regular action. In general, it is a permutation action on the cosets of a subgroup, that can be shown to be faithful. I strongly suspect that any attempt to make this more intelligent is likely to falter at larger examples, or will cause problems in other situations. Finitely presented groups are subtle. |
Thanks @ahulpke. Yes, in general it is advisable to switch from a f. p. group to something better if one wants to do involved computations such as automorphism group or character table, and to map back to the f.p. group if necessary. The hint to try Here is an example how things can go wrong.
|
@ThomasBreuer |
The following happens in GAP 4.12.2 as well as in the current master branch.
(Well, I get about 55 seconds in the master branch for the computation of
x in A
, but that is also quite slow.)As far as I see, the reason for this problem is as follows.
The memberhsip test notices that
NiceMonomorphism( A )
can be used, in the sense that computing the image ofx
under it and then the preimage of this element will yield the givenx
if and only ifx
is inA
.NiceMonomorphism( A )
is an action homomorphism.Computing the image of
x
means to compute the induced permutation on the elements ofG
, and mapping an elementg
ofG
withx
means to applyx
tog
.Apparently the words representing the group elements become very long this way, although
G
is very small.When I modify the
PermutationOp
method in question such that the imagepnt
gets replaced by the stored element before mapping it, the runtime of the membership test in the master branch goes down to 8 seconds.(This is not really a solution for the problem,
elms[14] in A
is then still a problem --butelms[i]^-1 in A
works for alli
.)By the way, why are the generators of the automorphism group not given as maps on the generators, since dealing with their inverses seems to be easier (see above)?
And why do so large exponents occur in the words that define
x
, if it is known in advance thatG
has exponent 8?The text was updated successfully, but these errors were encountered: