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: Sylow 2-Subgroup of a Unit Group (ex-c74c85)

Run in calculator (opens in a new tab)

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 (opens in a new tab)