[GAP Forum] Installing cvec package - and memory issue

Marek Mitros marek at mitros.org
Fri Aug 1 08:23:27 BST 2014


Thank you for the answers I have received.

I have another related problem - maybe you can help.

I am trying to generate 1240 elements of BM8.2D conjugacy class - 8th
maximal subgroup of baby monster group. Here is the code I tried. The
problem is that my GAP session disappeared before it reach 800 elements. I
started GAP session with -o 6G option, GasmanLimits() function show that
only 4 GB has been set as max option. Anyway it should be enough - 2.5 MB *
1240 = 3GB.

First trial:
-------------
g:=AtlasGroup("B"); Print("Baby defined\n");
g8:=AtlasSubgroup(g,8); Print ("BM8 defined\n");
ge:=GeneratorsOfGroup(g8); a:=ge[1]; b:=ge[2];
c:=(a*b*b*b*b)^21;  #1240 size cg which generate [2^30]
Print("### Phase 1: Creating 2D class\n\n\n");
c2:=[c];
repeat c0:=c^PseudoRandom(g8);
   if not c0 in c2 then
       Add(c2,c0); if Size(c2) mod 100 =0 then Print(Size(c2),"\n");
Print(StringTime(Runtime()), "\n"); fi;
   fi;
until Size(c2)=800;             #  the speed is 7 elements per 1 minute, so
after 1/2 hour we should have 200 elements
Second trial - I used orb package and Enumerate function. Result is the
same - last log entry is 700 size.

g8:=AtlasSubgroup("B",8); Print ("BM8 defined\n");
ge:=GeneratorsOfGroup(g8); a:=ge[1]; b:=ge[2];
c:=(a*b*b*b*b)^21;  #1240 size cg which generate [2^30]
o := Orb([a,b],c,OnPoints);
Print(StringTime(Runtime()), "\n");
for k in 40+100*[0..12] do
   Enumerate(o,k);
   Print(Size(o), " elements generated\n");
   Print(StringTime(Runtime()), "\n");
od;
Any advice ?

Regards,
Marek

On Thu, Jul 31, 2014 at 1:29 PM, Stephen Linton <
steve.linton at st-andrews.ac.uk> wrote:

> Dear GAP Forum,
>
> Marek Mitros asked:
>
> >
> > I am trying to use the cvec package to have compressed matrices over
> GF(2).
> > But I do not see much difference - see below example log from my GAP
> > session.
> >
>
> This isn’t really surprising. GAP already supports compressed matrices
> over fields of order up to 256. The cvec package does not achieve more
> compression for these fields, but (a) may have faster methods for some
> operations and/or a better interface and (b) also supports space and time
> efficient arithmetic for larger fields.
>
> In your particular case, the matrices have roughly 19 million entries and
> the memory usages you report are not much over 19 million bits, so there is
> not much saving to be had.
>
>         Steve
>
>
> >
> > gap> g:=AtlasGroup("B"); Print("Baby defined\n");
> >
> > <matrix group of size 4154781481226426191177580544000000 with 2
> generators>
> >
> > Baby defined
> >
> > gap> ge:=GeneratorsOfGroup(g); a:=ge[1]; b:=ge[2];
> >
> > [ <an immutable 4370x4370 matrix over GF2>, <an immutable 4370x4370
> matrix
> > over GF2> ]
> >
> > <an immutable 4370x4370 matrix over GF2>
> >
> > <an immutable 4370x4370 matrix over GF2>
> >
> > gap>
> >
> > gap> LoadPackage("cvec"); # compressed vectors and matrices over finite
> > fields
> >
> > true
> >
> > gap> ca:=CMat(a); cb:=CMat(b);
> >
> > <cmat 4370x4370 over GF(2,1)>
> >
> > <cmat 4370x4370 over GF(2,1)>
> >
> > gap>
> >
> > gap> MemoryUsage(a);
> >
> > 2519320
> >
> > gap> MemoryUsage(ca);
> >
> > 2500728
> > _______________________________________________
> > Forum mailing list
> > Forum at mail.gap-system.org
> > http://mail.gap-system.org/mailman/listinfo/forum
>
>


More information about the Forum mailing list