Dear Petr, On 16.07.2014, at 16:39, Petr Savicky <savi...@cs.cas.cz> wrote:
> Dear GAP Forum: > > Assume, G is a finite 2-group and A is its subgroup. > The groups may be permutation groups or pc groups. > I would like to construct all extensions B of A, such > that [B:A] = 2. I assume you meant "all extensions B *in G* of A...". > > One way is to perform > > N := Normalizer(G, A); > R := RightTransversal(N, A); > L := []; > for elm in R do > if elm in A then > continue; > fi; > if elm^2 in A then > Add(L, ClosureGroup(A, elm)); > fi; > od; > > Is there a better way? Yes, there is, at least asymptotically -- it will be slower for small examples, but faster for larger ones. Do this: 1. Compute the quotient H:=N_G(A)/A 2. Compute the conjugacy classes of involutions in H 3. For each involution in H, its preimage in N_G(A) resp. G is a group with the desired property, and this correspondence is bijective. Here is a direct implementation: N := Normalizer(G, A); hom := NaturalHomomorphismByNormalSubgroup(N, A); H := ImagesSource(hom); cc := ConjugacyClasses(H); L := []; for cl in cc do if Order(Representative(cl)) <> 2 then continue; fi; for elm in cl do elm := PreImagesRepresentative(hom, elm); Add(L, ClosureGroup(A, elm)); od; od; To test it, I took G:=GL(4,8); A1:=SylowSubgroup(G,2); # |H| = 2401 A2:=DerivedSubgroup(A1); # |H| = 1229312 For A1, with "your" method, it takes 0.9s on my system, and 1.1s with the conjugacy class method -- so it is slower there. But for A2, the conjugacy class method finished in in 3.7s, whereas "your" method took 493s. > > Another question is as follows. Let G be a 2-group > and H and A its subgroups, such that the intersection > of H and A is trivial. Is it possible to determine > in GAP, whether there is a subgroup B of G, such > that B contains A and is a complement of H in G? I am not aware of a direct method. When H is normal, maybe using ComplementClassesRepresentatives would help a bit, by reducing the problem to conjugacy classes of complements. All the best, Max _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum