%
%
%   Chapter 2 : Finite subgroups of $\generalLinear(n,\integers)$
%
%

\chapter{Finite subgroups of $\generalLinear(n,\integers)$}
\label{sec : GLnZ}

Let $k$ be a global field, and let $X$ be a $k$-variety. At present we make no assumptions on the characteristic of $k$. If the geometric Picard group $\picardGroup X_{\separableClosure{k}}$ of $X$ is free and of finite rank $n$, then $\picardGroup X_{\separableClosure{k}} \isomorphism \integers^{n}$. If all classes of $\picardGroup X_{\separableClosure{k}}$ are defined over a finite Galois extension of the base field $k$, then the image of the representation
\begin{align*}
\rho
:
\galoisGroup(\separableClosure{k} \fieldExtension k)
\rightarrow
\automorphismGroup(\picardGroup X_{\separableClosure{k}})
\end{align*}
of the absolute Galois group is a finite subgroup of $\automorphismGroup(\picardGroup X_{\separableClosure{k}})$. If both conditions hold, then the image of $\rho$ is isomorphic to a finite subgroup of $\generalLinear(n,\integers)$.

Thus the study of Galois representations---in particular, the inverse Galois problem for varieties, as formulated in Questions \ref{q : Intro : Inverse Galois Problem For Varieties} and \ref{q : Intro : Inverse Brauer Problem} above---can lead to the study of finite subgroups of $\generalLinear(n,\integers)$. For some varieties $X$, much is known about how the geometry of $X$ restricts what finite subgroups are possible isomorphism classes of $\image \rho$. Such is the case for del Pezzo surfaces: If $X$ is a del Pezzo surface of degree $d \leq 6$, then $\image \rho$ is isomorphic to a subgroup of the Weyl group of a particular root system of rank $9 - d$ (see Section \ref{sec : dP1 : Definitions And Geometry}), which can be represented as a finite subgroup of $\generalLinear(n,\integers)$.

For other varieties, less is known about how the geometry restricts $\image \rho$. Such is currently the case for algebraic K3 surfaces. As a projective variety, an algebraic K3 surface has a hyperplane class defined over the base field $k$, which is therefore fixed by $\galoisGroup(\separableClosure{k} \fieldExtension k)$. Hence a subgroup of $\generalLinear(n,\integers)$ isomorphic to $\image \rho$ must have a nontrivial eigenspace associated to the eigenvalue $1$.

Our goal in this chapter is to enumerate the finite subgroups of $\generalLinear(n,\integers)$, up to $\integers$-conjugacy, and to compute their first cohomology groups. Once we have a presentation of a subgroup, procedures to compute its first cohomology group are well known% Begin footnote.
\footnote{For example, see \cite{Dummit2004}*{Section 17.2}.} % End footnote.
and have been implemented in computational algebra systems (for example, in Magma \cite{Magma}). It remains to enumerate the subgroups. A critical tool in our approach, discussed in Section \ref{sec : GLnZ : Computation} below, is an algorithm described in \cite{Brown1972i}. The framework of representation theory clarifies this algorithm.

In this chapter, we first present relevant aspects of representation theory and known results about finite subgroups of $\generalLinear(n,\integers)$. We then present an algorithm for computing all $\integers$-conjugacy classes of finite subgroups of $\generalLinear(n,\integers)$, followed by the results of our implementation of this algorithm. Specifically, for each rank $n$ from $1$ to $6$, we present the number of $\integers$-conjugacy classes of finite subgroups, and the first cohomology group for each class. We end by discussing possible enhancements to our implementation.



\section{Matrix representations}
\label{sec : GLnZ : Matrix Representations Over Z}

In this section, we discuss matrix representations, over $\integers$ and $\rationals$, of finite groups. Our main reference is \cite{Curtis1962}*{Section 73}. A survey of elementary representation theory appears in Appendix \ref{sec : GLnZ : Representation Theory}, which we take as given in what follows.

Throughout this section, let $G$ be a finite group, and let $M$ be a $(\integers G)$-module with a finite $\integers$-basis.



\subsection{Preliminaries}

Let $R$ be a principal ideal domain. (Think $R = \integers$ or $R = \rationals$.) An \fontDefWord{$R$-representation of $G$} is a matrix representation $\fontMatrixRep{T} : G \rightarrow \generalLinear(n,R)$ for some $n \in \integersPositive$. The value $n$ is called the \fontDefWord{degree} of $\fontMatrixRep{T}$. For $i \in \{1,2\}$, let $\fontMatrixRep{T}_{i} : G \rightarrow \generalLinear(n_{i},R)$ be an $R$-representation of $G$ of degree $n_{i}$. $\fontMatrixRep{T}_{1}$ and $\fontMatrixRep{T}_{2}$ are \fontDefWord{$R$-equivalent} or \fontDefWord{$R$-conjugate}, denoted $\fontMatrixRep{T}_{1} \sim_{R} \fontMatrixRep{T}_{2}$, if (1) $n_{1} = n_{2}$, denote it $n$; and (2) there exists an $\fontMatrixRep{S} \in \generalLinear(n,R)$ such that, for all $g \in G$,
\begin{align}
\fontMatrixRep{T}_{2}(g)
=
\fontMatrixRep{S} \fontMatrixRep{T}_{1}(g) \fontMatrixRep{S}^{-1}%
\label{eq : GLnZ : R Equivalent Matrix Representations}
\end{align}
We emphasize that the matrix $\fontMatrixRep{S}$ is the same for all $g \in G$. A matrix in $\generalLinear(n,R)$ for some $n \in \integersPositive$ is sometimes called \fontDefWord{unimodular over $R$}. We use the term \fontDefWord{$R$-conjugacy class} to indicate an $R$-equivalence class.

If $\fontMatrixRep{T}_{1} \sim_{\integers} \fontMatrixRep{T}_{2}$, then $\fontMatrixRep{T}_{1} \sim_{\rationals} \fontMatrixRep{T}_{2}$. The converse is false, as the following example shows.

\begin{example}
\label{exm : Cyclic Groups Order 2}
Consider the cyclic subgroups $\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2} \subgroupeq \generalLinear(2,\integers)$ of order $2$ generated by the elements
\begin{align*}
t_{1}
=
\begin{pmatrix}
1	&	0	\\
0	&	-1
\end{pmatrix}
&&
\text{and}
&&
t_{2}
=
\begin{pmatrix}
0	&	1	\\
1	&	0
\end{pmatrix}
\end{align*}
respectively. Then $\fontMatrixRep{T}_{1} \sim_{\rationals} \fontMatrixRep{T}_{2}$, as witnessed by conjugation% Begin footnote.
\footnote{Of either subgroup, with the inverse on either side.} % End footnote.
by
\begin{align*}
\fontMatrixRep{S}
=
\frac{1}{2}
\begin{pmatrix}
1	&	1	\\
1	&	-1
\end{pmatrix}
\end{align*}
However, $\fontMatrixRep{T}_{1} \not\sim_{\integers} \fontMatrixRep{T}_{2}$. To see this, let $\fontMatrixRep{T}_{1}$ and $\fontMatrixRep{T}_{2}$ act on $\integers^{2}$ by left-multiplication. We compute% Begin footnote.
\footnote{See Lemma \ref{lem : K3 : Cohomology Finite Cyclic Group} for the case of a general finite cyclic group, and Corollaries \ref{cor : K3 : Cohomology 100-1} and \ref{cor : K3 : Cohomology 0110} for the particular subgroups considered here.}% End footnote.
\begin{align*}
\cohomology[1]{\fontMatrixRep{T}_{1},\integers^{2}}
\isomorphism
\integers/2 \integers
&&
\text{whereas}
&&
\cohomology[1]{\fontMatrixRep{T}_{2},\integers^{2}}
\isomorphism
0
\end{align*}
Because group cohomology depends only on the $\integers$-conjugacy class of the group, it follows that $\fontMatrixRep{T}_{1} \not\sim_{\integers} \fontMatrixRep{T}_{2}$.
\end{example}

Fix a $(\integers G)$-module $M$ (with a finite $\integers$-basis, as per our running hypothesis), and let $n = \Rank_{\integers} M$. Such a module is equivalent to a representation $T : G \rightarrow \generalLinear(M)$, as explained in Section \ref{sec : Rep : From Representations To Modules}. Let $B_{1},B_{2}$ be any two $\integers$-bases of $M$. Then there exists a matrix $\fontMatrixRep{S} \in \generalLinear(n,\integers)$ such that the matrix representations $\fontMatrixRep{T}_{i}$ induced by $T$ and $B_{i}$ satisfy \eqref{eq : GLnZ : R Equivalent Matrix Representations}.% Begin footnote.
\footnote{This matrix $\fontMatrixRep{S}$ is the matrix $\fontMatrixRep{M}_{B_{1},B_{2}}(\identityMap_{M})$ defined in Section \ref{sec : Rep : Algebraic Structures}.} % End footnote.
We conclude that all $\integers$-representations afforded by a given $(\integers G)$-module are $\integers$-equivalent.

Given a $(\integers G)$-module $M$, define a $(\rationals G)$-module $M^{*} = \rationals \tensor[\integers] M$ with $G$-action
\begin{align*}
g \left(\sum_{i} a_{i} \tensor m_{i}\right)
=
\sum_{i} a_{i} \tensor (g m_{i})
\end{align*}
For any $\integers$-basis $B = (m_{1},\ldots,m_{n})$ of $M$, the sequence $B^{*} = (1 \tensor m_{1},\ldots,1 \tensor m_{n})$ is a $\rationals$-basis of $M^{*}$. Thus $\dim_{\rationals} M^{*} = \Rank_{\integers} M$. Moreover, the $\integers$-representation of $M$ induced by $B$ equals the $\rationals$-representation of $M^{*}$ induced by $B^{*}$. That is, each $\integers$-representation afforded by $M$ is also a $\rationals$-representation afforded by $M^{*}$. ($M^{*}$ may afford $\rationals$-representations that are not $\integers$-representations afforded by $M$.)

Let $M = \directSum_{i = 1}^{n} \integers m_{i}$ as before. Embed $M$ into $M^{*}$ by mapping $m_{i} \mapsto 1 \tensor m_{i}$ and extending by linearity to all of $M$. Under this identification, we write $M^{*} = \directSum_{i = 1}^{n} \rationals m_{i}$, or simply $M^{*} = \rationals M$. Thus $M$ determines $M^{*}$ up to $(\rationals G)$-isomorphism. However, as Example \ref{exm : Cyclic Groups Order 2} above shows, $M^{*}$ does not determine $M$, not even up to $(\integers G)$-isomorphism. In that direction, we have only the following: Let $M^{*}$ be a $(\rationals G)$-module with finite $\rationals$-basis. Then $M^{*}$ contains a $(\integers G)$-module $M$ such that $M^{*} = \rationals M$ and $\Rank_{\integers} M = \dim_{\rationals} M^{*}$. That is, every $\rationals$-representation of $G$ is $\rationals$-equivalent to a $\integers$-representation of $G$.

Let $M$ be a $\integers$-module with finite $\integers$-basis, embed $M$ in $M^{*}$ as above, and let $N \submoduleeq M$ be a $\integers$-submodule. Then $N$ has a finite $\integers$-basis, and $\dim_{\rationals} \rationals N = \Rank_{\integers} N$. In particular, $\rationals N = M^{*}$ if and only if $\Rank_{\integers} N = \Rank_{\integers} M$.

Let $N \submoduleeq M$ be a $\integers$-submodule. $N$ is \fontDefWord{pure} if for all $a \in \integers$, $a N = N \cap (a M)$.% Begin footnote.
\footnote{Note that the inclusion $a N \subseteq N \cap (a M)$ always holds. Thus $N$ is pure if for all $a \in \integers$, for all $m \in M$, if $a m \in N$, then there exists an $n \in N$ such that $a n = a m$.} % End footnote.

\begin{lemma}
\label{lem : GLnZ : Pure Submodule}
The following are equivalent:
\begin{enumerate}
\item $N$ is pure.
\item Every $\integers$-basis of $N$ extends to a $\integers$-basis of $M$.
\item There exists a $\integers$-submodule $N' \submoduleeq M$ such that $M = N \directSum N'$.
\end{enumerate}
\end{lemma}

\begin{remark}
\label{rmk : GLnZ : Pure Submodule Matrix Minors}
Let $M$ be a free $\integers$-module of finite rank $n$. In this setting, we may translate Lemma \ref{lem : GLnZ : Pure Submodule} into the language of matrices as follows: Let $m \leq n$, and let $v_{i} \in M$. Let $B$ be a $\integers$-basis of $M$, and let $\fontMatrixRep{M}_{B}(v_{i})$ denote the $n \times 1$ matrix representation of $v_{i}$ with respect to the basis $B$. The sequence $v_{1},\ldots,v_{m}$ can be extended to a basis of $M$ if and only if the greatest common divisor of all $m \times m$ minors of the $n \times m$ matrix $(\fontMatrixRep{M}_{B}(v_{i}))_{i = 1}^{m}$ is $1$.
\end{remark}

Let $U \subspaceeq \rationals M$ be a $\rationals$-subspace. Then $U \cap M$ is a pure $\integers$-submodule of $M$, and $\rationals (U \cap M) = U$.



\subsection{Composition factors}

$M$ is \fontDefWord{decomposable} if there exist two nontrivial (and, a posteriori, proper) submodules $N,N' \submoduleeq M$ such that $M = N \directSum N'$. $M$ is \fontDefWord{indecomposable} if it is not decomposable. $M$ is \fontDefWord{$\integers$-reducible} if there exists a nontrivial $(\integers G)$-submodule $N \submoduleeq M$ such that $\Rank_{\integers} N < \Rank_{\integers} M$. $M$ is \fontDefWord{$\integers$-irreducible} if $M \neq \{0\}$ and $M$ is not $\integers$-reducible. Translating to matrix representations, let $\fontMatrixRep{T}$ be a $\integers$-representation of $G$. $\fontMatrixRep{T}$ is \fontDefWord{$\integers$-reducible} if there exist $\integers$-representations $\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2}$ of $G$ such that
\begin{align*}
\fontMatrixRep{T}
\sim_{\integers}
\begin{bmatrix}
\fontMatrixRep{T}_{1}	&	*			\\
\fontMatrixRep{0}		&	\fontMatrixRep{T}_{2}
\end{bmatrix}
\end{align*}
and \fontDefWord{$\integers$-irreducible} otherwise.

Let $M$ be nontrivial, and let $M^{*} = \rationals M$. If $M$ is decomposable (as a $(\integers G)$-module), then $M^{*}$ is decomposable (as a $(\rationals G)$-module). The converse is false: We have seen (in Example \ref{exm : Cyclic Groups Order 2}) that $M^{*}$ being decomposable does not imply that $M$ is decomposable. If $M$ is $\integers$-reducible, then $M^{*}$ is $\rationals$-reducible. This time, the converse is true: If $M^{*}$ is $\rationals$-reducible, then $M$ is $\integers$-reducible.

Let
\begin{align}
M^{*}
=
M^{*}_{z}
\supset
\ldots
\supset
M^{*}_{0}
=
(0)%
\label{eq : GLnZ : Composition Series M*}
\end{align}
be a composition series% Begin footnote.
\footnote{See Section \ref{sec : Rep : Chain Conditions And Composition Series}. In particular, by definition, the quotients $M^{*}_{i}/M^{*}_{i - 1}$ of consecutive submodules are irreducible.} % End footnote.
for $M^{*} = \rationals M$. We may use \eqref{eq : GLnZ : Composition Series M*} to construct a $\rationals$-basis $B^{*}$ of $M^{*}$ such that $M^{*}$ and $B^{*}$ induce the $\rationals$-representation
\begin{align*}
\begin{bmatrix}
\fontMatrixRep{T}_{1}	&			&	*			\\
			&	\ddots	&				\\
\fontMatrixRep{0}		&			&	\fontMatrixRep{T}_{z}
\end{bmatrix}
\end{align*}
where each $\fontMatrixRep{T}_{i}$ is an irreducible matrix representation of $G$ afforded by $M^{*}_{i}/M^{*}_{i - 1}$. For each $i$, define $M_{i} = M^{*}_{i} \cap M$. Then, for all $i$,
\begin{enumerate}
\item\label{itm : Z Composition Series Z G} $M_{i - 1}$ is a $(\integers G)$-submodule of $M_{i}$.
\item\label{itm : Z Composition Series Pure} $M_{i - 1}$ is a pure $\integers$-submodule of $M_{i}$.
\item\label{itm : Z Composition Series Z Irreducible} $M_{i}/M_{i - 1}$ is a $\integers$-irreducible $(\integers G)$-module, and $\rationals \tensor[\integers] (M_{i}/M_{i - 1}) \isomorphism M^{*}_{i}/M^{*}_{i - 1}$.
\end{enumerate}
In particular, intersecting the composition series \eqref{eq : GLnZ : Composition Series M*} for $M^{*}$ with $M$, we get a composition series
\begin{align*}
M
=
M_{z}
\supset
\ldots
\supset
M_{0}
=
(0)
\end{align*}
for $M$ that satisfies the properties \ref{itm : Z Composition Series Z G}--\ref{itm : Z Composition Series Z Irreducible} just presented. We call such a composition series a \fontDefWord{$\integers$-composition series for $M$}. The factors $M_{i}/M_{i - 1}$ are \fontDefWord{$\integers$-composition factors of $M$}. The sequence $(M_{i}/M_{i - 1})_{i = 1}^{z}$ of $\integers$-composition factors of $M$ is not uniquely determined up to $(\integers G)$-isomorphism and order. In contrast, this is true if we allow $(\rationals G)$-isomorphism, because the Jordan--H\"{o}lder theorem% Begin footnote.
\footnote{See Section \ref{sec : Rep : The Jordan Holder Theorem}.} % End footnote.
applies to $(\rationals G)$-modules. More precisely, if $\mathcal{M} : (M_{i})_{i = 0}^{z}$ and $\mathcal{M}' : (M'_{i})_{i = 0}^{z'}$ are two $\integers$-composition series for $M$, then $z = z'$, and we can pair the $\integers$-composition factors $(M_{i}/M_{i - 1})_{i}$ and $(M'_{i}/M'_{i - 1})_{i}$ such that the factors in each pair $(M_{i}/M_{i - 1},M'_{j}/M'_{j - 1})$ are isomorphic as $(\rationals G)$-modules. We summarize this in the language of matrices in the following proposition.

\begin{proposition}
Let $\fontMatrixRep{T}$ be a $\integers$-representation of $G$, and let% Begin footnote.
\footnote{The $\fontMatrixRep{T}_{i}$ are $\rationals$-representations of $G$ and need not be irreducible.}% End footnote.
\begin{align*}
\fontMatrixRep{T}
\sim_{\rationals}
\begin{bmatrix}
\fontMatrixRep{T}_{1}	&			&	*			\\
			&	\ddots	&				\\
\fontMatrixRep{0}		&			&	\fontMatrixRep{T}_{z}
\end{bmatrix}
\end{align*}
Then there exist $\integers$-representations $\fontMatrixRep{T}'_{i}$ of $G$ such that
\begin{align*}
\fontMatrixRep{T}
\sim_{\integers}
\begin{bmatrix}
\fontMatrixRep{T}'_{1}	&			&	*			\\
			&	\ddots	&				\\
\fontMatrixRep{0}		&			&	\fontMatrixRep{T}'_{z}
\end{bmatrix}
\end{align*}
and for each $i$, $\fontMatrixRep{T}_{i} \sim_{\rationals} \fontMatrixRep{T}'_{i}$.
\end{proposition}



\subsection{Binding functions}

Throughout this section, for $i \in \{1,2\}$, let $\fontMatrixRep{T}_{i} : G \rightarrow \generalLinear(n_{i},\integers)$ be a $\integers$-representation of $G$.

A \fontDefWord{binding function} for $(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ is a map $\fontMatrixRep{L} : G \rightarrow \matrixAlgebra(n_{1} \times n_{2},\integers)$ such that
\begin{align}
\fontMatrixRep{T}
:
G
&\rightarrow
\generalLinear(n_{1} + n_{2},\integers)%
\nonumber
\\
g
&\mapsto
\begin{bmatrix}
\fontMatrixRep{T}_{1}(g)	&	\fontMatrixRep{L}(g)		\\
\fontMatrixRep{0}			&	\fontMatrixRep{T}_{2}(g)
\end{bmatrix}%
\label{eq : GLnZ : Binding Function Induced Representation}
\end{align}
defines a $\integers$-representation of $G$. Let $B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ denote the set of all binding functions for $(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$. From the definition of a group homomorphism (applied to $\fontMatrixRep{T}$ as defined in \eqref{eq : GLnZ : Binding Function Induced Representation}), a map $\fontMatrixRep{L} : G \rightarrow \matrixAlgebra(n_{1} \times n_{2},\integers)$ is in $B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ if and only if, for all $g_{1},g_{2} \in G$,
\begin{align*}
\fontMatrixRep{L}(g_{1} g_{2})
=
\fontMatrixRep{T}_{1}(g_{1}) \fontMatrixRep{L}(g_{2}) + \fontMatrixRep{L}(g_{1}) \fontMatrixRep{T}_{2}(g_{2})
\end{align*}
The set $B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$, equipped with the operations of addition and scalar multiplication by $\integers$ (both defined as usual for $n_{1} \times n_{2}$ integer matrices), is a torsion-free, finitely generated $\integers$-module.

An \fontDefWord{inner binding function} for $(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ is a binding function $\fontMatrixRep{L} \in B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ such that there exists a matrix $\fontMatrixRep{D} \in \matrixAlgebra(n_{1} \times n_{2},\integers)$ such that, for all $g \in G$,
\begin{align}
\fontMatrixRep{L}(g)
=
\fontMatrixRep{T}_{1}(g) \fontMatrixRep{D} - \fontMatrixRep{D} \fontMatrixRep{T}_{2}(g)%
\label{eq : GLnZ : Inner Binding Function}
\end{align}
Let $B'(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ denote the set of all inner binding functions for $(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$. $B'(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ is a subgroup of $B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$.

Let $\fontMatrixRep{L}_{1},\fontMatrixRep{L}_{2} \in B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$. $\fontMatrixRep{L}_{1}$ and $\fontMatrixRep{L}_{2}$ are \fontDefWord{$\integers$-equivalent}, denoted $\fontMatrixRep{L}_{1} \approx_{\integers} \fontMatrixRep{L}_{2}$, if $\fontMatrixRep{L}_{1} - \fontMatrixRep{L}_{2} \in B'(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$, that is, if there exists a $\fontMatrixRep{D} \in \matrixAlgebra(n_{1} \times n_{2},\integers)$ such that \eqref{eq : GLnZ : Inner Binding Function} holds with $\fontMatrixRep{L} = \fontMatrixRep{L}_{1} - \fontMatrixRep{L}_{2}$. Similarly, $\fontMatrixRep{L}_{1}$ and $\fontMatrixRep{L}_{2}$ are \fontDefWord{$\rationals$-equivalent}, denoted $\fontMatrixRep{L}_{1} \approx_{\rationals} \fontMatrixRep{L}_{2}$, if there exists a $\fontMatrixRep{D} \in \matrixAlgebra(n_{1} \times n_{2},\rationals)$ such that \eqref{eq : GLnZ : Inner Binding Function} holds with $\fontMatrixRep{L} = \fontMatrixRep{L}_{1} - \fontMatrixRep{L}_{2}$.

\begin{lemma}
Let $\fontMatrixRep{L}_{1},\fontMatrixRep{L}_{2} \in B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ such that $\fontMatrixRep{L}_{1} \approx_{\integers} \fontMatrixRep{L}_{2}$. Then
\begin{align*}
\begin{bmatrix}
\fontMatrixRep{T}_{1} 	&	\fontMatrixRep{L}_{1}	\\
\fontMatrixRep{0}		&	\fontMatrixRep{T}_{2}
\end{bmatrix}
\sim_{\integers}
\begin{bmatrix}
\fontMatrixRep{T}_{1} 	&	\fontMatrixRep{L}_{2}	\\
\fontMatrixRep{0}		&	\fontMatrixRep{T}_{2}
\end{bmatrix}
\end{align*}
\end{lemma}

Let $K$ be a field. Maschke's theorem% Begin footnote.
\footnote{See Section \ref{sec : Rep : Maschke Theorem}.} % End footnote.
states that if $\characteristic(K) \notDivides \order(G)$, then every $(K G)$-module is completely reducible. Taking $K = \rationals$ and expressing the theorem in matrix form, we get the following.

\begin{theorem}
\label{thm : GLnZ : Maschke Theorem Binding Functions}
\begin{align*}
\order(G) B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})
\subseteq
B'(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})
\end{align*}
\end{theorem}

This implies that, for all $\fontMatrixRep{L} \in B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$, $\fontMatrixRep{L} \approx_{\rationals} \fontMatrixRep{0}$. With an eye on the algorithm in \cite{Brown1972i}, we emphasize the following reading of the theorem: Every binding function $\fontMatrixRep{L}$ for $(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ can be written in the form \eqref{eq : GLnZ : Inner Binding Function} of an inner binding function where the entries of the matrix $\fontMatrixRep{D}$ are allowed denominators that divide $\order(G)$.

Let $n,n_{1},n_{2} \in \integersPositive$, and let $\fontMatrixRep{A},\fontMatrixRep{B} \in \matrixAlgebra(n_{1} \times n_{2},\integers)$. We write $\fontMatrixRep{A} \equiv \fontMatrixRep{B} \mod n$ if all corresponding entries $a_{i,j}$ of $\fontMatrixRep{A}$ and $b_{i,j}$ of $\fontMatrixRep{B}$ satisfy $a_{i,j} \equiv b_{i,j} \mod n$. Theorem \ref{thm : GLnZ : Maschke Theorem Binding Functions} implies the following.

\begin{corollary}
Let $\fontMatrixRep{L}_{1},\fontMatrixRep{L}_{2} \in B(\fontMatrixRep{T}_{1},\fontMatrixRep{T}_{2})$ such that, for all $g \in G$, $\fontMatrixRep{L}_{1}(g) \equiv \fontMatrixRep{L}_{2}(g) \mod \order(G)$. Then $\fontMatrixRep{L}_{1} \approx_{\integers} \fontMatrixRep{L}_{2}$.
\end{corollary}



\section{Known results}

Lists of representatives for all $\integers$-conjugacy classes of finite subgroups of $\generalLinear(n,\integers)$, presented in terms of matrix generators, exist for low ranks $n$. For rank $n = 2$, see Voskresenskii \cite{Voskresenskii1965};% Begin footnote.
\footnote{For rank $n = 2$, in \cite{Voskresenskii1965}, the subgroups generated by $\widehat{\sigma}$ and $\widehat{u}$, as defined in 8)a) and 8)b), are equal. The same is true for the subgroups generated by $\widehat{\sigma}$ and $\widehat{u}$ defined in 9)a) and 9)b).} % End footnote.
for rank $n = 3$, see Tahara \cite{Tahara1971}.% Begin footnote.
\footnote{% Begin footnote.
For rank $n = 3$, in \cite{Tahara1971}, the order-24 subgroups W5 and W11, as written, have order $12$ and infinite order, respectively. Based on the generators defined earlier in the paper, we propose the following corrections:
\begin{itemize}
\item Subgroup W5: Change the $(3,3)$ entry of the first generator from $-1$ to $1$.
\item Subgroup W11: Change the $(1,1)$ entry in the matrix for the second generator from $1$ to $-1$. (Accounting for the negative sign outside the matrix, the $(1,1)$ entry is $1$ after this change.)
\end{itemize}
After these changes, the subgroups W5 and W11 have order 24, and the order-24 subgroups W4 and W5 are equal. This leaves $71$ pairwise $\integers$-nonconjugate subgroups of $\generalLinear(3,\integers)$, consistent with the count in \cite{OEISA004027}.} % End footnote.
For rank $n = 4$, Dade \cite{Dade1965}*{Theorem 4.27} provides a list of invariant quadratic forms corresponding to the nine $\integers$-conjugacy classes of maximal finite subgroups of $\generalLinear(4,\integers)$. Plesken and Schulz \cite{Plesken2000} analyze $\generalLinear(n,\integers)$ through rank $n = 6$. The number of $\integers$-conjugacy classes are encoded in the Online Encyclopedia of Integer Sequences \cite{OEISA004027} and presented in Table \ref{tab : GLnZ : Z Class Counts}.
\begin{table}[t]
\centering
\begin{tabular}{l *{6}{c}}
\hline\hline
Rank					&	1	&	2	&	3	&	4	&	5	&	6		\\
\# $\integers$-classes	&	2	&	13	&	73	&	710	&	6079	&	85308	\\
\hline
\end{tabular}
\caption{Number of distinct $\integers$-conjugacy classes of finite subgroups of $\generalLinear(n,\integers)$ for ranks $n \in \{1,\ldots,6\}$. These numbers were obtained from \cite{OEISA004027} via \cite{Plesken2000}*{Tables 1 and 2}.}
\label{tab : GLnZ : Z Class Counts}
\end{table}

The data of $\integers$- and $\rationals$-conjugacy classes of finite subgroups in $\generalLinear(n,\integers)$ for ranks $n = 1,\ldots,6$, along with functions to manipulate these data, are available for download at the CARAT homepage \cite{CARAT}.% Begin footnote.
\footnote{CARAT runs on the computer shell. The CARAT homepage states that the computational algebra system GAP provides an interface to CARAT.} % End footnote.
Opgenorth et al. \cite{Opgenorth1998}*{Sections 3--4} discuss CARAT and its underlying algorithms.

We developed Magma code to enumerate and analyze representatives from each $\integers$-conjugacy class of finite subgroup of $\generalLinear(n,\integers)$. We were not aware of CARAT's availability until after completing our implementation. Although our enumeration of these subgroups is not new, our results serve as a check of earlier results. To our knowledge, our subsequent computation of the first cohomology groups associated to these subgroups had not previously been done.



\section{Computation of finite subgroups}
\label{sec : GLnZ : Computation}

In this section, we present an algorithm to compute one representative for each $\integers$-conjugacy class of finite subgroup of $\generalLinear(n,\integers)$. Our algorithm assumes two things:
\begin{enumerate}
\item A database of representatives of all $\integers$-conjugacy classes of maximal \emph{irreducible} finite subgroups of $\generalLinear(n,\integers)$, for all ranks from $n = 1$ to and including the maximum rank we wish to compute.
\item The validity of the algorithm in \cite{Brown1972i}*{Section 3} for constructing representatives of all $\integers$-conjugacy classes of \emph{reducible} finite subgroups of $\generalLinear(n,\integers)$.
\end{enumerate}



\subsection{An algorithm to construct reducible subgroups}
\label{sec : GLnZ : Brown Et Al}

The algorithm in \cite{Brown1972i} is inductive: To construct representatives of the $\integers$-con\-ju\-gacy classes of the reducible subgroups in rank $n + 1$, we must know representatives of all $\integers$-conjugacy classes of finite subgroups, both reducible and irreducible, of $\generalLinear(m,\integers)$ for $1 \leq m \leq n$. After summarizing the algorithm, we remark on our implementation. We subdivide and number our steps to facilitate comparison with \cite{Brown1972i}*{Section 3}.



\paragraph{Step a) Specify irreducible constituents and all compatible block diagonal pairs.}

Let $\mathfrak{A} = (H_{i})$ be a (finite) sequence consisting of one representative from each $\rationals$-conjugacy class of irreducible finite subgroup of $\generalLinear(m,\integers)$ for $m \in \{1,\ldots,n\}$. The $H_{i}$ are the irreducible constituent classes for constructing reducible subgroups of $\generalLinear(n + 1,\integers)$. We may permute the order of these irreducible constituents while staying within a $\integers$-conjugacy class. Thus, to construct a representative from each $\integers$-conjugacy class of reducible subgroup of $\generalLinear(n + 1,\integers)$, it suffices to consider all sequences $H_{i_{i}},\ldots,H_{i_{z}}$ of irreducible constituents $H_{i_{j}} \in \mathfrak{A}$ such that $i_{1} \leq \ldots \leq i_{z}$ and $\sum_{j = 1}^{z} \deg H_{i_{j}} = n + 1$. Given such a sequence, we put the $H_{i_{j}}$ on the diagonal blocks of a (reducible) block upper-triangular matrix
\begin{align*}
\begin{pmatrix}
H_{i_{1}}	&			&	*		\\
		&	\ddots	&			\\
0		&			&	H_{i_{z}}
\end{pmatrix}
\end{align*}
From this we form a two-block by two-block matrix, with the upper left block $r \times r$, choosing $r$ as follows. If $i_{1} \neq i_{z}$, then set $r$ equal to the last index $j$ such that $i_{j} \neq i_{j + 1}$. Otherwise, set $r = z - 1$. This break point $r$ is chosen to reduce $\integers$-conjugates among the subgroups constructed by this algorithm.

Let
\begin{align*}
n_{1}
&=
\sum_{j = 1}^{r} \deg H_{i_{j}}
&
n_{2}
&=
\sum_{j = r + 1}^{z} \deg H_{i_{j}}
\end{align*}
Let $L_{1}$ be a sequence consisting of one representative $G_{1}$ from each $\integers$-conjugacy class of finite subgroups of $\generalLinear(n_{1},\integers)$ whose irreducible constituents are $H_{i_{1}},\ldots,H_{i_{r}}$, and let $L_{2}$ be a sequence consisting of one representative $G_{2}$ from each $\integers$-conjugacy class of finite subgroups of $\generalLinear(n_{2},\integers)$ whose irreducible constituents are $H_{i_{r + 1}},\ldots,H_{i_{z}}$. All such subgroups $G_{i}$ are available in theory by hypothesis (and, in practice, by the inductive nature of the generalized algorithm).

In the next two steps, we use each pair $(G_{1},G_{2})$ to construct (possibly multiple) finite subgroups of $\generalLinear(n + 1,\integers)$ all of whose elements have the block form
\begin{align}
\begin{pmatrix}
g_{1}	&	*		\\
0		&	g_{2}
\end{pmatrix}
\label{eq : GLnZ : Brown Et Al Algorithm : General Element}
\end{align}
where $g_{1} \in G_{1}$ and $g_{2} \in G_{2}$.



\paragraph{Step b) Determine all permissible subgroups of $G_{1} \times G_{2}$.}

We form all subgroups $G^{*}$ of $G_{1} \times G_{2}$ of the form
\begin{align*}
\left\{(g_{1},g_{2}) \st \forall g_{i} \in G_{i}, \sigma(g_{1} N_{1}) = g_{2} N_{2}\right\}
\end{align*}
where $N_{1} \normaleq G_{1}$ and $N_{2} \normaleq G_{2}$ are normal subgroups such that $G_{1}/N_{1} \isomorphism G_{2}/N_{2}$, and $\sigma : G_{1}/N_{1} \rightarrow G_{2}/N_{2}$ is an isomorphism. To reduce $\integers$-conjugates among the subgroups constructed, we may impose equivalence relations on the normal subgroups $N_{i}$ and on the isomorphisms $\sigma$.

At the end of this step, we have determined the diagonal blocks $g_{1}$ and $g_{2}$ of each element of each finite subgroup of $\generalLinear(n + 1,\integers)$ whose irreducible constituents are $H_{i_{1}},\ldots,H_{i_{z}}$. To finish specifying these groups we must determine the upper-right block.



\paragraph{Step c) Compute all consistent upper-right blocks.}

Fix a subgroup $G^{*}$ from Step b). We determine the possible upper-right blocks of each element \eqref{eq : GLnZ : Brown Et Al Algorithm : General Element} by determining all binding functions (also called connecting functions) on $G^{*}$. Let $\mathfrak{C}(G^{*})$ denote the set of these binding functions. Given $Y \in \matrixAlgebra(n_{1} \times n_{2},\rationals)$, the function
\begin{align*}
\Lambda_{Y}
:
G^{*}
&\rightarrow
\matrixAlgebra(n_{1} \times n_{2},\rationals)
\\
(g_{1},g_{2})
&\mapsto
g_{1} Y - Y g_{2}
\end{align*}
is in $\mathfrak{C}(G^{*})$ if $\image \Lambda_{Y} \subseteq \matrixAlgebra(n_{1} \times n_{2},\integers)$. Conversely, for each $\Lambda \in \mathfrak{C}(G^{*})$, there exists some $Y \in \matrixAlgebra(n_{1} \times n_{2},\rationals)$ such that $\Lambda = \Lambda_{Y}$.% Begin footnote.
\footnote{Recall our interpretation of Theorem \ref{thm : GLnZ : Maschke Theorem Binding Functions} above. For a method to compute $Y$---the method we use in our implementation---see \cite{Brown1972i}*{Section 3, Step c)}.} % End footnote.
To reduce $\integers$-conjugates among the subgroups constructed, we may impose equivalence relations on the connecting functions.



\paragraph{Step d) Prune $\integers$-conjugate groups.}

The final step in the algorithm presented by Brown et al. \cite{Brown1972i} detects certain $\integers$-conjugacy among the reducible subgroups produced by performing Steps b) and c) on a given $G^{*}$. The computational algebra system we used to implement this algorithm includes a function to detect $\integers$-conjugacy, so we invoked this function in lieu of implementing this step.



\subsection{Our algorithm}

Our algorithm combines the inductive algorithm in \cite{Brown1972i} for producing all reducible finite subgroups (up to $\integers$-conjugacy) with an analysis of subgroups of all maximal irreducible finite subgroups (up to $\integers$-conjugacy). We assume a representative from each $\integers$-conjugacy class of maximal irreducible finite subgroup is available from some database. (In our implementation, we used Magma's \fontComputer{In\-te\-gral\-Ma\-trix\-Group\-Da\-ta\-base}.) Because the method we use to construct reducible subgroups is inductive, we organize our algorithm inductively, as follows.

\paragraph{Base case} (rank $n = 1$). There are two finite subgroups of $\generalLinear(1,\integers)$, generated by $[1]$ and $[-1]$. These subgroups represent different conjugacy classes (because, for example, their orders differ).

\paragraph{Inductive step.} Assume given representatives for all $\integers$-conjugacy classes of finite subgroups of $\generalLinear(m,\integers)$ for $1 \leq m \leq n$.

\begin{enumerate}
\item\label{itm : GLnZ : Algorithm : Irreducible} Use the database to get a representative for each $\integers$-conjugacy class of maximal irreducible finite subgroup of $\generalLinear(n + 1,\integers)$. For each representative, compute all its subgroups up to $\integers$-conjugacy.
\item\label{itm : GLnZ : Algorithm : Reducible} Use the algorithm in Brown et al. \cite{Brown1972i}*{Section 3}, described in Section \ref{sec : GLnZ : Brown Et Al} above, to construct representatives for all $\integers$-conjugacy classes of reducible finite subgroups of $\generalLinear(n + 1,\integers)$.
\item\label{itm : GLnZ : Algorithm : Prune} Combine all results from Steps \ref{itm : GLnZ : Algorithm : Irreducible} and \ref{itm : GLnZ : Algorithm : Reducible}. Check for $\integers$-conjugacy, keeping only one representative for each $\integers$-conjugacy class.
\end{enumerate}

\begin{remark}
In Step \ref{itm : GLnZ : Algorithm : Irreducible}, note that subgroups of an irreducible group may be reducible. Thus Step \ref{itm : GLnZ : Algorithm : Irreducible} may yield subgroups from $\integers$-conjugacy classes constructed in Step \ref{itm : GLnZ : Algorithm : Reducible}.

More importantly, for the completeness of this algorithm, any irreducible finite subgroup of $\generalLinear(n + 1,\integers)$ is a subgroup of some maximal irreducible finite subgroup, which is $\integers$-conjugate to one of the representatives analyzed in Step \ref{itm : GLnZ : Algorithm : Irreducible}. Thus Step \ref{itm : GLnZ : Algorithm : Irreducible} produces at least one representative from each $\integers$-conjugacy class of irreducible finite subgroup. Step \ref{itm : GLnZ : Algorithm : Reducible} produces at least one representative from each $\integers$-conjugacy class of reducible finite subgroup. Pruning $\integers$-conjugates in Step \ref{itm : GLnZ : Algorithm : Prune} yields a collection of exactly one representative from each $\integers$-conjugacy class of finite subgroup of $\generalLinear(n + 1,\integers)$, as desired.

Note that pruning $\integers$-conjugate subgroups is not necessary for our application. Our ultimate question is, what first cohomology groups arise from finite subgroups of $\generalLinear(n,\integers)$? Analyzing multiple representatives from the same $\integers$-conjugacy class does not change the answer to this question. In contrast, we must ensure that we produce \emph{at least} one representative from each $\integers$-conjugacy class of finite subgroup. This is why we chose to prune $\integers$-conjugates. We were aware of the number (though not the identities) of $\integers$-conjugacy classes of finite subgroups of $\generalLinear(n,\integers)$, so after pruning $\integers$-conjugates, we could compare our counts against the known counts to certify we had at least one (and in fact, exactly one) representative from each $\integers$-conjugacy class in hand.
\end{remark}



\section{Results}

We implemented the algorithm in Section \ref{sec : GLnZ : Computation} in the computational algebra system Mag\-ma \cite{Magma}. We confirmed our code produces the expected number of $\integers$-conjugacy classes of subgroups of $\generalLinear(n,\integers)$ in ranks $1$ to $6$ (see Table \ref{tab : GLnZ : Z Class Counts}), that is, in all ranks for which the number of $\integers$-conjugacy classes was previously known. Finally, we computed the first cohomology group corresponding to each representative subgroup. We present the results in Theorem \ref{thm : GLnZ : H1 Of Finite Subgroups}.
\begin{table}[t]
\centering
\begin{tabular}{c l *{9}{r}}
\hline\hline
Rank	&	\multicolumn{9}{c}{Invariant factors* of new first-cohomology groups}	\\
	&	\multicolumn{9}{c}{$[d_{1}]\cdots[d_{z}] \leftrightsquigarrow (\integers/d_{1} \integers) \oplus \ldots \oplus (\integers/d_{z} \integers)$}	\\
\hline
$0$	&	$[\;]$	\\
$1$	&	$[2]$	\\
$2$	&	$[2]^{2}$	&	$[3]$	\\
$3$	&	$[2]^{3}$	&	$[2][3]$		&	$[4]$	\\
$4$	&	$[2]^{4}$	&	$[2]^{2}[3]$	&	$[2][4]$		&	$[3]^{2}$		&	$[5]$	\\
$5$	&	$[2]^{5}$	&	$[2]^{3}[3]$	&	$[2]^{2}[4]$	&	$[2] [3]^{2}$	&	$[2][5]$	&	$[3][4]$	\\
$6$	&	$[2]^{6}$	&	$[2]^{4}[3]$	&	$[2]^{3}[4]$	&	$[2]^{2}[3]^{2}$	&	$[2]^{2}[5]$	&	$[2][3][4]$	&	$[3]^{3}$	&	$[3][5]$	&	$[4]^{2}$	&	$[7]$	\\
\hline
\end{tabular}
\caption{First cohomology groups $\cohomology[1]{G,\integers^{n}}$ arising from all finite subgroups $G \subgroupeq \generalLinear(n,\integers)$ of rank $n \in \{1,\ldots,6\}$. (* The invariant factors may be deduced from the $d_{i}$. For example, $[2]^{2} [3]$ corresponds to the invariant factors $2 \divides 6$, and so forth.)}
\label{tab : GLnZ : First Cohomology Groups}
\end{table}

\begin{theorem}
\label{thm : GLnZ : H1 Of Finite Subgroups}
Let $n \in \{1,\ldots,6\}$, and let $G \subgroupeq \generalLinear(n,\integers)$ be finite. Then $\cohomology[1]{G,\integers^{n}}$ is isomorphic to a group in Table \ref{tab : GLnZ : First Cohomology Groups}, in row $n$ or lower. Conversely, for each rank $n$, for each group $B$ in row $n$, for each $m \in \{n,\ldots,6\}$, there exists a finite, cyclic $G \subgroupeq \generalLinear(m,\integers)$ such that $\cohomology[1]{G,\integers^{m}} \isomorphism B$.
\end{theorem}



\section{Discussion}

In this section we briefly discuss possible issues with, scope of, and enhancements to our current implementation of the algorithm described in Section \ref{sec : GLnZ : Computation}.



\subsection{Possible issues}

There is one known discrepancy between the algorithm in Brown et al. \cite{Brown1972i} for computing representatives of the reducible finite subgroups and our implementation of this algorithm. In Step b), when forming the quotients $G_{i}/N_{i}$, Brown et al. first compute the automorphism group $A_{i}$ of $G_{i}$ ``induced by the normalizer of $G_{i}$ in $\generalLinear(n_{i},\integers)$'' \cite{Brown1972i}*{page 392}. They then form a set $\mathfrak{N}_{i}$ of representatives of normal subgroups $N_{i}$ of $G_{i}$ relative to $A_{i}$. In our implementation, we simply take $\mathfrak{N}_{i}$ to be a set of representatives of $\integers$-conjugacy classes of normal subgroups of $G_{i}$.

To date, this discrepancy has not produced known issues in results. In particular, for ranks $n = 2$ and $3$, for which the literature provides presentations of representatives for each $\integers$-conjugacy class of finite subgroup of $\generalLinear(n,\integers)$ in terms of matrix generators, we confirmed that the representatives produced by our implementation both are the number expected and correspond one-to-one via $\integers$-conjugacy to the known matrix presentations. Furthermore, for ranks $n = 4,5,6$, the number of classes produced by our implementation agrees with the number obtained by Plesken and Schulz \cite{Plesken2000}*{Tables 1 and 2}.



\subsection{Possible scope}

The construction of reducible subgroups is valid in any rank. (Of course, it relies on having a complete set of representative subgroups, both reducible and irreducible, in all lower ranks.) Thus the limits to our approach arise from computational constraints and the extent of the database of maximal irreducible finite subgroups.

The computational algebra software Magma provides such a database of representatives of all $\integers$-conjugacy classes of maximal irreducible finite subgroups of $\generalLinear(n,\integers)$, called \fontComputer{IntegralMatrixGroupDatabase}. In Magma version 2.23-1, this database is defined for all ranks $n \leq 11$.% Begin footnote.
\footnote{The database also has entries for ranks $13,17,19,23$.} % End footnote.
It follows that, even absent computational constraints, our current implementation in Magma could proceed to at most rank $11$.

In practice, we encounter computational constraints around rank $7$. More precisely, as of April 2022, our computation of the reducible finite subgroups has succeeded in at most rank $6$, and our computation of the subgroups of the maximal irreducible finite subgroups has succeeded in at most rank $7$.



\subsection{Possible enhancements}

We discuss two possible methods to speed up or reduce the required computation: parallelization and dictionaries.



\paragraph{Parallel computing.}

Both the construction of reducible finite subgroups, and the computation of the subgroups of the maximal irreducible finite subgroups, are amenable to parallel computing. In the case of reducible subgroups, the construction for different pairs $(G_{1},G_{2})$ can be run concurrently, as can the computation of different connecting functions for a given pair $(G_{1},G_{2})$. In the case of irreducible subgroups, the computation of subgroups for different maximal subgroups can be run concurrently.

The number of distinct $\integers$-conjugacy classes of maximal irreducible subgroups is relatively small. For the ranks available in Magma's \fontComputer{Inte\-gral\-Matrix\-Group\-Data\-base}, the largest number of classes is $46$ (see Table \ref{tab : GLnZ : Number Of Maximal Irreducible Finite Subgroups}).
\begin{table}[t]
\centering
\begin{tabular}{l *{15}{c}}
\hline\hline
Rank		&	$1$	&	$2$	&	$3$	&	$4$	&	$5$	&	$6$	&	$7$	&	$8$	&	$9$	&	$10$	&	$11$	&	$13$	&	$17$	&	$19$	&	$23$	\\
\# classes	&	$1$	&	$2$	&	$3$	&	$6$	&	$7$	&	$17$	&	$7$	&	$26$	&	$20$	&	$46$	&	$9$	&	$17$	&	$24$	&	$9$	&	$28$	\\
\hline
\end{tabular}
\caption{Number of $\integers$-conjugacy classes of maximal irreducible finite subgroups of $\generalLinear(n,\integers)$ for various ranks $n$. The values of $n$ displayed correspond to the ranks available in Magma's \fontComputer{IntegralMatrixGroupDatabase}, in Magma version 2.23-1.}
\label{tab : GLnZ : Number Of Maximal Irreducible Finite Subgroups}
\end{table}
I suspect that the computational constraint is determining the subgroup lattice. It is possible this procedure could be parallelized. For example, if the determination of the maximal subgroups of a given group were relatively quick compared to the determination of the full subgroup lattice, then once these maximal subgroups were determined, the analysis of their subgroup lattices could be parallelized. Moreover, this process could be implemented recursively, if desired.

The number of distinct pairs $(G_{1},G_{2})$ required in the construction of the reducible groups is much larger. Moreover, each pair $(G_{1},G_{2})$ can yield multiple connecting functions. Both analyses could be parallelized.



\paragraph{Dictionary look-ups.}

In the computation of reducible finite subgroups of $\generalLinear(n,\integers)$, every time we compute a binding function, we do so for pairs $(G_{1},G_{2})$ of finite subgroups $G_{i} \subgroupeq \generalLinear(n,\integers)$, and pairs $(N_{1},N_{2})$ of normal subgroups $N_{i} \normaleq G_{i}$, such that $G_{1}/N_{1} \isomorphism G_{2}/N_{2}$. The algorithm computes the set $\Sigma$ of all isomorphisms between these quotients. In the course of all computation for a given rank $n$, we may generate isomorphic quotient pairs that are isomorphic to isomorphic quotient pairs analyzed previously, and which therefore yield the same set $\Sigma$ (up to isomorphism). Our current implementation computes the set $\Sigma$ each time.

We could instead implement a dictionary look-up approach. More precisely, have the dictionary consist of records $(Q_{1},Q_{2},\Sigma(Q_{1},Q_{2})$, where $Q_{1}$ and $Q_{2}$ are isomorphic groups, and $\Sigma(Q_{1},Q_{2})$ is the set of all isomorphisms $\sigma : Q_{1} \rightarrow Q_{2}$. At the start of the analysis for rank $n$, initialize the dictionary to be empty. As the algorithm loops over pairs $(G_{1},G_{2})$ of finite subgroups $G_{i} \subgroupeq \generalLinear(n,\integers)$ and over pairs $(N_{1},N_{2})$ of normal subgroups $N_{i} \normaleq G_{i}$, each time we find isomorphic quotients $G_{1}/N_{1} \isomorphism G_{2}/N_{2}$, query each entry of the dictionary to see whether $G_{1}/N_{1} \isomorphism Q_{1}$. If no, proceed to compute the set $\Sigma$ of all isomorphisms from $G_{1}/N_{1}$ to $G_{2}/N_{2}$, as currently implemented. If yes, then compute fixed isomorphisms
\begin{align*}
\psi_{1}
:
G_{1}/N_{1}
\xrightarrow{\isomorphism}
Q_{1}
&&
\text{and}
&&
\psi_{2}^{-1}
:
Q_{2}
\xrightarrow{\isomorphism}
G_{2}/N_{2}
\end{align*}
Then the set of all isomorphisms from $G_{1}/N_{1}$ to $G_{2}/N_{2}$ is
\begin{align*}
\Sigma(G_{1}/N_{1},G_{2}/N_{2})
=
\left\{\psi_{2}^{-1} \circ \sigma \circ \psi_{1} \st \sigma \in \Sigma(Q_{1},Q_{2})\right\}
\end{align*}
illustrated in the following commutative diagram:
\begin{center}
\begin{tikzpicture}
% Nodes:
\node (Q1) {$Q_{1}$};
\node (Q2) [right = of Q1] {$Q_{2}$};
\node (Q1') [below = of Q1] {$G_{1}/N_{1}$};
\node (Q2') [below = of Q2] {$G_{2}/N_{2}$};
% Arrows:
\draw[-stealth] (Q1') -- node [left] {$\psi_{1}$} (Q1);
\draw[-stealth] (Q2) -- node [right] {$\psi_{2}^{-1}$} (Q2');
\draw[-stealth] (Q1) -- node [above] {$\sigma$} (Q2);
\draw[-stealth] (Q1') -- node [] {} (Q2');
\end{tikzpicture}
\end{center}
This approach ports over the set of isomorphisms already computed, rather than recomputing it each time.