> < ^ From:

< ^ Subject:

Dear GAP-Forum,

Leonard Soicher asked:

Using GAP 4.1, I have found LatticeByCyclicExtension very useful to

construct certain small subgroups of a given group (to test as

possible groups of automorphisms of experimental designs with

certain properties). My problem is that even though the groups I

require are all soluble, I get the following sort of error:gap> LatticeByCyclicExtension(SymmetricGroup(10),IsSolvable);

Error the perfect residuum is too large at

Error( "the perfect residuum is too large" );

`LatticeByCyclicExtension' does a straightforward cyclic extension algorithm

but does discard all the groups which do not fulfill the function <func>.

If <func> implies solvability of the group, of course the perfect subgroups

are not needed. In the current form however the algorithm first computes

them and then discards them.

The problem is that to improve this behaviour, the algorithm needs to know

what <func> means. I have changed the code in our development version so

that `IsSolvable(Group)' and `IsNilpotent(Group)' are recognized, but I

don't see a way how an algorithm could recognize that the function

G->IsSolvableGroup(G) and Size(G)<100

implies solvability -- so there will be a third optional parameter as well to

explicitly ignore perfect subgroups.

This new version will be part of release 4.2. I will send it to you

privately as well (if anybody else wants it now, send me a note).

> One small additional point: it appears that the trivial subgroup is

> always included in the lattice computed by LatticeByCyclicExtension(G,f),

> whether it satisfies the function f or not (is this correct?).

> If so, this "feature" should be documented.

Indeed. I've amended the documentation.

All the best,

Alexander Hulpke

> < [top]