Subgroup Constructions#

Although, in the case of an abelian group, many of the standard subgroup constructors are trivial, they are all implemented for the sake of uniformity. Here we document only those which are meaningful in the context of abelian groups.

H meet K: GrpAb, GrpAb -> GrpAb#

Given subgroups \(H\) and \(K\) of some group \(G\), construct their intersection.

H meet:= K: GrpAb, GrpAb -> GrpAb#

Replace \(H\) with the intersection of groups \(H\) and \(K\).

H + K: GrpAb, GrpAb -> GrpAb#

Given subgroups \(H\) and \(K\) of some group \(G\), construct the smallest subgroup containing both.

n * G: RngIntElt, GrpAb -> GrpAb, Map#

For an integer \(n\) and some abelian group \(G\), construct the subgroup \(nG\). The second return value is the map \(G \to G\) sending \(g \to ng\).

FrattiniSubgroup(G): GrpAb -> GrpAb#

The Frattini subgroup of the finite abelian group \(G\).

SylowSubgroup(G, p : parameters): GrpAb, RngIntElt -> GrpAb#
Sylow(G, p : parameters): GrpAb, RngIntElt -> GrpAb#
Structure: Bool                    Default: false

The Sylow \(p\)-subgroup for the group \(G\). If \(G\) is a generic group and the parameter Structure is true, or if the group structure of \(A\) is known, then the group structure of the Sylow subgroup is computed.

Example: p Sylow Computation (ex-c74c85)#

In the following example, we construct the Sylow \(2\)-subgroup of \(G = Z_{34384}\).

> m := 34384;
> Zm := Integers(m);
> U := {@ x : x in Zm | GCD(x, m) eq 1 @};
> G := GenericAbelianGroup(U : IdIntrinsic := "Id",
>    AddIntrinsic := "*", InverseIntrinsic := "/");
> _ := AbelianGroup(G);
> Factorization(#G);
> Sylow(G, 2);
2-Sylow subgroup: Generic Abelian Group over
Residue class ring of integers modulo 34384
Abelian Group isomorphic to Z/2 + Z/2 + Z/2 + Z/4
Defined on 4 generators in supergroup G:
  GAp.1 = G.1
  GAp.2 = G.2
  GAp.3 = 3*G.3
  GAp.4 = 153*G.4
Relations:
  2*GAp.1 = 0
  2*GAp.2 = 0
  2*GAp.3 = 0
  4*GAp.4 = 0

Run in calculator