AgGroupOps.CommutatorSubgroup( G, H )
Let g_1, ..., g_n be an canonical generating system for G and h_1, ..., h_m be an canonical generating system for H. The normal closure of the subgroup S generated by Comm( g_i, h_j ) for 1 leq i leq n and 1 leq j leq m under G and H is the commutator subgroup of G and H.
But if G or H is known to be normal in the common parent of G amd H then the subgroup S is returned because if G normalizes H or vice versa then S is already the commutator subgroup (see Gla87).
If <G> = <H> the commutator subgroup is generated by Comm( g_i, g_j )
for 1 leq i < j leq n (see LNS84). Note that
AgGroupOps.CommutatorSubgroup
checks G.derivedSubgroup
in that
case.
GAP 3.4.4