"Source: Text/Group/GrpAuto.text";
"Line: 719";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpAuto.text, line: 719
// Example: H74E6 ()
print "Example: H74E6";
ei := GetEchoInput();
SetEchoInput(true);
CharacteristicSubgroups := function(G)
   local A, outers, NS, CS;
   A := AutomorphismGroup(G);
   outers := [ a : a in Generators(A) | not IsInner(a) ];
   NS := NormalSubgroups(G);
   CS := [n : n in NS | forall{a: a in outers| a(n`subgroup) eq n`subgroup }];
   return CS;
end function;
CS := CharacteristicSubgroups(DirectProduct(Alt(4),Alt(4)));
[c`order: c in CS];
G := SmallGroup(512,298);     
#NormalSubgroups(G);
assert $1 eq 42;
#CharacteristicSubgroups(G);
assert $1 eq 28;
SetEchoInput(ei);
