File: manual.tex

package info (click to toggle)
gap-primgrp 4.0.2-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 15,628 kB
  • sloc: xml: 5,379; javascript: 155; makefile: 124
file content (556 lines) | stat: -rw-r--r-- 29,528 bytes parent folder | download
1
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
% generated by GAPDoc2LaTeX from XML source (Frank Luebeck)
\documentclass[a4paper,11pt]{report}

\usepackage[top=37mm,bottom=37mm,left=27mm,right=27mm]{geometry}
\sloppy
\pagestyle{myheadings}
\usepackage{amssymb}
\usepackage[utf8]{inputenc}
\usepackage{makeidx}
\makeindex
\usepackage{color}
\definecolor{FireBrick}{rgb}{0.5812,0.0074,0.0083}
\definecolor{RoyalBlue}{rgb}{0.0236,0.0894,0.6179}
\definecolor{RoyalGreen}{rgb}{0.0236,0.6179,0.0894}
\definecolor{RoyalRed}{rgb}{0.6179,0.0236,0.0894}
\definecolor{LightBlue}{rgb}{0.8544,0.9511,1.0000}
\definecolor{Black}{rgb}{0.0,0.0,0.0}

\definecolor{linkColor}{rgb}{0.0,0.0,0.554}
\definecolor{citeColor}{rgb}{0.0,0.0,0.554}
\definecolor{fileColor}{rgb}{0.0,0.0,0.554}
\definecolor{urlColor}{rgb}{0.0,0.0,0.554}
\definecolor{promptColor}{rgb}{0.0,0.0,0.589}
\definecolor{brkpromptColor}{rgb}{0.589,0.0,0.0}
\definecolor{gapinputColor}{rgb}{0.589,0.0,0.0}
\definecolor{gapoutputColor}{rgb}{0.0,0.0,0.0}

%%  for a long time these were red and blue by default,
%%  now black, but keep variables to overwrite
\definecolor{FuncColor}{rgb}{0.0,0.0,0.0}
%% strange name because of pdflatex bug:
\definecolor{Chapter }{rgb}{0.0,0.0,0.0}
\definecolor{DarkOlive}{rgb}{0.1047,0.2412,0.0064}


\usepackage{fancyvrb}

\usepackage{mathptmx,helvet}
\usepackage[T1]{fontenc}
\usepackage{textcomp}


\usepackage[
            pdftex=true,
            bookmarks=true,        
            a4paper=true,
            pdftitle={Written with GAPDoc},
            pdfcreator={LaTeX with hyperref package / GAPDoc},
            colorlinks=true,
            backref=page,
            breaklinks=true,
            linkcolor=linkColor,
            citecolor=citeColor,
            filecolor=fileColor,
            urlcolor=urlColor,
            pdfpagemode={UseNone}, 
           ]{hyperref}

\newcommand{\maintitlesize}{\fontsize{50}{55}\selectfont}

% write page numbers to a .pnr log file for online help
\newwrite\pagenrlog
\immediate\openout\pagenrlog =\jobname.pnr
\immediate\write\pagenrlog{PAGENRS := [}
\newcommand{\logpage}[1]{\protect\write\pagenrlog{#1, \thepage,}}
%% were never documented, give conflicts with some additional packages

\newcommand{\GAP}{\textsf{GAP}}

%% nicer description environments, allows long labels
\usepackage{enumitem}
\setdescription{style=nextline}

%% depth of toc
\setcounter{tocdepth}{1}



\usepackage[pdftex]{graphicx}

%% command for ColorPrompt style examples
\newcommand{\gapprompt}[1]{\color{promptColor}{\bfseries #1}}
\newcommand{\gapbrkprompt}[1]{\color{brkpromptColor}{\bfseries #1}}
\newcommand{\gapinput}[1]{\color{gapinputColor}{#1}}


\begin{document}

\logpage{[ 0, 0, 0 ]}
\begin{titlepage}
\mbox{}\vfill

\begin{center}{\maintitlesize \textbf{\textsf{PrimGrp}\mbox{}}}\\
\vfill

\hypersetup{pdftitle=\textsf{PrimGrp}}
\markright{\scriptsize \mbox{}\hfill \textsf{PrimGrp} \hfill\mbox{}}
{\Huge \textbf{\textsf{GAP} Primitive Permutation Groups Library\mbox{}}}\\
\vfill

{\Huge Version 4.0.2\mbox{}}\\[1cm]
{26 December 2025\mbox{}}\\[1cm]
\mbox{}\\[2cm]
{\Large \textbf{Alexander Hulpke    \mbox{}}}\\
{\Large \textbf{Colva Roney\texttt{\symbol{45}}Dougal    \mbox{}}}\\
{\Large \textbf{Christopher Russell   \mbox{}}}\\
\hypersetup{pdfauthor=Alexander Hulpke    ; Colva Roney\texttt{\symbol{45}}Dougal    ; Christopher Russell   }
\end{center}\vfill

\mbox{}\\
{\mbox{}\\
\small \noindent \textbf{Alexander Hulpke    }  Email: \href{mailto://hulpke@math.colostate.edu} {\texttt{hulpke@math.colostate.edu}}\\
  Homepage: \href{https://www.math.colostate.edu/~hulpke/} {\texttt{https://www.math.colostate.edu/\texttt{\symbol{126}}hulpke/}}\\
  Address: \begin{minipage}[t]{8cm}\noindent
 Department of Mathematics\\
 Colorado State University\\
 Fort Collins, CO, 80523\texttt{\symbol{45}}1874, USA \end{minipage}
}\\
{\mbox{}\\
\small \noindent \textbf{Colva Roney\texttt{\symbol{45}}Dougal    }  Email: \href{mailto://colva.roney-dougal@st-andrews.ac.uk} {\texttt{colva.roney\texttt{\symbol{45}}dougal@st\texttt{\symbol{45}}andrews.ac.uk}}\\
  Homepage: \href{http://www-groups.mcs.st-and.ac.uk/~colva/} {\texttt{http://www\texttt{\symbol{45}}groups.mcs.st\texttt{\symbol{45}}and.ac.uk/\texttt{\symbol{126}}colva/}}\\
  Address: \begin{minipage}[t]{8cm}\noindent
 School of Mathematics and Statistics\\
 University of St Andrews\\
 North Haugh, St Andrews\\
 Fife, KY16 9SXS Scotland \end{minipage}
}\\
{\mbox{}\\
\small \noindent \textbf{Christopher Russell   }  Email: \href{mailto://cr66@st-andrews.ac.uk} {\texttt{cr66@st\texttt{\symbol{45}}andrews.ac.uk}}\\
  Address: \begin{minipage}[t]{8cm}\noindent
 School of Mathematics and Statistics\\
 University of St Andrews\\
 North Haugh, St Andrews\\
 Fife, KY16 9SXS Scotland \end{minipage}
}\\
\end{titlepage}

\newpage\setcounter{page}{2}
{\small 
\section*{Abstract}
\logpage{[ 0, 0, 1 ]}
 \index{SCSCP package@\textsf{PrimGrp} package} The \textsf{GAP} package \textsf{PrimGrp} provides the library of primitive permutation groups which includes, up to
permutation isomorphism (i.e., up to conjugacy in the corresponding symmetric
group), all primitive permutation groups of degree {\textless} 4096. \mbox{}}\\[1cm]
{\small 
\section*{Copyright}
\logpage{[ 0, 0, 2 ]}
 {\copyright} 2007\texttt{\symbol{45}}2025 by Alexander Hulpke and Colva
Roney\texttt{\symbol{45}}Dougal

 \textsf{PrimGrp} is free software; you can redistribute it and/or modify it under the terms of
the GNU General Public License as published by the Free Software Foundation;
either version 2 of the License, or (at your option) any later version. For
details, see the FSF's own site \href{https://www.gnu.org/licenses/gpl.html} {\texttt{https://www.gnu.org/licenses/gpl.html}}. 

 If you obtained \textsf{PrimGrp}, we would be grateful for a short notification sent to one of the authors. 

 If you publish a result which was partially obtained with the usage of \textsf{PrimGrp}, please cite it in the following form: 

 A. Hulpke, C. Roney\texttt{\symbol{45}}Dougal, C. Russell. \emph{PrimGrp \texttt{\symbol{45}}\texttt{\symbol{45}}\texttt{\symbol{45}} GAP
Primitive Permutation Groups Library, Version 4.0.2;} 2025 (\href{https://gap-packages.github.io/primgrp/} {\texttt{https://gap\texttt{\symbol{45}}packages.github.io/primgrp/}}). \mbox{}}\\[1cm]
{\small 
\section*{Acknowledgements}
\logpage{[ 0, 0, 3 ]}
 The conversion of the \textsf{GAP} database of primitive permutation groups to a separate \textsf{GAP} package has been supported by the EPSRC Collaborative Computational Project
EP/M022641/1 CoDiMa (CCP in the area of Computational Discrete Mathematics), \href{https://www.codima.ac.uk/} {\texttt{https://www.codima.ac.uk/}}. \mbox{}}\\[1cm]
\newpage

\def\contentsname{Contents\logpage{[ 0, 0, 4 ]}}

\tableofcontents
\newpage

 
\chapter{\textcolor{Chapter }{Primitive Permutation Groups}}\label{prim}
\logpage{[ 1, 0, 0 ]}
\hyperdef{L}{X7AE00EA7791F2574}{}
{
  
\section{\textcolor{Chapter }{Primitive Permutation Groups}}\label{Primitive Permutation Groups}
\logpage{[ 1, 1, 0 ]}
\hyperdef{L}{X7AE00EA7791F2574}{}
{
  \textsf{GAP} contains a library of primitive permutation groups which includes, up to
permutation isomorphism (i.e., up to conjugacy in the corresponding symmetric
group), all primitive permutation groups of degree $<{\nobreakspace}4096$, calculated in \cite{RoneyDougal05} and \cite{CRDQ11}, in particular, 
\begin{itemize}
\item  the primitive permutation groups up to degree{\nobreakspace}50, calculated by
C.{\nobreakspace}Sims, 
\item  the primitive groups with insoluble socles of degree $<{\nobreakspace}1000$ as calculated in \cite{DixonMortimer88}, 
\item  the solvable (hence affine) primitive permutation groups of degree $<{\nobreakspace}256$ as calculated by M.{\nobreakspace}Short \cite{Sho92}, 
\item  some insolvable affine primitive permutation groups of degree $<{\nobreakspace}256$ as calculated in \cite{Theissen97}. 
\item  The solvable primitive groups of degree up to $999$ as calculated in \cite{EickHoefling02}. 
\item  The primitive groups of affine type of degree up to $999$ as calculated in \cite{RoneyDougal02}. 
\end{itemize}
 

 Not all groups are named, those which do have names use ATLAS notation. Not
all names are necessarily unique! 

 The list given in \cite{RoneyDougal05} is believed to be complete, correcting various omissions in \cite{DixonMortimer88}, \cite{Sho92} and \cite{Theissen97}. 

 In detail, we guarantee the following properties for this and further versions
(but \emph{not} versions which came before \textsf{GAP}{\nobreakspace}4.2) of the library: 

 
\begin{itemize}
\item  All groups in the library are primitive permutation groups of the indicated
degree. 
\item  The positions of the groups in the library are stable. That is \texttt{PrimitiveGroup(\mbox{\texttt{\mdseries\slshape n}},\mbox{\texttt{\mdseries\slshape nr}})} will always give you a permutation isomorphic group. Note however that we do
not guarantee to keep the chosen $S_n$\texttt{\symbol{45}}representative, the generating set or the name for
eternity. 
\item  Different groups in the library are not conjugate in $S_n$. 
\item  If a group in the library has a primitive subgroup with the same socle, this
group is in the library as well. 
\end{itemize}
 

 (Note that the arrangement of groups is not guaranteed to be in increasing
size, though it holds for many degrees.) 

 The selection functions (see{\nobreakspace} (\textbf{Reference: Selection Functions})) for the primitive groups library are \texttt{AllPrimitiveGroups} and \texttt{OnePrimitiveGroup}. They obtain the following properties from the database without having to
compute them anew: 

 \texttt{NrMovedPoints} (\textbf{Reference: NrMovedPoints for a list or collection of permutations}), \texttt{Size} (\textbf{Reference: Size}), \texttt{Transitivity} (\textbf{Reference: Transitivity for a group and an action domain}), \texttt{ONanScottType} (\textbf{Reference: ONanScottType}), \texttt{IsSimpleGroup} (\textbf{Reference: IsSimpleGroup}), \texttt{IsSolvableGroup} (\textbf{Reference: IsSolvableGroup}), and \texttt{SocleTypePrimitiveGroup} (\textbf{Reference: SocleTypePrimitiveGroup}). 

 (Note, that for groups of degree up to 2499, O'Nan\texttt{\symbol{45}}Scott
types 4a, 4b and 5 cannot occur.) 

\subsection{\textcolor{Chapter }{PrimitiveGroupsAvailable}}
\logpage{[ 1, 1, 1 ]}\nobreak
\hyperdef{L}{X81BDF8CA7CCBFC95}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{PrimitiveGroupsAvailable({\mdseries\slshape deg})\index{PrimitiveGroupsAvailable@\texttt{PrimitiveGroupsAvailable}}
\label{PrimitiveGroupsAvailable}
}\hfill{\scriptsize (function)}}\\


 To offer a clearer interface to the primitive groups library, this function
checks whether the primitive groups of degree \mbox{\texttt{\mdseries\slshape deg}} are available. }

 

\subsection{\textcolor{Chapter }{PrimitiveGroup}}
\logpage{[ 1, 1, 2 ]}\nobreak
\hyperdef{L}{X7BCEA0C57B6D9F42}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{PrimitiveGroup({\mdseries\slshape deg, nr})\index{PrimitiveGroup@\texttt{PrimitiveGroup}}
\label{PrimitiveGroup}
}\hfill{\scriptsize (function)}}\\


 returns the primitive permutation group of degree \mbox{\texttt{\mdseries\slshape deg}} with number \mbox{\texttt{\mdseries\slshape nr}} from the list. 

 The arrangement of the groups of degrees not greater than 50 differs from the
arrangement of primitive groups in the list of C.{\nobreakspace}Sims, which
was used in \textsf{GAP}{\nobreakspace}3. See \texttt{SimsNo} (\ref{SimsNo}). }

 

\subsection{\textcolor{Chapter }{NrPrimitiveGroups}}
\logpage{[ 1, 1, 3 ]}\nobreak
\hyperdef{L}{X8564FECC8477F199}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{NrPrimitiveGroups({\mdseries\slshape deg})\index{NrPrimitiveGroups@\texttt{NrPrimitiveGroups}}
\label{NrPrimitiveGroups}
}\hfill{\scriptsize (function)}}\\


 returns the number of primitive permutation groups of degree \mbox{\texttt{\mdseries\slshape deg}} in the library. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@NrPrimitiveGroups(25);|
  28
  !gapprompt@gap>| !gapinput@PrimitiveGroup(25,19);|
  5^2:((Q(8):3)'4)
  !gapprompt@gap>| !gapinput@PrimitiveGroup(25,20);|
  ASL(2, 5)
  !gapprompt@gap>| !gapinput@PrimitiveGroup(25,22);|
  AGL(2, 5)
  !gapprompt@gap>| !gapinput@PrimitiveGroup(25,23);|
  (A(5) x A(5)):2
\end{Verbatim}
 }

 

\subsection{\textcolor{Chapter }{AllPrimitiveGroups}}
\logpage{[ 1, 1, 4 ]}\nobreak
\hyperdef{L}{X86EF380E8007D304}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{AllPrimitiveGroups({\mdseries\slshape attr1, val1, attr2, val2, ...})\index{AllPrimitiveGroups@\texttt{AllPrimitiveGroups}}
\label{AllPrimitiveGroups}
}\hfill{\scriptsize (function)}}\\


 This is a selection function which permits to select all groups from the
Primitive Group Library that have a given set of properties. It accepts
arguments as specified in Section  (\textbf{Reference: Selection Functions}) of the \textsf{GAP} reference manual. }

 

\subsection{\textcolor{Chapter }{OnePrimitiveGroup}}
\logpage{[ 1, 1, 5 ]}\nobreak
\hyperdef{L}{X82870C177DB70470}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{OnePrimitiveGroup({\mdseries\slshape attr1, val1, attr2, val2, ...})\index{OnePrimitiveGroup@\texttt{OnePrimitiveGroup}}
\label{OnePrimitiveGroup}
}\hfill{\scriptsize (function)}}\\


 This is a selection function which permits to select at most one group from
the Primitive Group Library that have a given set of properties. It accepts
arguments as specified in Section  (\textbf{Reference: Selection Functions}) of the \textsf{GAP} reference manual. }

 

\subsection{\textcolor{Chapter }{PrimitiveGroupsIterator}}
\logpage{[ 1, 1, 6 ]}\nobreak
\hyperdef{L}{X7B1D4C0483A7F444}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{PrimitiveGroupsIterator({\mdseries\slshape attr1, val1, attr2, val2, ...})\index{PrimitiveGroupsIterator@\texttt{PrimitiveGroupsIterator}}
\label{PrimitiveGroupsIterator}
}\hfill{\scriptsize (function)}}\\


 returns an iterator through \texttt{AllPrimitiveGroups(\mbox{\texttt{\mdseries\slshape attr1}},\mbox{\texttt{\mdseries\slshape val1}},\mbox{\texttt{\mdseries\slshape attr2}},\mbox{\texttt{\mdseries\slshape val2}},...)} without creating all these groups at the same time. }

 

\subsection{\textcolor{Chapter }{COHORTS{\textunderscore}PRIMITIVE{\textunderscore}GROUPS}}
\logpage{[ 1, 1, 7 ]}\nobreak
\hyperdef{L}{X81329B9B7F5FF8DE}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{COHORTS{\textunderscore}PRIMITIVE{\textunderscore}GROUPS\index{COHORTS{\textunderscore}PRIMITIVE{\textunderscore}GROUPS@\texttt{COH}\-\texttt{O}\-\texttt{R}\-\texttt{T}\-\texttt{S{\textunderscore}}\-\texttt{P}\-\texttt{R}\-\texttt{I}\-\texttt{M}\-\texttt{I}\-\texttt{T}\-\texttt{I}\-\texttt{V}\-\texttt{E{\textunderscore}}\-\texttt{G}\-\texttt{R}\-\texttt{OUPS}}
\label{COHORTSuScorePRIMITIVEuScoreGROUPS}
}\hfill{\scriptsize (global variable)}}\\


 In \cite{DixonMortimer88} the primitive groups are sorted in ``cohorts'' according to their socle. For each degree less than 2500, the variable \texttt{COHORTS{\textunderscore}PRIMITIVE{\textunderscore}GROUPS} (\ref{COHORTSuScorePRIMITIVEuScoreGROUPS}) contains a list of the cohorts for the primitive groups of this degree. Each
cohort is represented by a list of length 2, the first entry specifies the
socle type (see \texttt{SocleTypePrimitiveGroup} (\textbf{Reference: SocleTypePrimitiveGroup})), the second entry listing the index numbers of the groups in this degree. 

 For example in degree 49, we have four cohorts with socles $({\ensuremath{\mathbb Z}} / 7 {\ensuremath{\mathbb Z}})^2$, $L_2(7)^2$, $A_7^2$ and $A_{49}$ respectively. the group \texttt{PrimitiveGroup(49,36)}, which is isomorphic to $(A_7 \times A_7):2^2$, lies in the third cohort with socle $(A_7 \times A_7)$. 

 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@COHORTS_PRIMITIVE_GROUPS[49];|
  [ [ rec( parameter := 7, series := "Z", width := 2 ), 
        [ 1, 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 ] ], 
    [ rec( parameter := [ 2, 7 ], series := "L", width := 2 ), [ 34 ] ], 
    [ rec( parameter := 7, series := "A", width := 2 ), [ 35, 36, 37, 38 ] ], 
    [ rec( parameter := 49, series := "A", width := 1 ), [ 39, 40 ] ] ]
\end{Verbatim}
 }

 }

  
\section{\textcolor{Chapter }{Index numbers of primitive groups}}\label{Index numbers of primitive groups}
\logpage{[ 1, 2, 0 ]}
\hyperdef{L}{X7DA239CC848F6CAE}{}
{
  

\subsection{\textcolor{Chapter }{PrimitiveIdentification}}
\logpage{[ 1, 2, 1 ]}\nobreak
\hyperdef{L}{X870400597FD4E392}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{PrimitiveIdentification({\mdseries\slshape G})\index{PrimitiveIdentification@\texttt{PrimitiveIdentification}}
\label{PrimitiveIdentification}
}\hfill{\scriptsize (attribute)}}\\


 For a primitive permutation group for which an $S_n$\texttt{\symbol{45}}conjugate exists in the library of primitive permutation
groups (see{\nobreakspace}\ref{Primitive Permutation Groups}), this attribute returns the index position. That is \mbox{\texttt{\mdseries\slshape G}} is conjugate to \texttt{PrimitiveGroup(NrMovedPoints(\mbox{\texttt{\mdseries\slshape G}}),PrimitiveIdentification(\mbox{\texttt{\mdseries\slshape G}}))}. 

 Methods only exist if the primitive groups library is installed. 

 Note: As this function uses the primitive groups library, the result is only
guaranteed to the same extent as this library. If it is incomplete, \texttt{PrimitiveIdentification} might return an existing index number for a group not in the library. 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@PrimitiveIdentification(Group((1,2),(1,2,3)));|
  2
\end{Verbatim}
 }

 

\subsection{\textcolor{Chapter }{SimsNo}}
\logpage{[ 1, 2, 2 ]}\nobreak
\hyperdef{L}{X790D50447ABDF7EE}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{SimsNo({\mdseries\slshape G})\index{SimsNo@\texttt{SimsNo}}
\label{SimsNo}
}\hfill{\scriptsize (attribute)}}\\


 If \mbox{\texttt{\mdseries\slshape G}} is a primitive group of degree not greater than 50, obtained by \texttt{PrimitiveGroup} (\ref{PrimitiveGroup}) (respectively one of the selection functions), then this attribute contains
the number of the isomorphic group in the original list of
C.{\nobreakspace}Sims. (This is the arrangement as it was used in \textsf{GAP}{\nobreakspace}3.) 

 
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
  !gapprompt@gap>| !gapinput@g:=PrimitiveGroup(25,2);|
  5^2:S(3)
  !gapprompt@gap>| !gapinput@SimsNo(g);|
  3
\end{Verbatim}
 

 As mentioned in the previous section, the index numbers of primitive groups in \textsf{GAP} are guaranteed to remain stable. (Thus, missing groups will be added to the
library at the end of each degree.) In particular, it is safe to refer to a
primitive group of type \mbox{\texttt{\mdseries\slshape deg}}, \mbox{\texttt{\mdseries\slshape nr}} in the \textsf{GAP} library. }

 

\subsection{\textcolor{Chapter }{PRIMITIVE{\textunderscore}INDICES{\textunderscore}MAGMA}}
\logpage{[ 1, 2, 3 ]}\nobreak
\hyperdef{L}{X784820DA86D0E6F4}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{PRIMITIVE{\textunderscore}INDICES{\textunderscore}MAGMA\index{PRIMITIVE{\textunderscore}INDICES{\textunderscore}MAGMA@\texttt{PRI}\-\texttt{M}\-\texttt{I}\-\texttt{T}\-\texttt{I}\-\texttt{V}\-\texttt{E{\textunderscore}}\-\texttt{I}\-\texttt{N}\-\texttt{D}\-\texttt{I}\-\texttt{C}\-\texttt{E}\-\texttt{S{\textunderscore}}\-\texttt{M}\-\texttt{AGMA}}
\label{PRIMITIVEuScoreINDICESuScoreMAGMA}
}\hfill{\scriptsize (global variable)}}\\


 The system \textsf{Magma} also provides a list of primitive groups (see \cite{RoneyDougal02}). For historical reasons, its indexing up to degree 999 differs from the one
used by \textsf{GAP}. The variable \texttt{PRIMITIVE{\textunderscore}INDICES{\textunderscore}MAGMA} (\ref{PRIMITIVEuScoreINDICESuScoreMAGMA}) can be used to obtain this correspondence. The magma index number of the \textsf{GAP} group \texttt{PrimitiveGroup(\mbox{\texttt{\mdseries\slshape deg}},\mbox{\texttt{\mdseries\slshape nr}})} is stored in the entry \texttt{PRIMITIVE{\textunderscore}INDICES{\textunderscore}MAGMA[\mbox{\texttt{\mdseries\slshape deg}}][\mbox{\texttt{\mdseries\slshape nr}}]}, for degree at most 999. 

 Vice versa, the group of degree \mbox{\texttt{\mdseries\slshape deg}} with \textsf{Magma} index number \mbox{\texttt{\mdseries\slshape nr}} has the \textsf{GAP} index 

 \texttt{Position(PRIMITIVE{\textunderscore}INDICES{\textunderscore}MAGMA[\mbox{\texttt{\mdseries\slshape deg}}],\mbox{\texttt{\mdseries\slshape nr}})}, in particular it can be obtained by the \textsf{GAP} command 

 \texttt{PrimitiveGroup(\mbox{\texttt{\mdseries\slshape deg}},Position(PRIMITIVE{\textunderscore}INDICES{\textunderscore}MAGMA[\mbox{\texttt{\mdseries\slshape deg}}],\mbox{\texttt{\mdseries\slshape nr}}));} }

 }

 }

 
\chapter{\textcolor{Chapter }{Irreducible Matrix Groups}}\label{irredsol}
\logpage{[ 2, 0, 0 ]}
\hyperdef{L}{X78C56BAA804A56A1}{}
{
   
\section{\textcolor{Chapter }{Irreducible Solvable Matrix Groups}}\label{Irreducible Solvable Matrix Groups}
\logpage{[ 2, 1, 0 ]}
\hyperdef{L}{X82FD673384BF353B}{}
{
  

\subsection{\textcolor{Chapter }{IrreducibleSolvableGroupMS}}
\logpage{[ 2, 1, 1 ]}\nobreak
\hyperdef{L}{X7DF4B4D683A727E8}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IrreducibleSolvableGroupMS({\mdseries\slshape n, p, i})\index{IrreducibleSolvableGroupMS@\texttt{IrreducibleSolvableGroupMS}}
\label{IrreducibleSolvableGroupMS}
}\hfill{\scriptsize (function)}}\\


 This function returns a representative of the \mbox{\texttt{\mdseries\slshape i}}\texttt{\symbol{45}}th conjugacy class of irreducible solvable subgroup of GL(\mbox{\texttt{\mdseries\slshape n}}, \mbox{\texttt{\mdseries\slshape p}}), where \mbox{\texttt{\mdseries\slshape n}} is an integer $> 1$, \mbox{\texttt{\mdseries\slshape p}} is a prime, and $\mbox{\texttt{\mdseries\slshape p}}^{\mbox{\texttt{\mdseries\slshape n}}} < 256$. 

 The numbering of the representatives should be considered arbitrary. However,
it is guaranteed that the \mbox{\texttt{\mdseries\slshape i}}\texttt{\symbol{45}}th group on this list will lie in the same conjugacy class
in all future versions of \textsf{GAP}, unless two (or more) groups on the list are discovered to be duplicates, in
which case \texttt{IrreducibleSolvableGroupMS} will return \texttt{fail} for all but one of the duplicates. 

 For values of \mbox{\texttt{\mdseries\slshape n}}, \mbox{\texttt{\mdseries\slshape p}}, and \mbox{\texttt{\mdseries\slshape i}} admissible to \texttt{IrreducibleSolvableGroup} (\ref{IrreducibleSolvableGroup}), \texttt{IrreducibleSolvableGroupMS} returns a representative of the same conjugacy class of subgroups of GL(\mbox{\texttt{\mdseries\slshape n}}, \mbox{\texttt{\mdseries\slshape p}}) as \texttt{IrreducibleSolvableGroup} (\ref{IrreducibleSolvableGroup}). Note that it currently adds two more groups (missing from the original list
by Mark Short) for \mbox{\texttt{\mdseries\slshape n}} $= 2$, \mbox{\texttt{\mdseries\slshape p}} $= 13$. }

 

\subsection{\textcolor{Chapter }{NumberIrreducibleSolvableGroups}}
\logpage{[ 2, 1, 2 ]}\nobreak
\hyperdef{L}{X836AEF4A7E494724}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{NumberIrreducibleSolvableGroups({\mdseries\slshape n, p})\index{NumberIrreducibleSolvableGroups@\texttt{NumberIrreducibleSolvableGroups}}
\label{NumberIrreducibleSolvableGroups}
}\hfill{\scriptsize (function)}}\\


 This function returns the number of conjugacy classes of irreducible solvable
subgroup of GL(\mbox{\texttt{\mdseries\slshape n}}, \mbox{\texttt{\mdseries\slshape p}}). }

 

\subsection{\textcolor{Chapter }{AllIrreducibleSolvableGroups}}
\logpage{[ 2, 1, 3 ]}\nobreak
\hyperdef{L}{X7DAC64F17C8B49A2}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{AllIrreducibleSolvableGroups({\mdseries\slshape func1, val1, func2, val2, ...})\index{AllIrreducibleSolvableGroups@\texttt{AllIrreducibleSolvableGroups}}
\label{AllIrreducibleSolvableGroups}
}\hfill{\scriptsize (function)}}\\


 This function returns a list of conjugacy class representatives $G$ of matrix groups over a prime field such that $f(G) = v$ or $f(G) \in v$, for all pairs $(f,v)$ in (\mbox{\texttt{\mdseries\slshape func1}}, \mbox{\texttt{\mdseries\slshape val1}}), (\mbox{\texttt{\mdseries\slshape func2}}, \mbox{\texttt{\mdseries\slshape val2}}), $\ldots$. The following possibilities for the functions $f$ are particularly efficient, because the values can be read off the information
in the data base: \texttt{DegreeOfMatrixGroup} (or \texttt{Dimension} (\textbf{Reference: Dimension}) or \texttt{DimensionOfMatrixGroup} (\textbf{Reference: DimensionOfMatrixGroup})) for the linear degree, \texttt{Characteristic} (\textbf{Reference: Characteristic}) for the field characteristic, \texttt{Size} (\textbf{Reference: Size}), \texttt{IsPrimitiveMatrixGroup} (or \texttt{IsLinearlyPrimitive}), and \texttt{MinimalBlockDimension}{\textgreater}. }

 

\subsection{\textcolor{Chapter }{OneIrreducibleSolvableGroup}}
\logpage{[ 2, 1, 4 ]}\nobreak
\hyperdef{L}{X844E60B87FC48D1B}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{OneIrreducibleSolvableGroup({\mdseries\slshape func1, val1, func2, val2, ...})\index{OneIrreducibleSolvableGroup@\texttt{OneIrreducibleSolvableGroup}}
\label{OneIrreducibleSolvableGroup}
}\hfill{\scriptsize (function)}}\\


 This function returns one solvable subgroup $G$ of a matrix group over a prime field such that $f(G) = v$ or $f(G) \in v$, for all pairs $(f,v)$ in (\mbox{\texttt{\mdseries\slshape func1}}, \mbox{\texttt{\mdseries\slshape val1}}), (\mbox{\texttt{\mdseries\slshape func2}}, \mbox{\texttt{\mdseries\slshape val2}}), $\ldots$. The following possibilities for the functions $f$ are particularly efficient, because the values can be read off the information
in the data base: \texttt{DegreeOfMatrixGroup} (or \texttt{Dimension} (\textbf{Reference: Dimension}) or \texttt{DimensionOfMatrixGroup} (\textbf{Reference: DimensionOfMatrixGroup})) for the linear degree, \texttt{Characteristic} (\textbf{Reference: Characteristic}) for the field characteristic, \texttt{Size} (\textbf{Reference: Size}), \texttt{IsPrimitiveMatrixGroup} (or \texttt{IsLinearlyPrimitive}), and \texttt{MinimalBlockDimension}{\textgreater}. }

 

\subsection{\textcolor{Chapter }{PrimitiveIndexIrreducibleSolvableGroup}}
\logpage{[ 2, 1, 5 ]}\nobreak
\hyperdef{L}{X81B11EE77EFA745E}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{PrimitiveIndexIrreducibleSolvableGroup\index{PrimitiveIndexIrreducibleSolvableGroup@\texttt{Primitive}\-\texttt{Index}\-\texttt{Irreducible}\-\texttt{Solvable}\-\texttt{Group}}
\label{PrimitiveIndexIrreducibleSolvableGroup}
}\hfill{\scriptsize (global variable)}}\\


 This variable provides a way to get from irreducible solvable groups to
primitive groups and vice versa. For the group $G$ = \texttt{IrreducibleSolvableGroup( \mbox{\texttt{\mdseries\slshape n}}, \mbox{\texttt{\mdseries\slshape p}}, \mbox{\texttt{\mdseries\slshape k}} )} and $d = p^n$, the entry \texttt{PrimitiveIndexIrreducibleSolvableGroup[d][i]} gives the index number of the semidirect product $p^n:G$ in the library of primitive groups. 

 Searching for an index in this list with \texttt{Position} (\textbf{Reference: Position}) gives the translation in the other direction. }

 

\subsection{\textcolor{Chapter }{IrreducibleSolvableGroup}}
\logpage{[ 2, 1, 6 ]}\nobreak
\hyperdef{L}{X816FF4DD8267B4A7}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IrreducibleSolvableGroup({\mdseries\slshape n, p, i})\index{IrreducibleSolvableGroup@\texttt{IrreducibleSolvableGroup}}
\label{IrreducibleSolvableGroup}
}\hfill{\scriptsize (function)}}\\


 This function is obsolete, because for \mbox{\texttt{\mdseries\slshape n}} $= 2$, \mbox{\texttt{\mdseries\slshape p}} $= 13$, two groups were missing from the underlying database. It has been replaced
by the function \texttt{IrreducibleSolvableGroupMS} (\ref{IrreducibleSolvableGroupMS}). Please note that the latter function does not guarantee any ordering of the
groups in the database. However, for values of \mbox{\texttt{\mdseries\slshape n}}, \mbox{\texttt{\mdseries\slshape p}}, and \mbox{\texttt{\mdseries\slshape i}} admissible to \texttt{IrreducibleSolvableGroup}, \texttt{IrreducibleSolvableGroupMS} (\ref{IrreducibleSolvableGroupMS}) returns a representative of the same conjugacy class of subgroups of GL(\mbox{\texttt{\mdseries\slshape n}}, \mbox{\texttt{\mdseries\slshape p}}) as \texttt{IrreducibleSolvableGroup} did before. }

 }

 }

 \def\bibname{References\logpage{[ "Bib", 0, 0 ]}
\hyperdef{L}{X7A6F98FD85F02BFE}{}
}

\bibliographystyle{alpha}
\bibliography{manualbib.xml}

\addcontentsline{toc}{chapter}{References}

\def\indexname{Index\logpage{[ "Ind", 0, 0 ]}
\hyperdef{L}{X83A0356F839C696F}{}
}

\cleardoublepage
\phantomsection
\addcontentsline{toc}{chapter}{Index}


\printindex

\immediate\write\pagenrlog{["Ind", 0, 0], \arabic{page},}
\newpage
\immediate\write\pagenrlog{["End"], \arabic{page}];}
\immediate\closeout\pagenrlog
\end{document}