59.10 Further Information

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 ]

Previous Up Top
Index

GAP 3.4.4
April 1997