[GAP Forum] Working with large conjugacy class

Attila Egri-Nagy A.Egri-Nagy at herts.ac.uk
Sat Aug 4 00:42:39 BST 2012


Just a small remark regarding the memory usage of the operating
system. On a 32GB machine I routinely use 31500m but first I stop
services not needed and also shut down the graphical desktop
environment.
In case you need exactly that 1.5GB...

best,
@

On Sat, Aug 4, 2012 at 4:09 AM, Alexander Hulpke
<hulpke at math.colostate.edu> wrote:
>
>
> Dear Forum, Dear Marek Mitros,
>
> On Aug 3, 2012, at 8/3/12 12:42, Marek Mitros wrote:
>
>> Hi,
>>
>> 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 ?
>
> First you'll need a 64-bit binary, and on that I believe the matrices are larger (I measured 12210 myself) because of packing overhead. Then part of allocated memory is reserved for master pointers, and as there will be some overhead for lists. So you are probably looking at something closer to 25-30GB of memory required. Also (by default matrix group calculations translate to permutation groups which you don't want to do here) I would call
>
> c2s:=Orbit(hn,gens[1]);;
>
> instead to just calculate conjugates. Also note that sometimes a substantial amount of core memory is used up by the operating system, for example I would expect that allocating 30GB on a 32GB system would be too much.
>
>> 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.
>
> Mathematically I cannot think of a fundamentally better scheme if you really want to iterate over all class elements -- the centralizer is maximal and you need to enumerate its cosets.
> You of course trade runtime for memory, in extremis by storing instead of conjugate matrices only a formal word in the generators that will conjugate this way (and possibly a small fingeroprint of the matrix to make for fast searching), but that is likely prohibitively expensive. Similarly you could use external storage on the disk, but you would have to write all the code for this from scratch.
>
> Best,
>
>   Alexander Hulpke
>
>
>
>
> -- Colorado State University, Department of Mathematics,
> Weber Building, 1874 Campus Delivery, Fort Collins, CO 80523-1874, USA
> email: hulpke at math.colostate.edu, Phone: ++1-970-4914288
> http://www.math.colostate.edu/~hulpke
>
>
>
> _______________________________________________
> Forum mailing list
> Forum at mail.gap-system.org
> http://mail.gap-system.org/mailman/listinfo/forum



More information about the Forum mailing list