[GAP Forum] Checking which subgroups commute

Burkhard Höfling burkhard at hoefling.name
Thu Mar 8 07:38:59 GMT 2012


On 2012-03-08, at 06:07 , Vipul Naik wrote:

> There are two problems with your code.
> 
> The first is that LatticeSubgroups is not the set of subgroups but a
> different kind of structure. If you want to access all the subgroups,
> you should use the function Subgroups. This requires the SONATA
> package or some other equivalent package -- you can load that using
> LoadPackage("sonata");.

A simpler solution (avoiding the use of Sonata) would be to use

Flat (List (ConjugacyClassesSubgroups (G), Elements))

to compute a list of subgroups of the group G.

> The problem is that GAP doesn't understand "HK" to be the product of H
> and K but rather thinks that that is a new variable.

Computing and comparing the sets H*K and K*H works for small groups, but in general, it is much more efficient to check if 

| <H, K> | • | H cap K | = |H| |K|, 

or, in GAP code,

PermutingSubgroups := function(H,K)
	 return Size (ClosureGroup (H, K)) * Size (Intersection (H, K)) = Size(H)*Size(K);
end;


Cheers

Burkhard.




More information about the Forum mailing list