compose_group(string);

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:

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 1
This file is format free, that is whitespace characters may occur in arbitrary manner.

GeneratorsPermGroup( grp, fname, deg);

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

get_generators(km);

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