[GAP Forum] Extra-special group acting on an elementary abelian group
Frank Lübeck
frank.luebeck at math.rwth-aachen.de
Wed Feb 22 12:32:42 GMT 2012
On Tue, Feb 21, 2012 at 07:30:43PM -0600, Goodson, Joshua E wrote:
> I am trying to count the orbits of an extra-special group of order 3^5 acting on an elementary abelian group of order 7^9. I start with the automorphism group of the elementary abelian group and then try to find the isomorphic image of the extra-special group, but because of the size of the automorphism group the computer cannot finish. I also try to find the group myself by first finding the Sylow subgroup of the automorphism group, but again the computer has a problem finishing. I believe in each case it mentions running out of memory. So I was wondering if there is another way I can perform the desired action GAP or would a better computer be able to find the subgroup of the automorphism group that I want?
Dear Joshua Goodson, dear Forum,
You can consider the elementary abelian group of order 7^9 as the
vector space GF(7)^9. The action of your group then becomes a linear
representation.
There are many actions of your group on this vectorspace, but I assume
that you are interested in the irreducible representation(s).
For such a small group GAP can easily compute all irreducible
representations. This way you find your group as matrix group of
9x9 matrices over GF(7).
g := ExtraspecialGroup(3^5,'+'); # this has exponent 3, use '-' for exponent 9
r := IrreducibleRepresentations(g,GF(7));;
degs := List(r, h-> DimensionOfMatrixGroup(Image(h)));
poss := Positions(degs, 9);
g1 := Image(r[poss[1]]);
Size(g1);
(Burkhard Höfling has sent a method to find this directly for the
specific groups in question.)
Then, computing the orbits explicitly with GAPs 'Orbits' command would
need a computer with about 5GB of RAM and would take quite some time.
If you just want to count the orbits you can compute fix points (that
is 1-eigenspaces) for conjugacy class representatives and use the Cauchy-
Frobenius Lemma:
one := One(g1);
numorbs := 1/Size(g1) * Sum(ConjugacyClasses(g1), c-> Size(c) *
7^(9-RankMat(Representative(c)-one)));
Actually, you can do the same without the explicit representation, just
using the character table of your group:
ct := CharacterTable(g);;
poss := Positions(List(Irr(ct), Degree), 9);
nrfix := function(ch, i, p)
local ev;
ev := EigenvaluesChar(ch, i);
return p^ev[Length(ev)];
end;
norbs := 1/Size(ct) * (List([1..NrConjugacyClasses(ct)], i->
nrfix(Irr(ct)[poss[1]], i, 7)) * SizesConjugacyClasses(ct));
With best regards,
Frank Lübeck
--
/// Dr. Frank Lübeck, Lehrstuhl D für Mathematik, Templergraben 64, ///
\\\ 52062 Aachen, Germany \\\
/// E-mail: Frank.Luebeck at Math.RWTH-Aachen.De ///
\\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\
More information about the Forum
mailing list