Dear GAP-Forum,
Pat Callahan wrote in his e-mail
> GAP-forum,
> Is there a simple way to create a list of how many elements of each
order
> there are for a given group? Thanks,
> Pat Callahan
Here is quick solution :-)
# Order distribution of a group (for Pat Callahan)
# Sebastian Egner, 15.11.96, GAP v3.4
#F OrderDistributionGroup( <group> )
#F returns the distribution of the orders of the elements of
#F <group> as a sorted list of pairs [<order>, <frequency>].
#F (The function uses ConjugacyClasses.)
#F
OrderDistributionGroup := function ( G )
local cs, cs1, i;
cs :=
List(
ConjugacyClasses(G),
C -> [ Order(G, Representative(C)), Size(C) ]
);
Sort(cs);
cs1 := [ cs[1] ];
for i in [2..Length(cs)] do
if cs[i][1] = cs1[Length(cs1)][1] then
cs1[Length(cs1)][2] := cs1[Length(cs1)][2] + cs[i][2];
else
Add(cs1, cs[i]);
fi;
od;
return cs1;
end;
- - -
Sebastian Egner
Institut für Algorithmen und Kognitive Systeme
Universität Karlsruhe
Am Fasanengarten 5
D-76128 Karlsruhe
Tel. +49 721 608 4304 / +49 721 96400 14
Fax. +49 721 69 68 93
e-mail egner@informatik.uni-karlsruhe.de