The definition by means of a finite presentation is by far the most concise in general, but if the user wishes to carry out individual computations within a given group, then a permutation representation will be more convenient. We have therefore provided the wherewithal to construct one or more faithful permutation representations of the group. The method is to use Todd-Coxeter coset enumeration, but since the representations constructed are often intransitive, we have written a function for this purpose. It is in the file permrepsum.
For example, suppose we start by the call
> load A5_2_53; Loading "perfgps/A5_2_53" Group gp = A5_2_53 defined. Subgroup sequences: h1: Index 16 + 24
This means that that a sequence h1 of subgroups of gp has been defined, which can be used to construct a permutation representation of gp which in this case is intransitive of degree 40, with orbits of length 16 and 24. We now call
> load permrepsum; Loading "perfgps/permrepsum" procedure coshom(F, Hseq, ~M, ~P) defined procedure persum(F, Mseq, Pseq, ~M, ~P) defined
The function coshom constructs the required permutation representation. In this case, we would construct the required permutation group p, and isomorphism m from gp to p, as follows:
> coshom(gp, h1, ~m, ~p); > print Degree(p), Order(p); 40 1920
In the vast majority of cases, the degrees of the permutation representations are of size at most a few hundred, and coshom will run fairly quickly. There are one or two bad cases however, in which the degree is several thousand, and in the worst case (I can't remember which group!), a workspace of up to 1000000 words was required for coshom to complete.
[Next] [Prev] [_____] [Left] [Up] [Index] [Root]