Builds a permutation group. There are a lot of ways to construct groups in DISCRETA. All of them are available through this function. string is a space separated string containing commands for constructing groups. The commands are as follows:

- PSL n q = projective special linear group of dimension n over the galois-field GF(q)
- PGL n q = projective linear group of dimension n over the galois-field GF(q)
- PSSL n q = projective special semi-linear group of dimension n over the galois-field GF(q)
- PGGL n q = projective semi-linear group of dimension n over the galois-field GF(q)
### Well Known Groups:

- S n = symmetric group on n points
- A n = alternating group on n points
- D n = dihedral group on n points
- C n = cyclic group on n points
- HolC n = holomorph of cyclic group on n points
- Id n = trivial group on n points
- HolCsubgroup n i = subgroup of holomorph of cyclic group on n points (of index i)
- SnwrSm n m = wreath product of S_n with S_m
### Sporadic Simple Groups:

- M11 = Mathieu group M11
- M12 = Mathieu group M12
- M23 = Mathieu group M23
- M24 = Mathieu group M24
- HS176 = Higman Sims group on 176 points
### Other Constructions:

- file file_name = read generators form file
### Unary Operations:

- [2] = induction on 2-subsets (degree ${n \choose 2}$)
- (2) = induction on 2-tuples (degree $n^2$)
- [2]i = induction on injective 2-tuples = ordered pairs (degree $n(n-1)$)
- [3] = induction on 3-subsets (degree ${n \choose 3}$)
- + = add a fixedpoint (in front)
- - = stabilize first point (and remove the stabilized point)
### Binary Operations:

- , = concatenate two generating systems
- x = form the dirct sum of two permutation groups on disjoint sets
- X = form the dirct product of two permutation groups on tuples $(a,b)$
- wr = form the wreath product of two permutation groups
- exp = form the exponential group of two permutation groups
- ON_MAPPINGS = act on mappings

Return Values:

This function returns a vector containing two strings.
The first string is a label for the group in ASCII, the second is the
corresponding label in tex.

Example 1:

gap> label := compose_group("PGGL 2 32"); discreta_batch compose_group discreta_batch_output.g discreta_tmp PGGL 2 32 [ "PGGL_2_32", "{\rm P}Gamma {\rm L}_{2}(32)" ] gap> g_label := label[1]; "PGGL_2_32" gap> g_label_tex := label[2]; "{\rm P}Gamma {\rm L}_{2}(32)" gap>

Example 2:

gap> label := compose_group("PSL 2 17 C 2 X"); discreta_batch compose_group discreta_batch_output.g discreta_tmp PSL 2 17 C 2\ X [ "PSL_2_17C2X", "{\rm PSL}_{2}(17){\bf C}_{2}\times" ] gap>This composes a group on 36 points of order 4896, isomorphic to PSL(2,17) acting diagonally on 2 x 18 points.

Example 3:

gap> label := compose_group("M12 -"); discreta_batch compose_group discreta_batch_output.g discreta_tmp M12 - [ "M12-", "{\bf M}_{12}-" ] gap>Composes the point stabilizer of M12, that is, M11 of order 7920 on 10 points.

Example 4:

gap> label := compose_group("file s5.txt"); discreta_batch compose_group discreta_batch_output.g discreta_tmp file s5.txt [ "file_s5.txt", "{\rm file s5.txt}" ] gap>Reads the generators from a given file, here s5.txt. The format of this file is easy. The first integer is the number of generators r, the second integer is the degree d and the following r * d integers contain the images of 1..d under the r generators (as numbers from 1 to d). Here an example, defining S_5:

2 5 2 1 3 4 5 2 3 4 5 1This file is format free, that is whitespace characters may occur in arbitrary manner.

Writes generators for the GAP permutation group grp in DISCRETA format into the file fname. deg must be the degree of the group.

Retrieves the generators for the group from the KM-file.

Example:

gap> g := get_generators(km); discreta_batch get_generators KM_PGGL_2_32_t5_k6.txt discreta_batch_output.g d\ iscreta_tmp [ ( 3, 4, 6,10,18, 7,12,22,15,28,19, 9,16,30,31,33,29,21, 5, 8,14,26,23,17,32, 27,25,13,24,11,20), ( 3,20,11,24,13,25,27,32,17,23,26,14, 8, 5,21,29,33, 31,30,16, 9,19,28,15,22,12, 7,18,10, 6, 4), ( 2, 3)( 4, 5)( 6, 7)( 8, 9)(10,11)(12,13)(14,15)(16,17)(18,19)(20,21) (22,23)(24,25)(26,27)(28,29)(30,31)(32,33), ( 1, 3)( 4,31)( 5,21)( 6,24)( 7,10)( 8,15)( 9,17)(11,25)(12,19)(13,26) (14,16)(18,27)(20,30)(22,29)(23,33)(28,32), ( 4, 6,18,15,29)( 5, 7,19,14,28)( 8,22,31,24,27)( 9,23,30,25,26) (10,12,16,32,21)(11,13,17,33,20) ] gap> gg := Group(g, g[1]^0); Group( ( 3, 4, 6,10,18, 7,12,22,15,28,19, 9,16,30,31,33,29,21, 5, 8,14,26,23, 17,32,27,25,13,24,11,20), ( 3,20,11,24,13,25,27,32,17,23,26,14, 8, 5,21,29, 33,31,30,16, 9,19,28,15,22,12, 7,18,10, 6, 4), ( 2, 3)( 4, 5)( 6, 7)( 8, 9) (10,11)(12,13)(14,15)(16,17)(18,19)(20,21)(22,23)(24,25)(26,27)(28,29)(30,31) (32,33), ( 1, 3)( 4,31)( 5,21)( 6,24)( 7,10)( 8,15)( 9,17)(11,25)(12,19) (13,26)(14,16)(18,27)(20,30)(22,29)(23,33)(28,32), ( 4, 6,18,15,29) ( 5, 7,19,14,28)( 8,22,31,24,27)( 9,23,30,25,26)(10,12,16,32,21) (11,13,17,33,20) ) gap> Size(gg); 163680 gap>

Back
to the DISCRETA-GAP interface

Back to the typical GAP-session

Last updated: July 26, 1999, Evi Haberberger