Dear Petr, I only saw your second email after writing my reply.
On 17.07.2014, at 14:37, Petr Savicky <savi...@cs.cas.cz> wrote: > On Thu, Jul 17, 2014 at 08:54:41AM +0200, Benjamin Sambale wrote: >> Dear Petr, >> >> I don't see how your first question is related to the group G. If you >> want ALL extensions of A with a group of order 2, you could use >> CyclicExtensions(A,2) from the GrpConst package. However, if A is small, >> it is much faster to run through the groups of order 2|A| in the small >> groups library and check which groups have maximal subgroups isomorphic >> to A (i.e. the same GroupID). > > Thank you for your reply. The extensions are considered as subgroups > of G and the embedding is important, not only the isomorphism type. > Consider the groups > > G := Group( [ (1,9)(2,10)(3,11)(4,12)(5,13)(6,14)(7,15)(8,16), > (1,5)(2,6)(3,7)(4,8), (1,3)(2,4), (1,2) ] ); > > A := Group( [ (3,4)(5,8,6,7)(11,12)(13,14), (3,4), > (1,3)(2,4)(7,8)(11,12)(15,16), (3,4)(7,8)(9,12,10,11)(13,15,14,16), > (13,14)(15,16) ] ); > > Group G has order 32768, group A has order 256 and is isomorphic > to SmallGroup(256, 27634). Applying the two algorithms to this pair (G,A) takes approximately the same time for me -- in both case just a dozen milliseconds or so. > > There are 19 extensions B of A inside G with the quotient > group B/A = C_2. Indeed. > Some of these extensions are conjugate. For example, the groups > B[16], ..., B[19] belong to the same conjugacy class. Indeed. If you only want conjugacy classes of the extensions, a first step would be to adapt "my" algorithm by taking only one involution from each conjugacy class of the group H = N_G(A)/A. However, there can still be further groups which are conjugate in G (the classes of involutions in H may fuse when lifted to G etc.). [...] > Is there a way, perhaps not a very efficient one, how to identify > the groups of order 512 in the library? This can be done with the anupq package, and the following function (taken from the SCSCP package manual, chapter 7): IdGroup512ByCode := function( code ) local G, F, H; G := PcGroupCode( code, 512 ); F := PqStandardPresentation( G ); H := PcGroupFpGroup( F ); return IdStandardPresented512Group( H ); end; However, I am somewhat skeptical whether going this way is a good idea... but then we don't know much about the problem you want to solve (in particular: The groups you are interested in), so... Cheers, Max _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum