Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.
| Download
GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
Project: cocalc-sagemath-dev-slelievre
Views: 4183864. The shell program "cohomology". Usage: cohomology [-m1crngxjsh] gpname (Options may be given in any order, and need not be separated.) This program also calls the short shell program "execcmd". Purpose: To run the programs listed in info.2 in the correct order, for the computation of Schur multipliers of finite permutation groups G, and of first and second cohomology groups of G on modules M defined over a field of prime order p. Additionally, for the computation of presentations of covering groups of G, or of extensions of the module M by G. The user has two pieces of work to do. 1) (S)He must provide the necessary input data in the appropriate format. All files related to computation within a group G with name "gpname" have names of the form gpname.'name', where 'name' specifies the file. PLEASE HEED THE WARNING IN 'info.0' ABOUT MAXIMAL LENGTH OF 'gpname' (8). At the start of the computation the situation should be as follows: a) gpname.inperm, which lists the generating permutations of G, must be present. None of these generators is allowed to be the identity; b) gpname.inmat, which lists the matrices for these generators giving their action on the module M, must be present unless -m is set (multiplier computation); c) gpname.tc, which contains a presentation for G on these generators may be present. If so, then it will be used when constructing the presentation of any extension of the multiplier or of the module M by G. The full presentation will be printed both on the terminal and in a file called gpname.ext.tc at the end of the computation. d) no other files with names of this form should be present, since they could be overwritten, or, worse, their existence could mislead the shell program and cause errors or crashes. There is a short shell program 'clrgrp' present which is called by clrgrp gpname and removes all files of form gpname.* except those of form gpname.in* and gpname.tc*. This is sufficient to avoid the dangers described in d). For advice about methods of creating the files in a) b) and c), and for information on their formats, see info.0. 2) If the index of the normalizer N(P) of a Sylow subgroup P of G has large index in G, then the computations are speeded up considerably by the introduction of a chain of subgroups between N(P) and G. These subgroups H(1), H(2), ... should be stored in files with names gpname.sg1, gpname.sg2, etc., and they should satisfy N(P) < H(1) < H(2) < ... < G. (Strict inclusion is necessary here!) After the shell program has computed G, P and N(P), it returns control temporarily to the user (unless option -n is set) for him to create these files. To do this effectively, some knowledge of the individual programs described in info.3 is necessary. In particular, egrun with the -s flag, to create point stabilizers, normrun, to compute normalizers and centralizers, and optrun to compute other functions like intersections, commutator groups and cores are likely to be useful. Meaning of Options. Usage: cohomology [-m1crnxjsh] gpname -m) Compute the p-part of the Schur multiplier of G. The prime p is read from the terminal by "cohomology", at the beginning. -1) Compute the first cohomology group of G on the module M defined by the given matrices. -m) and -1) cannot both be set together, and if neither is set, then the default action is to compute the second cohomology group of G on M. -c) (Corestriction). After computing the multiplier or second cohomology group, compute a presentation for the covering group of G (if -m set) or of an extension of the module M by G. In the second case, if H^2(G,M) has dimension > 1, then this extension is not unique, and the user has to select a particular generator. This is done by inputting the corresponding vector in H~2(G,M) at the terminal. At present, it is not possible to set -1 and -c together. -r) (Resume). This only makes sense if H^2(G,M) has already been computed in a previous run of "cohomology" with the -c option. It may not be called with -1 or -m, and -c need not be explicitly set, since it is assumed. The user can immediately select another generator of H^2(G,M) for the computation of the extension. -n) Do not return control to the user for the computation of intermediate subgroups. Use this if |G:N(P)| is known to be small. -g) Stop after group and matrix theoretic calculations; i.e. before the first call of nqrun or nqmrun. -x) Omit various checks that are normally carried out by "cohomology". They do not take much time, and they could help to avoid confusing faults, so it is not advisable to call this option. The checks are as follows: a) Check whether the subgroups H(1), H(2) really satisfy the required strict inclusion conditions; b) Check that the given matrices really do define a representation of the group G that is defined by the generating permutations. This is done by checking that the matrices satisfy the relators in a presentation of G. Other possible input errors should result in comprehensible diagnostics, although silly errors like 'p' not being prime may cause havoc. See info.0 for comments on errors caused by lack of space. -j) Send standard output of all programs run to a file gpname.junk. Diagnostic output (including final results of the computation) will still appear on the terminal. Other output is only useful for observing the progress of the computation. -h) Send a list of all programs run (excluding the checking programs) to a file gpname.history. This, and the following option, are useful if it is required to follow a computation more closely, repeat bits of it, or find out exactly where an error occurred. -s) Operate in step-by-step mode. Before each command is executed, it is echoed on the terminal. The user can answer either 'n' (do not execute and proceed to next command), 'q' (quit the whole process), or 'y' (default - execute). The 'n' response should of course only be used if this command has already been executed on a previous run.