% 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{amsmath}
%% 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{ SmallClassNr \mbox{}}} \\
\vfill
\hypersetup{pdftitle= SmallClassNr }
\markright{ \scriptsize \mbox{} \hfill SmallClassNr \hfill\mbox{}}
{ \Huge \textbf{ Library of finite groups with small class number \mbox{}}} \\
\vfill
{ \Huge 1. 4. 2 \mbox{}} \\[ 1cm]
{ 11 October 2025 \mbox{}} \\[ 1cm]
\mbox{} \\[ 2cm]
{ \Large \textbf{ Sam Tertooy \\
\mbox{}}} \\
\hypersetup{pdfauthor= Sam Tertooy \\
}
\end{center} \vfill
\mbox{} \\
{ \mbox{} \\
\small \noindent \textbf{ Sam Tertooy \\
} Email: \href{mailto://sam.tertooy@kuleuven.be} { \texttt{sam.tertooy@kuleuven.be}} \\
Homepage: \href{ https://stertooy.github.io/} { \texttt{https://stertooy.github.io/} }\\
Address: \begin{minipage}[t]{8cm}\noindent
Wiskunde\\
KU Leuven, Kulak Kortrijk Campus\\
Etienne Sabbelaan 53\\
8500 Kortrijk\\
Belgium\\
\\
\end{minipage}
}\\
\end{titlepage}
\newpage\setcounter{page}{2}
{\small
\section*{Abstract}
\logpage{[ 0, 0, 1 ]}
The \textsf{SmallClassNr} package provides access to finite groups with small class number. Currently,
it contains the finite groups of class number at most 14. \mbox{}}\\[1cm]
{\small
\section*{Copyright}
\logpage{[ 0, 0, 2 ]}
{\copyright} 2022{\textendash}2025 Sam Tertooy
The \textsf{SmallClassNr} package is free software, it may be redistributed and/or modified under the
terms and conditions of the \href{ https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html} {GNU Public License Version 2} or (at your option) any later version. \mbox{}}\\[1cm]
{\small
\section*{Acknowledgements}
\logpage{[ 0, 0, 3 ]}
This documentation was created using the \textsf{GAPDoc} and \textsf{AutoDoc} packages. \mbox{}}\\[1cm]
\newpage
\def\contentsname{Contents\logpage{[ 0, 0, 4 ]}}
\tableofcontents
\newpage
\chapter{\textcolor{Chapter }{The SmallClassNr package}}\label{Chapter_The_PackageName_package}
\logpage{[ 1, 0, 0 ]}
\hyperdef{L}{X7EC4E71A8078695B}{}
{
This is the manual for the \textsf{GAP} 4 package \textsf{SmallClassNr} version 1.4.2, developed by Sam Tertooy.
\section{\textcolor{Chapter }{Installation}}\label{Chapter_The_PackageName_package_Section_Installation}
\logpage{[ 1, 1, 0 ]}
\hyperdef{L}{X8360C04082558A12}{}
{
If you are using \textsf{GAP} version 4.15.0 or newer, then \textsf{SmallClassNr} should be installed by default.
If this is not the case, but the \textsf{PackageManager} package is installed and loaded, you can install \textsf{SmallClassNr} from within a \textsf{GAP} session using \texttt{InstallPackage} (\textbf{PackageManager: InstallPackage}).
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
!gapprompt@gap>| !gapinput@InstallPackage( "SmallClassNr" );|
...
true
\end{Verbatim}
Alternatively, you can download \textsf{SmallClassNr} as a .tar.gz archive \href{https://github.com/stertooy/SmallClassNr/releases/download/v1.4.2/SmallClassNr-1.4.2.tar.gz} {here}. After extracting, you should place it in a suitable \texttt{pkg} folder. For example, on a Debian\texttt{\symbol{45}}based Linux distribution
(e.g. Ubuntu, Mint), you can place it in \texttt{\$HOME/.gap/pkg} (recommended) which makes it available for just yourself, or in the \textsf{GAP} installation directory (\texttt{gap\texttt{\symbol{45}}X.Y.Z/pkg}) which makes it available for all users.
You can use the following command to efficiently install the package for
yourself:
\begin{Verbatim}[commandchars=!@A,fontsize=\small,frame=single,label=Command]
wget -qO - https://[...].tar.gz | tar xzf - --one-top-level=$HOME/.gap/pkg
\end{Verbatim}
}
\section{\textcolor{Chapter }{Loading}}\label{Chapter_The_PackageName_package_Section_Loading}
\logpage{[ 1, 2, 0 ]}
\hyperdef{L}{X861ED1338181C66D}{}
{
Once installed, loading \textsf{SmallClassNr} can be done by using \texttt{LoadPackage} (\textbf{Reference: LoadPackage}).
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
!gapprompt@gap>| !gapinput@LoadPackage( "SmallClassNr" );|
...
true
\end{Verbatim}
}
\section{\textcolor{Chapter }{Citing}}\label{Chapter_The_PackageName_package_Section_Citing}
\logpage{[ 1, 3, 0 ]}
\hyperdef{L}{X7A178B0587668C3E}{}
{
If you use the \textsf{SmallClassNr} package in your research, we would love to hear about your work via an email
to the address \href{mailto://sam.tertooy@kuleuven.be} {\texttt{sam.tertooy@kuleuven.be}}. If you have used the \textsf{SmallClassNr} package in the preparation of a paper and wish to refer to it, please cite it
as described below.
In Bib{\TeX}:
\begin{Verbatim}[commandchars=!|B,fontsize=\small,frame=single,label=BibTeX]
@misc{SCN1.4.2,
author = {Tertooy, Sam},
title = {{SmallClassNr,
Library of finite groups with small class number,
Version 1.4.2}},
note = {GAP package},
year = {2025},
howpublished = {\url{https://stertooy.github.io/SmallClassNr}}
}
\end{Verbatim}
In Bib{\LaTeX}:
\begin{Verbatim}[commandchars=!|B,fontsize=\small,frame=single,label=BibLaTeX]
@software{SCN1.4.2,
author = {Tertooy, Sam},
title = {SmallClassNr},
subtitle = {Library of finite groups with small class number},
version = {1.4.2},
note = {GAP package},
year = {2025},
url = {https://stertooy.github.io/SmallClassNr}
}
\end{Verbatim}
}
\section{\textcolor{Chapter }{Support}}\label{Chapter_The_PackageName_package_Section_Support}
\logpage{[ 1, 4, 0 ]}
\hyperdef{L}{X7B689C0284AC4296}{}
{
If you encounter any problems, please submit them to the \href{https://github.com/stertooy/SmallClassNr/issues} {issue tracker}. If you have any questions on the usage or functionality of \textsf{SmallClassNr}, you may contact me via email at \href{mailto://sam.tertooy@kuleuven.be} {\texttt{sam.tertooy@kuleuven.be}}. }
}
\chapter{\textcolor{Chapter }{Classification}}\label{Chapter_Classification}
\logpage{[ 2, 0, 0 ]}
\hyperdef{L}{X8053C9E57C4C5F94}{}
{
The \emph{class number} $k(G)$ of a group $G$ is the number of conjugacy classes of $G$. In 1903, Landau proved in \cite{land03-a} that for every $n \in \mathbb{N}$, there are only finitely many finite groups with exactly $n$ conjugacy classes. The \textsf{SmallClassNr} package provides access to the finite groups with class number at most $14$.
These groups were classified in the following papers:
\begin{itemize}
\item $k(G) \leq 5$, by Miller in \cite{mill11-a} and independently by Burnside in \cite{burn11-a}
\item $k(G) = 6,7$, by Poland in \cite{pola68-a}
\item $k(G) = 8$, by Kosvintsev in \cite{kosv74-a}
\item $k(G) = 9$, by Odincov and Starostin in \cite{os76-a}
\item $k(G) = 10,11$, by Vera L{\a'o}pez and Vera L{\a'o}pez in \cite{ll85-a} (1)
\item $k(G) = 12$, by Vera L{\a'o}pez and Vera L{\a'o}pez in \cite{ll86-a} (2)
\item $k(G) = 13, 14$, by Vera L{\a'o}pez and Sangroniz in \cite{vs07-a}
\end{itemize}
(1) In \cite{ll85-a}, three distinct groups of the form $(C_5 \times C_5) \rtimes C_4$ order $100$ with class number $10$ are given. However, only two such groups exist, being the ones with \texttt{IdClassNr} equal to \texttt{[10,25]} and \texttt{[10,26]}.
(2) In \cite{ll86-a}, only 48 groups with class number 12 are listed. The three missing groups are
provided in the appendix of \cite{vs07-a}. These are the groups with \texttt{IdClassNr} equal to \texttt{[12,13]}, \texttt{[12,16]} and \texttt{[12,39]}. }
\chapter{\textcolor{Chapter }{The Small Class Number Library}}\label{Chapter_The_Small_Class_Number_Library}
\logpage{[ 3, 0, 0 ]}
\hyperdef{L}{X7D2B74F9802686C1}{}
{
\section{\textcolor{Chapter }{Functions}}\label{Chapter_The_Small_Class_Number_Library_Section_Functions}
\logpage{[ 3, 1, 0 ]}
\hyperdef{L}{X86FA580F8055B274}{}
{
\subsection{\textcolor{Chapter }{SmallClassNrGroup}}
\logpage{[ 3, 1, 1 ]}\nobreak
\hyperdef{L}{X7F0BD3117CA1B4FE}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{SmallClassNrGroup({\mdseries\slshape k, i})\index{SmallClassNrGroup@\texttt{SmallClassNrGroup}}
\label{SmallClassNrGroup}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
the \mbox{\texttt{\mdseries\slshape i}}\texttt{\symbol{45}}th finite group of class number \mbox{\texttt{\mdseries\slshape k}} in the library.
Alternatively, the pair \texttt{[ \mbox{\texttt{\mdseries\slshape k}}, \mbox{\texttt{\mdseries\slshape i}} ]} can be given as a single argument \mbox{\texttt{\mdseries\slshape id}}. If the group is solvable, it is given as a PcGroup whose Pcgs is a
SpecialPcgs. If the group is not solvable, it will be given as a permutation
group of minimal permutation degree and with a minimal generating set. }
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
!gapprompt@gap>| !gapinput@G := SmallClassNrGroup( 6, 4 );|
<pc group of size 18 with 3 generators>
!gapprompt@gap>| !gapinput@NrConjugacyClasses( G );|
6
!gapprompt@gap>| !gapinput@IsDihedralGroup( G );|
true
\end{Verbatim}
\subsection{\textcolor{Chapter }{SmallClassNrGroupsAvailable}}
\logpage{[ 3, 1, 2 ]}\nobreak
\hyperdef{L}{X79C6FA9D850D3AB1}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{SmallClassNrGroupsAvailable({\mdseries\slshape k})\index{SmallClassNrGroupsAvailable@\texttt{SmallClassNrGroupsAvailable}}
\label{SmallClassNrGroupsAvailable}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
\texttt{true} if the finite groups of class number \mbox{\texttt{\mdseries\slshape k}} are available in the library, and \texttt{false} otherwise.
}
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
!gapprompt@gap>| !gapinput@SmallClassNrGroupsAvailable( 14 );|
true
!gapprompt@gap>| !gapinput@SmallClassNrGroupsAvailable( 15 );|
false
\end{Verbatim}
\subsection{\textcolor{Chapter }{AllSmallClassNrGroups}}
\logpage{[ 3, 1, 3 ]}\nobreak
\hyperdef{L}{X87052993834D10C5}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{AllSmallClassNrGroups({\mdseries\slshape arg})\index{AllSmallClassNrGroups@\texttt{AllSmallClassNrGroups}}
\label{AllSmallClassNrGroups}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
all finite groups with certain properties as specified by \mbox{\texttt{\mdseries\slshape arg}}.
The arguments must come in pairs consisting of a function and a value (or list
of possible values). At least one of the functions must be \texttt{NrConjugacyClasses}. Missing functions will be interpreted as \texttt{NrConjugacyClasses}, missing values as \texttt{true}. }
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
!gapprompt@gap>| !gapinput@L1 := AllSmallClassNrGroups( [3..5], IsNilpotent );|
[ <pc group of size 3 with 1 generator>,
<pc group of size 4 with 2 generators>,
<pc group of size 4 with 2 generators>,
<pc group of size 5 with 1 generator>,
<pc group of size 8 with 3 generators>,
<pc group of size 8 with 3 generators> ]
!gapprompt@gap>| !gapinput@List( L1, NrConjugacyClasses );|
[ 3, 4, 4, 5, 5, 5 ]
!gapprompt@gap>| !gapinput@L2 := AllSmallClassNrGroups( IsSolvable, true, NrConjugacyClasses, 6 );|
[ <pc group of size 6 with 2 generators>,
<pc group of size 12 with 3 generators>,
<pc group of size 12 with 3 generators>,
<pc group of size 18 with 3 generators>,
<pc group of size 18 with 3 generators>,
<pc group of size 36 with 4 generators>,
<pc group of size 72 with 5 generators> ]
!gapprompt@gap>| !gapinput@ForAll( L2, G -> IsSolvable( G ) and NrConjugacyClasses( G ) = 6 );|
true
\end{Verbatim}
\subsection{\textcolor{Chapter }{OneSmallClassNrGroup}}
\logpage{[ 3, 1, 4 ]}\nobreak
\hyperdef{L}{X7AD22E3083C09796}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{OneSmallClassNrGroup({\mdseries\slshape arg})\index{OneSmallClassNrGroup@\texttt{OneSmallClassNrGroup}}
\label{OneSmallClassNrGroup}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
one finite group with certain properties as specified by \mbox{\texttt{\mdseries\slshape arg}}.
The arguments must come in pairs consisting of a function and a value (or list
of possible values). At least one of the functions must be \texttt{NrConjugacyClasses}. Missing functions will be interpreted as \texttt{NrConjugacyClasses}, missing values as \texttt{true}. }
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
!gapprompt@gap>| !gapinput@H := OneSmallClassNrGroup( 6, IsAbelian );|
<pc group of size 6 with 2 generators>
!gapprompt@gap>| !gapinput@IsCyclic( H );|
true
!gapprompt@gap>| !gapinput@K := OneSmallClassNrGroup( 10, IsSolvable, true, IsNilpotent, false );|
<pc group of size 28 with 3 generators>
!gapprompt@gap>| !gapinput@NrConjugacyClasses( K ) = 10 and IsSolvable( K ) and not IsNilpotent( K );|
true
\end{Verbatim}
\subsection{\textcolor{Chapter }{NrSmallClassNrGroups}}
\logpage{[ 3, 1, 5 ]}\nobreak
\hyperdef{L}{X84004D087859AF4F}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{NrSmallClassNrGroups({\mdseries\slshape arg})\index{NrSmallClassNrGroups@\texttt{NrSmallClassNrGroups}}
\label{NrSmallClassNrGroups}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
the number of finite groups with certain properties as specified by \mbox{\texttt{\mdseries\slshape arg}}.
The arguments must come in pairs consisting of a function and a value (or list
of possible values). At least one of the functions must be \texttt{NrConjugacyClasses}. Missing functions will be interpreted as \texttt{NrConjugacyClasses}, missing values as \texttt{true}. }
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
!gapprompt@gap>| !gapinput@NrSmallClassNrGroups( 14 );|
93
!gapprompt@gap>| !gapinput@NrSmallClassNrGroups( [3..5], IsNilpotentGroup );|
6
!gapprompt@gap>| !gapinput@NrSmallClassNrGroups( IsSolvable, true, NrConjugacyClasses, 6 );|
7
\end{Verbatim}
\subsection{\textcolor{Chapter }{IteratorSmallClassNrGroups}}
\logpage{[ 3, 1, 6 ]}\nobreak
\hyperdef{L}{X7D2BB4B379563D9A}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IteratorSmallClassNrGroups({\mdseries\slshape arg})\index{IteratorSmallClassNrGroups@\texttt{IteratorSmallClassNrGroups}}
\label{IteratorSmallClassNrGroups}
}\hfill{\scriptsize (function)}}\\
\textbf{\indent Returns:\ }
an iterator that iterates over the finite groups with properties as specified
by \mbox{\texttt{\mdseries\slshape arg}}. The arguments must come in pairs consisting of a function and a value (or
list of possible values). At least one of the functions must be \texttt{NrConjugacyClasses}. Missing functions will be interpreted as \texttt{NrConjugacyClasses}, missing values as \texttt{true}.
}
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
!gapprompt@gap>| !gapinput@iter := IteratorSmallClassNrGroups( IsSolvable, false, 11 );|
<iterator>
!gapprompt@gap>| !gapinput@for G in iter do Print( Size( G ), "\n" ); od;|
336
720
720
1344
1344
1512
2448
29120
\end{Verbatim}
\subsection{\textcolor{Chapter }{IdClassNr}}
\logpage{[ 3, 1, 7 ]}\nobreak
\hyperdef{L}{X8651368082BCE413}{}
{\noindent\textcolor{FuncColor}{$\triangleright$\enspace\texttt{IdClassNr({\mdseries\slshape G})\index{IdClassNr@\texttt{IdClassNr}}
\label{IdClassNr}
}\hfill{\scriptsize (attribute)}}\\
\textbf{\indent Returns:\ }
the \textsf{SmallClassNr} ID of \mbox{\texttt{\mdseries\slshape G}}, i.e. a pair \texttt{[ \mbox{\texttt{\mdseries\slshape k}}, \mbox{\texttt{\mdseries\slshape i}} ]} such that \mbox{\texttt{\mdseries\slshape G}} is isomorphic to \texttt{SmallClassNrGroup( \mbox{\texttt{\mdseries\slshape k}}, \mbox{\texttt{\mdseries\slshape i}} )}.
}
\begin{Verbatim}[commandchars=!@|,fontsize=\small,frame=single,label=Example]
!gapprompt@gap>| !gapinput@IdClassNr( AlternatingGroup( 5 ) );|
[ 5, 8 ]
!gapprompt@gap>| !gapinput@A := SmallClassNrGroup( 5, 8 );|
Group([ (1,2,3), (1,4,5) ])
!gapprompt@gap>| !gapinput@IsAlternatingGroup( A );|
true
\end{Verbatim}
}
}
\def\bibname{References\logpage{[ "Bib", 0, 0 ]}
\hyperdef{L}{X7A6F98FD85F02BFE}{}
}
\bibliographystyle{alpha}
\bibliography{manual.bib}
\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.7 Sekunden
¤
*© Formatika GbR, Deutschland
|
|