From 5b8dd6c49d8db411de6e6ef25b133e67659967ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Horv=C3=A1th?= Date: Sat, 9 Apr 2016 12:52:08 +0200 Subject: [PATCH] Add efficiency note and infinite example to MaximalNormalSubgroups --- lib/grp.gd | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/grp.gd b/lib/grp.gd index 85c409981f..4e6784a279 100644 --- a/lib/grp.gd +++ b/lib/grp.gd @@ -1713,9 +1713,19 @@ DeclareAttribute( "NilpotencyClassOfGroup", IsGroup ); ## is a list containing those proper normal subgroups of the group G ## that are maximal among the proper normal subgroups. Returns fail if there ## are infinitely many maximal normal subgroups. +## +## Note, that the maximal normal subgroups of a group G can be +## computed more efficiently if the character table of G is known or +## if G is known to be abelian or solvable (even if infinite). So if +## the character table is needed, anyhow, or G is suspected to be +## abelian or solvable, then these should be computed before computing the +## maximal normal subgroups. ## MaximalNormalSubgroups( g ); ## [ Group([ (1,2,3), (2,3,4) ]) ] +## gap> f := FreeGroup("x", "y");; x := f.1;; y := f.2;; +## gap> List(MaximalNormalSubgroups(f/[x^2, y^2]), GeneratorsOfGroup); +## [ [ x, y*x*y^-1 ], [ y, x*y*x^-1 ], [ y*x^-1 ] ] ## gap> MaximalNormalSubgroups( AbelianGroup( [ 0 ] ) ); ## fail ## ]]>