Previous
About HAP: Parallel Computation
next

Homological computations can require much time and memory.  In principle, many of the computations can be distributed in fairly obvious ways over several processors on a multiprocessor PC (or, using software such as Cluster Knoppix, over several processors on a network of  PCs). HAP contains a few basic functions for achieving this.
The following commands compute the third integral homology groups of the groups of order 32 using two child processes. This is an example of "trivial parallelism". On a multiprocessor machine (or Knoppix cluster) the processes would normally automatically be assigned to different processors.
gap> s:=ChildProcess();;
gap> t:=ChildProcess();;
gap> ChildCommand("LoadPackage(\"hap\");",s);
gap> ChildCommand("LoadPackage(\"hap\");",t);

gap> ChildCommand("ODD:=Filtered([1..51],IsOddInt);",s);
gap> ChildFunction("List(ODD,i->GroupHomology(SmallGroup(32,i),3));",s);
gap> ChildCommand("Even:=Filtered([1..51],IsEvenInt);",t);
gap> ChildFunction("List(Even,i->GroupHomology(SmallGroup(32,i),3));",t);

gap> Odd:=ChildReadEval(s);;
gap> Even:=ChildReadEval(t);;

gap> for i in [1..26] do
> Print("Group ",2*i-1," has third homology ",Odd[i],"\n");
> if i<26 then Print("Group ",2*i," has third homology ",Even[i],"\n"); fi;
> od;

Group 1 has third homology [ 32 ]
Group 2 has third homology [ 4, 4, 4, 4 ]
Group 3 has third homology [ 4, 4, 8 ]
Group 4 has third homology [ 2, 4, 8 ]
Group 5 has third homology [ 2, 2, 4, 8 ]
Group 6 has third homology [ 2, 2, 4, 4 ]
Group 7 has third homology [ 2, 2, 2, 8 ]
Group 8 has third homology [ 2, 4, 4 ]
Group 9 has third homology [ 2, 2, 4, 8 ]
Group 10 has third homology [ 2, 4, 8 ]
Group 11 has third homology [ 2, 4, 8 ]
Group 12 has third homology [ 2, 4, 8 ]
Group 13 has third homology [ 2, 4, 8 ]
Group 14 has third homology [ 2, 4, 8 ]
Group 15 has third homology [ 2, 16 ]
Group 16 has third homology [ 2, 2, 16 ]
Group 17 has third homology [ 2, 16 ]
Group 18 has third homology [ 2, 2, 16 ]
Group 19 has third homology [ 2, 16 ]
Group 20 has third homology [ 32 ]
Group 21 has third homology [ 2, 2, 2, 2, 4, 4, 4 ]
Group 22 has third homology [ 2, 2, 2, 2, 2, 2, 2, 4, 4 ]
Group 23 has third homology [ 2, 2, 2, 2, 2, 4, 4 ]
Group 24 has third homology [ 2, 2, 2, 4, 8 ]
Group 25 has third homology [ 2, 2, 2, 2, 2, 4, 4 ]
Group 26 has third homology [ 2, 2, 4, 8 ]
Group 27 has third homology [ 2, 2, 2, 2, 2, 2, 2, 4, 4 ]
Group 28 has third homology [ 2, 2, 2, 2, 2, 4, 4 ]
Group 29 has third homology [ 2, 2, 2, 4, 8 ]
Group 30 has third homology [ 2, 2, 2, 2, 4, 4 ]
Group 31 has third homology [ 2, 2, 2, 4, 8 ]
Group 32 has third homology [ 2, 4, 8 ]
Group 33 has third homology [ 2, 2, 4, 4 ]
Group 34 has third homology [ 2, 2, 2, 2, 4, 4, 4 ]
Group 35 has third homology [ 2, 2, 4, 8 ]
Group 36 has third homology [ 2, 2, 2, 2, 2, 2, 8 ]
Group 37 has third homology [ 2, 2, 2, 2, 8 ]
Group 38 has third homology [ 2, 2, 2, 16 ]
Group 39 has third homology [ 2, 2, 2, 2, 2, 2, 8 ]
Group 40 has third homology [ 2, 2, 2, 2, 8 ]
Group 41 has third homology [ 2, 2, 2, 16 ]
Group 42 has third homology [ 2, 2, 2, 16 ]
Group 43 has third homology [ 2, 2, 2, 2, 8 ]
Group 44 has third homology [ 2, 2, 2, 8 ]
Group 45 has third homology [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ]
Group 46 has third homology [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ]
Group 47 has third homology [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 8 ]
Group 48 has third homology [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 8 ]
Group 49 has third homology [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 8 ]
Group 50 has third homology [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 4 ]
Group 51 has third homology [ 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 ]
Previous Page
Contents
Next page