% 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. 1\mbox{}} \\[ 1cm]
{ 24 September 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 ; Chris topher 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.1;} 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}
¤ Dauer der Verarbeitung: 0.3 Sekunden
(vorverarbeitet am 2026-11-04)
¤
*© Formatika GbR, Deutschland
|
|