Suppose, as usual, that the cohomology record chr was constructed
with the call CHR(G,p, [F],[mats])
.
All of the functions make use of a strictly decreasing chain of subgroups
of the permutation group G starting with G itself and ending with a
Sylow p-subgroup P of G. In general, the programs run most efficiently
if the indices between successive terms in this sequence are as small as
possible. By default, GAP will attempt to find a suitable chain, when
you call the first cohomology function on chr. However, you may be able
to construct a better chain yourself. If so, then you can do this
by assigning the record field chr.chain
to the list L of subgroups
that you wish to use. You should do that before calling any of the
cohomology functions. Remeber that the first term in the list must be
G itself, the sequence of subgroups must be strictly decreasing,
and the last term must be equal to the Sylow subgroup stored as
chr.sylow
. (You can change chr.sylow
to a different Sylow
p-subgroup if you like.) Here is a slightly contrived example of this
process.
gap> RequirePackage( "cohomolo" ); gap> G:=AlternatingGroup(16);; gap> chr:=CHR(G,2);; gap> InfoCohomology:=Print;; gap> SchurMultiplier(chr); #Indices in the subgroup chain are: 2027025 315 #WARNING: An index in the subgroup chain found is larger than 50000. #This calculation may fail. See manual for possible remedies. #I Cohomology package: Calling external program. #I External program complete. Error, 'Cohomology' failed for some reason. in Cohomology( chr, true, false, false, TmpName( ) ) called from SchurMultiplier( chr ) called from main loop brk> quit;
The first index in the chain found by GAP was hopelessly large. Let's try and do better.
gap> P:=chr.sylow;; gap> H1:=Subgroup(G, [(1,2)(9,10), (2,3,4,5,6,7,8), > (1,9)(2,10)(3,11)(4,12)(5,13)(6,14)(7,15)(8,16)]);; gap> Index(G,H1); 6435 gap> H2:=Subgroup(H1, [(1,2)(5,6), (1,2)(9,10), (2,3,4), > (1,5)(2,6)(3,7)(4,8), > (1,9)(2,10)(3,11)(4,12)(5,13)(6,14)(7,15)(8,16)]);; gap> Index(H1,H2); 1225 gap> IsSubgroup(H2,P); true
If that had been false, we could have replaced chr.sylow by a Sylow 2-subgroup of H2. As it is true, we just continue.
gap> Index(H2,P); 81 gap> chr.chain := [G,H1,H2,P];; gap> SchurMultiplier(chr); #I Cohomology package: Calling external program. #I External program complete. #I Removing temporary files. [ 2 ]
GAP 3.4.4