Hi Jacek,

Direct product decomposition is unique up to isomorphism of the factors. So if StructureDescription says Csomething x smallgerGroup, then it is indeed a direct product of such. When looking at decomposing further (into semidirect products and extensions), then the decompositon may not be unique, anymore. But for direct products it is unique.

The bound of 100 in the manual speaks about how quickly can one get the results. With GAP 4.9.3 the algorithm for StructureDescription is smarter than before, and with today's computers it may take faster to compute the structure for some groups than previously, but it still can be very slow depending on the group.

If you are only interested in the direct factors, then you can use the function DirectFactorsOfGroup, which gives you the direct factors of the particular group. Then you can check if any of them cyclic.

Alternatively, if G = H x <g>, then g must commute with H, and of course with g, thus g commutes with G, as well. Therefore, g is in the center of G. Furthermore, <g> must have trivial intersection with the derived subgroup G'. So you can go over the elements (or rational classes) of the center, see if the generated group intersects trivially the derived subgroup, and if yes, then you can try to find a complement (using the command NormalComplement). This is how DirectFactorsOfGroup finds the abelian direct factors. You can use something like this:


C := Center(G);
Gd := DerivedSubgroup(G);
D := Intersection(C, Gd);
for g in RationalClasses(C) do
  N := Subgroup(C, [Representative(g)]);
  if not IsTrivial(N) and IsTrivialNormalIntersection(C, D, N) then
    B := NormalComplement(G, N);
    if B <> fail then
      print(N, B);
      break;
    fi;
  fi;
od;


Hope this helps.

Best,
Gabor

On Sun, 23 Sep 2018, Jacek M. Holeczek wrote:

Hi,
I am looking for a bullet-proof method of identifying Small Groups that cannot be written as a direct product of a smaller group and a cyclic group of some size (I do not care about the size of this cyclic group).

Some people use the output of the "StructureDescription(G)" method (where "G:=SmallGroup(o,i);", of course) and, as soon as they see "C<size> x SomeThing", they assume that the group G is such a "genuine" direct product (denoted by the "x") of a "genuine" cyclic group "C<size>" and some smaller group described by "SomeThing".

However, the manual explicitly says that the output of this method should be used for "educational" purposes only as it really provides a partial description of the structure only, especially for orders higher than 100. I think I have even read somewhere that the "C<size>" does not necessarily represent a "genuine" cyclic group and that the "x" does not necessarily represent a "genuine" direct product operation.

Thanks in advance,
Best regards,
Jacek.

_______________________________________________
Forum mailing list
Forum@gap-system.org
https://mail.gap-system.org/mailman/listinfo/forum



                                                Horvath Gabor
-------------------------------------------------------------------------------
e-mail: ghorv...@science.unideb.hu
phone: +36 52 512900 / 22798
web: http://www.math.unideb.hu/horvath-gabor

_______________________________________________
Forum mailing list
Forum@gap-system.org
https://mail.gap-system.org/mailman/listinfo/forum

Reply via email to