[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