On Fri, Aug 03, 2012 at 08:42:41AM +0200, Marek Mitros wrote: > I perform following code in GAP 4.5.5- see below. I see that single > matrix 133x133 over GF(4) use 8902 bytes of memory. The size of 2A > class is 1 539 000. So (1 539 000 * 8902)/2^20 = 13 065 MB. > > I start gap session with option -o 15000m (is it OK to allocate 15 GB > of memory ?). And I run command > c2s:= AsList(c2);; > > Is there hope to fit whole conjugacy class in memory ? Are there other > ways to loop through all large conjugacy class without storing it in > memory ? I could store it on the disk for example.
Dear Marek Mitros, dear Forum, It was already discussed that listing the whole class is not very feasible in this case. But let me mention the "orb" package which could be of some help for such a task. It doesn't provide a simple push the button function to run through the class, but with some effort one could find a way to iterate over huge orbits while only storing a small proportion of the points explicitly at any given time. But I would not do this for your questions: > I would like to get answer on following questions and other similar. > Fix v0 in 2A conjugacy class. I call element x "perpendicular to v0" > if Order(x*v0)=2. How many elements there are perpendicular to v0 ? > What is the size of maximal commuting subset in 2A. What is the size > of abelian group generated by it ? What is the size of set {x: x*v0 > belongs to 2A} ? You can answer part of this just using the character table of "HN", using the command 'ClassMultiplicationCoefficient' (and adjusting numbers using the lengths of the conjugacy classes), the documentation of the function contains an interpretation of these numbers: # instead of working with the group hn:=AtlasGroup("HN", Dimension, 133); # use its character table hntab := CharacterTable("HN"); # class 2a corresponds to column 2 of the table 2apos := Position(ClassNames(hntab), "2a"); # there are two classes of involutions corresp to cols 2 and 3 2poss := Positions(OrdersClassRepresentatives(hntab), 2); cllens := SizesConjugacyClasses(hntab);; # elements perpendicular to v0, class wise perp2a := List([1..NrConjugacyClasses(hntab)], i-> List(2poss, k-> ClassMultiplicationCoefficient(hntab, i, 2apos, k) * cllens[k])) / cllens[2apos]; # total number nrperp2a := Sum(perp2a, Sum); Similarly, you can answer your last question. For the "maximal commuting subset in 2A" I have no immediate answer, but I think it should be possible to get at least a sensible upper bound using the character table. And if you need to do some explicit computations with elements you can at least reduce your question to a much smaller set of elements: The centralizer of an element in 2A is of type 2.HS.2. Then ctab := CharacterTable("2.HS.2"); FusionConjugacyClasses(ctab,hntab); shows that the central involution and the second class of the subgroup contain elements in 2A of HN. So, you only need to consider 1+5775 elements in 2.HS.2 to find a maximal commuting set you are looking for. With best regards, Frank Lübeck -- /// Dr. Frank Lübeck, Lehrstuhl D für Mathematik, Templergraben 64, /// \\\ 52062 Aachen, Germany \\\ /// E-mail: frank.lueb...@math.rwth-aachen.de /// \\\ WWW: http://www.math.rwth-aachen.de/~Frank.Luebeck/ \\\ _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum