Quotient Groups#

A powerful technique for investigating an fp-group is to study some of its quotients. For example, the action of a group \(G\) on the cosets of a subgroup \(H\) (where the index of \(H\) in \(G\) is finite) as described in the section on subgroups is an epimorphism of \(G\) onto a permutation group of degree \([G:H]\). In this section further methods for constructing various types of quotient group are described. Specifically, machinery is provided for constructing abelian quotients, \(p\)-quotients, nilpotent quotients, soluble quotients and \(PSL(2, q)/PGL(2, q)\) quotients.

Abelian Quotient#

Computing the quotient of an fp-group \(G\) by its derived group is usually the first step in analyzing an fp-group. The ability to do this to finite-index subgroups of \(G\) is a key step when trying to prove that a group is infinite. The intrinsics in this section compute information about the abelian quotient of an fp-group \(G\).

Intrinsics:

AbelianQuotient \((G)\) : The maximal abelian quotient \(G/G^\prime\) of the fp-group \(G\) is returned as a group in category GrpAb (cf. chapter Abelian Groups). The natural epimorphism \(\pi:G\rightarrow G/G^\prime\) is returned as second value.

HasFiniteAbelianQuotient \((G)\) : Return true if the maximal abelian quotient of the fp-group \(G\) is finite.

ElementaryAbelianQuotient \((G,~p)\) : The maximal \(p\)-elementary abelian quotient \(Q\) is returned as a group \(G\) in category GrpAb (cf. chapter Abelian Groups). The natural epimorphism \(\pi:G\rightarrow Q\) is returned as second value.

AbelianQuotientInvariants \((G)\) : Let \(G\) be an fp-group or a subgroup of finite index of an fp-group. The elementary divisors of the derived quotient group \(G/G'\) are returned as a sequence of integers.

AbelianQuotientInvariants \((G,~n)\) : Let \(G\) be an fp-group, \(n\) a small integer and \(N\) the normal subgroup of \(G\) generated by the derived group \(G'\) together with all \(n\)-th powers of elements of \(G\). The elementary divisors of the quotient group \(G/N\), are returned as a sequence of integers.

AbelianQuotientPrimes \((G)\) : Return a sequence of primes containing all prime divisors in the order of \(G/G'\), if this is finite. Note that there may be primes in the return sequence which do not divide this order. If [ 0 ] is returned then \(G/G'\) is infinite. If [] is returned, then \(G\) is perfect.

HasComputableAbelianQuotient \((G)\) : Given an fp-group \(G\), this intrinsic tests whether the abelian quotient of \(G\) can be computed. If so, it returns the value true, the abelian quotient \(A\) of \(G\) and the natural epimorphism \(\pi:G\rightarrow A\). If the abelian quotient of \(G\) cannot be computed, the value false is returned.

HasInfiniteComputableAbelianQuotient \((G)\) : Given an fp-group \(G\), this function tests whether the abelian quotient of \(G\) can be computed and is infinite. If so, it returns the value true, the abelian quotient \(A\) of \(G\) and the natural epimorphism \(\pi:G\rightarrow A\). If the abelian quotient of \(G\) cannot be computed or if it is finite, the value false is returned.

Notes:

(i)

A number of variations on the above intrinsics may be found in chapter Finitely Presented Groups.

(ii)

The above intrinsics require either a presentation for \(G\), or the coset table for \(G\) inside some supergroup of \(G\) which has a presentation. If such a coset table cannot be computed, an error will result.

(iii)

Some functions may require the computation of a coset table. Experienced users can control the behaviour of an implicit coset enumeration by setting global parameters which can be changed using the function SetGlobalTCParameters.

(iv)

Intrinsics with names of the form AbelianQuotientName can be abbreviated to AQName, where name is Quotient, Primes or Invariants.

(v)

Considerable effort has been put into computing the Smith Normal Form for large integer matrices that can arise when executing these intrinsics. An important application where such large matrices arise is when the input is the integer matrix resulting from the abelianisation of the presentation of a subgroup \(H\) which has been constructed by rewriting the presentation of its parent group. If the index is large (even 50 or 100) then the presentation of \(H\) may be huge.

(vi)

The intrinsic HasInfiniteComputableAbelianQuotient first checks the modular abelian invariants for a set of small primes. If for one of these primes the modular abelian quotient is trivial, then \(A\) must be finite and the function returns without actually computing the abelian quotient. This heuristic may save time if only infinite quotients are of interest.

Example: F27 (ex-12a8db)#

The Fibonacci group \(F(7)\) has the following \(2\)-generator presentation:

\[<a,b \ |\ a^2b^{-2}a^{-1}b^{-2}(a^{-1}b^{-1})^2, abab^2abab^{-1}(ab^2)^2>.\]

The goal is to determine the structure of this group.

> F<a, b> := FreeGroup(2);
> F7<a, b> := quo< F |  a^2*b^-2*a^-1*b^-2*(a^-1*b^-1)^2,
>        a*b*a*b^2*a*b*a*b^-1*(a*b^2)^2 >;
> F7;
Finitely presented group F7 on 2 generators
Relations
       a^2 * b^-2 * a^-1 * b^-2 * a^-1 * b^-1 * a^-1 * b^-1 =Id(F7)
       a * b * a * b^2 * a * b * a * b^-1 * a * b^2 * a * b^2 = Id()7

Run in calculator

The first step is to determine the structure of the maximal abelian quotient of \(F(7)\).

> AbelianQuotientInvariants(F7);
[ 29 ]

Run in calculator

The maximal abelian quotient of \(F(7)\) is cyclic of order 29. At this point there is no obvious way to proceed, so an attempt is made to determine the index of some subgroups.

> Index( F7, sub< F7 | a > );
1

Run in calculator

This demonstrates that \(F(7)\) is generated by \(a\) and so must be cyclic. This fact coupled with the knowledge that its abelian quotient has order 29 proves that the group is cyclic of order 29.

Example: Modular Abelian Quotient (ex-26e129)#

The group \(G = (8, 7\ |\ 2, 3)\) is defined by the presentation

\[< a, b \ | \ a^8, b^7, (ab)^2, (ab^{-1})^3 >.\]

The goal here is to determine the abelian quotient invariants of the (rather famous) subgroup \(H\) of \(G\), generated by the words \(a^2\) and \(ab^{-1}\):

> G<a, b> := FPGroup<a, b| a^8, b^7, (a * b)^2, (a * b^-1)^3>;
> H<x, y> := sub< G | a^2, a * b^-1 >;

Run in calculator

The fastest way to determine the order of the maximal 2-elementary abelian quotient of \(H\) is to use the modular version of AbelianQuotientInvariants:

> #AbelianQuotientInvariants(H, 2);
1

Run in calculator

So the maximal 2-elementary abelian quotient of \(H\) has order \(2^1\).

\(p\)-Quotient#

Let \(F\) be a finitely presented group, \(p\) a prime and \(c\) a positive integer. A \(p\)-quotient algorithm constructs a consistent power-conjugate presentation for the largest \(p\)-quotient of \(F\) having lower exponent-\(p\) class at most \(c\). The \(p\)-quotient algorithm used by Magma is part of the ANU \(p\)-Quotient program. For details of the algorithm, see [Newman and O'Brien, 1996]. The result is returned as a group of type GrpPC (cf. chapter Finite Soluble Groups).

Intrinsics:

pQuotient \((G,\ p,\ c)\) : Given an fp-group \(G\), a prime \(p\) and a positive integer \(c\), construct a pc-presentation for the largest \(p\)-quotient \(Q\) of \(G\) having lower exponent-\(p\) class at most \(c\). If \(c\) is given as \(0\) then the limit 127 is placed on the class. The intrinsic also returns the natural homomorphism \(\pi\) from \(G\) to \(Q\), a sequence \(S\) describing the definitions of the pc-generators of \(Q\) and a flag indicating whether \(Q\) is the maximal \(p\)-quotient of \(G\).

Notes:

(i)

If the fp-group is a finite \(p\)-group then the \(p\)-quotient function can be used to construct a pc-presentation for the group.

(ii)

If the parameter Metabelian is set to true then a consistent pc-presentation is constructed for the largest metabelian \(p\)-quotient of \(G\) having lower exponent-\(p\) class at most \(c\).

(iii)

Assume that the \(p\)-quotient \(Q\) has order \(p^n\), Frattini rank \(d\), and that its generators are \(a_1, \ldots, a_n\). Then the power-conjugate presentation constructed has the following additional structure. The set \(\{a_1,\ldots,a_d\}\) is a generating set for \(G\). For each \(a_k\) in \(\{a_{d+1},\ldots,a_n\}\), there is at least one relation whose right hand side is \(a_k\). One of these relations is taken as the definition of \(a_k\).

(iv)

The intrinsic has the following parameters in addition to Metabelian:

-

Exponent enables an exponent law, \(x^m = 1\), to be imposed on the quotient being computed. It is set to a positive integer value \(m\).

-

Print enables the user to obtain verbose output during the running of the intrinsic. Legal values are the integers 1, 2, and 3.

-

Workspace allows the user to specify the size of workspace that will be assigned to the \(p\)-quotient job.

(v)

A process version of the \(p\)-quotient algorithm is provided. This enables the user to create a restartable computation which gives the user complete control over its execution. For a description see chapter Finitely Presented Groups.

(vi)

The \(k\)-th term of the return value sequence \(S\) is a sequence of two integers, describing the definition of the \(k\)-th pc-generator \(Q.k\) of \(Q\) as follows:-

-

If \(S[k] = [0,r]\), then \(Q.k\) is defined via the image of \(G.r\) under \(\pi\).

-

If \(S[k] = [r,0]\), then \(Q.k\) is defined via the power relation for \(Q.r\).

-

If \(S[k] = [r,s]\), then \(Q.k\) is defined via the conjugate relation involving \({(Q.r)}^{Q.s}\).

Example: p Quotient1 (ex-81ff16)#

In this example the largest \(2\)-quotient of class \(6\) for a two-generator, two-relator group is constructed.

> F<a,b> := FreeGroup(2);
> G := quo< F | (b, a, a) = 1, (a * b * a)^4 = 1 >;
> Q, fQ := pQuotient(G, 2, 6);
> Order(Q);
524288
> fQ;
Mapping from: GrpFP: G to GrpPC: Q

Run in calculator

Example: p Quotient2 (ex-94855c)#

The largest \(3\)-quotient of class \(6\) for a two-generator group of exponent \(9\) will be constructed.

> F<a,b> := FreeGroup(2);
> G := quo< F | a^3 = b^3 = 1 >;
> q := pQuotient(G, 3, 6: Print := 1, Exponent := 9);
Lower exponent-3 central series for G
Group: G to lower exponent-3 central class 1 has order 3^2
Group: G to lower exponent-3 central class 2 has order 3^3
Group: G to lower exponent-3 central class 3 has order 3^5
Group: G to lower exponent-3 central class 4 has order 3^7
Group: G to lower exponent-3 central class 5 has order 3^9
Group: G to lower exponent-3 central class 6 has order 3^11

Run in calculator

Example: p Quotient3 (ex-e48428)#

The parameter Metabelian: will be used to construct a metabelian \(5\)-quotient of the group

\[< a, b\ |\ a^{625} = b^{625} = 1, (b, a, b) = 1, (b, a, a, a, a) = (b, a)^5>.\]
> F<a, b> := FreeGroup(2);
> G := quo< F | a^625 = b^625 = 1, (b, a, b) = 1,
>           (b, a, a, a, a) = (b, a)^5 >;
> q := pQuotient(G, 5, 20: Print := 1, Metabelian := true);
Lower exponent-5 central series for G
Group: G to lower exponent-5 central class 1 has order 5^2
Group: G to lower exponent-5 central class 2 has order 5^5
Group: G to lower exponent-5 central class 3 has order 5^8
Group: G to lower exponent-5 central class 4 has order 5^11
Group: G to lower exponent-5 central class 5 has order 5^12
Group: G to lower exponent-5 central class 6 has order 5^13
Group: G to lower exponent-5 central class 7 has order 5^14
Group: G to lower exponent-5 central class 8 has order 5^15
Group: G to lower exponent-5 central class 9 has order 5^16
Group: G to lower exponent-5 central class 10 has order 5^17
Group: G to lower exponent-5 central class 11 has order 5^18
Group: G to lower exponent-5 central class 12 has order 5^19
Group: G to lower exponent-5 central class 13 has order 5^20
Group completed. Lower exponent-5 central class = 13, order = 5^20

Run in calculator

Nilpotent Quotient#

A nilpotent quotient algorithm constructs, from a finite presentation of a group, a polycyclic presentation for a nilpotent quotient of the finitely presented group. The nilpotent quotient algorithm used by Magma is the ANU Nilpotent Quotient program, as described in [Nickel, 1996]. The version included in Magma is Version 2.2 of January 2007.

The lower central series \(G_0, G_1, \dots\) of a group \(G\) can be defined inductively as \(G_0 = G\), \(G_i = [G_(i-1),G]\). The group \(G\) is said to have nilpotency class \(c\) if \(c\) is the smallest non-zero integer such that \(G_c = 1\). If \(N\) is a normal subgroup of \(G\) and \(G/N\) is nilpotent, then \(N\) contains \(G_i\) for some non-negative integer \(i\). \(G\) has infinite nilpotent quotients if and only if \(G/G_1\) (the maximal abelian quotient of \(G\)) is infinite and a prime \(p\) divides a finite factor of a nilpotent quotient if and only if \(p\) divides a cyclic factor of \(G/G_1\).

Intrinsics:

NilpotentQuotient \((G,\ c)\) : The class \(c\) nilpotent quotient of \(G\) is computed as a group in category GrpGPC, and is returned together with the epimorphism \(\pi\) from \(G\) onto this quotient. When \(c\) is set to zero, the function attempts to compute the maximal nilpotent quotient of \(G\).

Notes:

(i)

There are a number of parameters associated with this intrinsic and descriptions of these can be found in chapter Finitely Presented Groups.

(ii)

The verbose identifier for this intrinsic is NilpotentQuotient which takes a small positive integer \(n\) in the range \([0..3]\). Setting \(n\) to be 0 turns printing off and this is the default value.

Example: Nilpotent Quotient0 (ex-0b5725)#

Here is a finitely presented group. The abelian quotient is infinite so the class 2 nilpotent quotient is computed.

> G := Group<x,y,z|(x*y*z^-1)^2, (x^-1*y^2*z)^2, (x*y^-2*x^-1)^2 >;
> AbelianQuotient(G);
Abelian Group isomorphic to Z/2 + Z/2 + Z
Defined on 3 generators
Relations:
  2*$.1 = 0
  2*$.2 = 0
> N := NilpotentQuotient(G,2); N;
GrpGPC : N of infinite order on 6 PC-generators
PC-Relations:
  N.1^2 = N.3^2 * N.5,
  N.2^2 = N.4 * N.6,
  N.4^2 = Id(N),
  N.5^2 = Id(N),
  N.6^2 = Id(N),
  N.2^N.1 = N.2 * N.4,
  N.3^N.1 = N.3 * N.5,
  N.3^N.2 = N.3 * N.6

Run in calculator

Example: Nilpotent Quotient1 (ex-470660)#

The free nilpotent group of rank \(r\) and class \(e\) is defined as \(F / \gamma_{e+1}(F)\), where \(F\) is a free group of rank \(r\) and \(\gamma_{e+1}(F)\) denotes the \((e+1)\) st term of the lower central series of \(F\). The intrinsic NilpotentQuotient will be used to construct the free nilpotent group \(N\) of rank 2 and class 3 as quotient of the free group \(F\) of rank 2 and the natural epimorphism from \(F\) onto \(N\).

> F<a,b> := FreeGroup(2);
> N<[x]>, pi := NilpotentQuotient(F, 3);
> N;
GrpGPC : N of infinite order on 5 PC-generators
PC-Relations:
    x[2]^x[1] = x[2] * x[3],
    x[2]^(x[1]^-1) = x[2] * x[3]^-1 * x[4],
    x[3]^x[1] = x[3] * x[4],
    x[3]^(x[1]^-1) = x[3] * x[4]^-1,
    x[3]^x[2] = x[3] * x[5],
    x[3]^(x[2]^-1) = x[3] * x[5]^-1

Run in calculator

Next the nilpotency class of the quotient will be confirmed..

> NilpotencyClass(N);
3

Run in calculator

Example: Nilpotent Quotient2 (ex-f4b49e)#

The Baumslag–Solitar groups

\[BS(p,q) = \langle\ a,\ b\ \vert\ ab^pa^{-1} = b^q \rangle\ \]

form a fascinating class of 1-relator groups. The nilpotent quotient of class 4 for \(q = 4\), will be computed and the preimages of its generators identified.

> G<a,b> := FPGroup<a,b|a*b*a^-1=b^4>;
> N,f := NilpotentQuotient(G,4);
> N;
GrpGPC : N of infinite order on 5 PC-generators
PC-Relations:
  N.2^3 = N.3^2 * N.4^2 * N.5,
  N.3^3 = N.4^2 * N.5^2,
  N.4^3 = N.5^2,
  N.5^3 = Id(N),
  N.2^N.1 = N.2 * N.3,
  N.2^(N.1^-1) = N.2 * N.3^2 * N.4^2 * N.5,
  N.3^N.1 = N.3 * N.4,
  N.3^(N.1^-1) = N.3 * N.4^2 * N.5^2,
  N.4^N.1 = N.4 * N.5,
  N.4^(N.1^-1) = N.4 * N.5^2
> for i := 1 to Ngens(N) do N.i @@ f; end for;
 a
 b
 (b, a)
 (b, a, a)
 (b, a, a, a)

Run in calculator

Soluble Quotient#

A soluble quotient algorithm computes a consistent power-conjugate presentation (pc-presentation) of the largest finite soluble quotient of an fp-group, subject to certain algorithmic and user supplied restrictions. In this section a description of a basic version of the algorithm available within Magma in given. For more information the user is referred to chapter Finitely Presented Groups.

Intrinsics:

SolvableQuotient/SolubleQuotient \((G)\) : Given an fp-group \(G\), the largest finite soluble quotient \(Q\) is returned. The epimorphism \(\phi : G \rightarrow Q\) is also returned.

SolvableQuotient/SolubleQuotient \((G, n)\) : Given an fp-group \(G\) and a positive integer \(n\), a soluble quotient \(Q\) of order \(n\) is returned. The \(\phi : G \rightarrow Q\) is also returned. When the order of \(Q\) is known in advance, this version can avoid work in proving that the final quotient is maximal.

SolvableQuotient/SolubleQuotient \((G, P)\) : Given an fp-group \(G\) and a sequence \(P\) containing primes this intrinsic calculates the largest soluble quotient whose order has prime divisors only in \(P\). The epimorphism \(\phi : G \rightarrow Q\) is also returned. This version is included since finding the possible primes at each step can be very expensive.

Notes:

(i)

A user wishing to get the most out of SolubleQuotient should note that there is a complex interface to it and the user should read the full description of this intrinsic, its variations and the parameters available, in chapter Finitely Presented Groups.

(ii)

In the case of SolubleQuotient \((G,~n)\), if \(n>0\) is not the order of the maximal finite soluble quotient, then it may happen that no group of order \(n\) can be found, since an epimorphic image of size \(n\) may not be exhibited by the chosen series.

Example: Soluble Quotient1 (ex-211a7e)#

The soluble quotient of the group

\[\langle a,b \,\,|\,\, a^2, b^4, ab^{-1}ab(abab^{-1})^5ab^2ab^{-2} \rangle\]

will be computed.

> G<a,b> := FPGroup< a, b | a^2, b^4,
>                     a*b^-1*a*b*(a*b*a*b^-1)^5*a*b^2*a*b^-2 >;
> Q := SolubleQuotient(G);
> Q;
GrpPC : Q of order 1920 = 2^7 * 3 * 5
PC-Relations:
    Q.1^2 = Q.4,
    Q.2^2 = Id(Q),
    Q.3^2 = Q.6,
    Q.4^2 = Id(Q),
    Q.5^2 = Q.7,
    Q.6^2 = Id(Q),
    Q.7^2 = Id(Q),
    Q.8^3 = Id(Q),
    Q.9^5 = Id(Q),
    Q.2^Q.1 = Q.2 * Q.3,
    Q.3^Q.1 = Q.3 * Q.5,
    Q.3^Q.2 = Q.3 * Q.6,
    Q.4^Q.2 = Q.4 * Q.5 * Q.6 * Q.7,
    Q.4^Q.3 = Q.4 * Q.6 * Q.7,
    Q.5^Q.1 = Q.5 * Q.6,
    Q.5^Q.2 = Q.5 * Q.7,
    Q.5^Q.4 = Q.5 * Q.7,
    Q.6^Q.1 = Q.6 * Q.7,
    Q.8^Q.1 = Q.8^2,
    Q.8^Q.2 = Q.8^2,
    Q.9^Q.1 = Q.9^3,
    Q.9^Q.2 = Q.9^4,
    Q.9^Q.4 = Q.9^4

Run in calculator

Example: Soluble Quotient2 (ex-820eb8)#

Consider the group \(G\) defined by the presentation

\[\langle x, y \;\;|\;\; x^3, y^8, [x,y^4], x^{-1}yx^{-1}y^{-1}xyxy^{-1}, (xy^{-2})^2(x^{-1}y^{-2})^2(xy^2)^2(x^{-1}y^2)^2, (x^{-1}y^{-2})^6(x^{-1}y^2)^6 \rangle.\]
> G<x, y> := FPGroup< x, y | x^3, y^8, (x,y^4), x^-1*y*x^-1*y^-1*x*y*x*y^-1,
>   (x*y^-2)^2*(x^-1*y^-2)^2*(x*y^2)^2*(x^-1*y^2)^2, (x^-1*y^-2)^6*(x^-1*y^2)^6 >;

Run in calculator

The soluble quotient algorithm will be applied to \(G\) and its order computed.

> time Q := SolubleQuotient(G);
Time: 4.620
> Order(Q);
165888

Run in calculator

Note that \(165888 = 2^{11} \cdot 3^4\). Knowing the primes in advance makes the computation faster:

> time Q := SolubleQuotient(G, {2, 3});
Time: 1.900

Run in calculator

Assuming that \(G\) is finite the Todd–Coxeter procedure will used to find its order:

> Order(G);
165888

Run in calculator

Hence the group \(G\) is finite, soluble and isomorphic to \(Q\). Since \(Q\) is defined by a pc-presentation anything can be computed for it and so it can be used to obtain information about \(G\).

> #ConjugacyClasses(Q);
272

Run in calculator

So \(G\) has 272 conjugacy classes of elements.

Simple Group Quotients#

The previous four methods for finding epimorphisms of an fp-group \(G\) only apply when \(G\) has a non-trivial abelian quotient, that is, when \(G\) is not perfect. This and the next subsection present methods for the case in which \(G\) is perfect. The first method searches through a list of non-abelian simple groups to find simple quotients of \(G\) as permutation groups. It is similar to the algorithm used to find homomorphisms of an fp-group onto a permutation group. Currently (2019) the list of target simple groups consists of all non-abelian simple groups having order less than \(10^{10}\). Such a list is dominated by \({\operatorname{PSL}}(2,q)\)’s with \(q\) odd. In the current implementation these \({\operatorname{PSL}}(2,q)\)’s are treated as an infinite family rather than stored individually, and so continue beyond the above limit.

Intrinsics:

SimpleQuotients \((G,~deg1,~deg2,~ord1,~ord2)\) :

SimpleQuotients \((G,~ord1,ord2)\) :

The homomorphism algorithm is used to find epimorphisms from \(G\) onto non-abelian simple groups in a fixed list. The arguments \(deg1\) and \(deg2\) are respectively lower and upper bounds for the degree of the image group. If the degree arguments are not present then bounds of \(5\) and \(10^{10}\) are used. The arguments \(ord1\) and \(ord2\) are, respectively, lower and upper bounds for the orders of the image group. (Setting \(ord2\) low enough is particularly important if a quick search is required. If \(ord1\) is not given then it defaults to \(1\). The return value is a list of sequences containing the epimorphisms found. Each sequence contains epimorphisms onto one simple group.

The parameter Limit limits the number of successful searches to be performed by Homomorphisms. The default value is 1, so by default the search terminates with the first simple group found to be a homomorphic image of \(G\).

Notes:

(i)

The parameter Limit limits the number of successful searches that are to be performed by Homomorphisms. The default value is 1, so by default the search terminates with the first simple group found to be a homomorphic image of \(G\).

(ii)

The parameter HomLimit limits the number of homomorphisms that will be searched for by any particular call to Homomorphisms. It defaults to zero, so that all homomorphisms for any group found will be returned in that case.

(iii)

The parameter Family selects sublists of the main list to search. Possible values of this parameter are "All", "PSL", "PSL2", "Mathieu", "Alt", "PSp", "PSU", "Other", and "notPSL2"; sets of these strings are also allowed, which searches on the union of the appropriate sublists.

(iii)

A process version of SimpleQuotients creates a restartable version of the computation so that it returns a result to the user each time a new epimorphism is found. It involves three intrinsics:

  • SimpleQuotientProcess has the same arguments as SimpleQuotient. It initialises the process and returns a name \(P\) for future reference to the process.

  • NextSimpleQuotient \((P)\), where \(P\) is the process name continues the search until the next epimorphism is found whereupon it is returned and the process is suspended until the next call.

  • IsEmptySimpleQuotientProcess \((P)\), where \(P\) is the process name, returns false when the search has been completed and true otherwise.

Full details can be found in chapter Finitely Presented Groups.

Example: Simple Quotients (ex-af2186)#

The following finitely presented group is perfect so a search is made for simple quotients. The first search is for simple quotients of order not exceeding \(10^5\) and degree not exceeding 100.

> G := FPGroup<a, b, c | a^13, b^3, c^2,a = b*c>;
> IsPerfect(G);
true
> L := SimpleQuotients(G, 1, 100, 2, 10^5 : Limit := 2);
> #L;
2
> for x in L do CompositionFactors(Image(x[1])); end for;
    G
    |  A(1, 13)               = L(2, 13)
    1
    G
    |  A(2, 3)                = L(3, 3)
    1
> L[2,1];
Homomorphism of GrpFP: F into GrpPerm: $, Degree 13, Order
2^4 * 3^3 * 13 induced by
F.1 |--> (1, 10, 4, 5, 11, 8, 3, 6, 7, 12, 9, 13, 2)
F.2 |--> (2, 10, 4)(3, 6, 7)(5, 11, 13)(8, 12, 9)
F.3 |--> (1, 10)(2, 5)(3, 12)(8, 13)
> #L[2];
2

Run in calculator

The simple groups L(2,13) and L(3,3) are quotients, with two inequivalent homomorphisms onto the second group. The process mechanism will be used to search for projective unitary groups of order up to \(10^6\) and having permutation representations of degree not greater then 100.

> P := SimpleQuotientProcess(G, 1, 100, 2, 10^6 : Family:="PSU");
> IsEmptySimpleQuotientProcess(P);
false
> eps, info := SimpleEpimorphisms(P);
> info;
<65, 62400, PSU(3, 4)>

Run in calculator

The group PSU(3,4) of order 62400 and degree 65 is a quotient of \(G\). The process is restarted.

> NextSimpleQuotient(~P);
> IsEmptySimpleQuotientProcess(P);
true

Run in calculator

There are no more unitary group quotients within the given degree and order limits.

\({\rm L}_2\)-Quotients#

Given an fp-group \(G\), the \(L_2\)-quotient algorithm of Plesken, Fabianska and Jambor computes all quotients of \(G\) which are isomorphic to the \(2\)-dimensional linear groups \(PSL(2, q)\) or \(PGL(2, q)\) simultaneously for any prime power \(q\). The algorithm can handle the case of infinitely many quotients, and also works for very large prime powers. In practice it is fast when the number of generators is small and can be used to show that many fp-groups are infinite. While the simple groups \(PSL(2, q)\) represent just one dimension in one family out of 16 families of simple groups, in a given range of orders, they are very numerous compared to other simple groups. See [Jambor, 2012] or [Jambor, 2015] for more information about the \(L_2\)-quotient algorithm.

In this chapter only part of the \(L_2\)-quotient machinery is discussed while computing \(L_3\)- and \(U_3\)-quotients is not discussed at all. The reader is referred to chapter Finitely Presented Groups for a complete treatment of the \(L_2/L_3/U_3\)-quotient machinery.

The term \(L_2\)-quotient will include both of the groups \(PSL(2, q)\) and \(PGL(2, q)\). \(L_2\)-quotients have their own Magma type: L2Quotient. Some fp-groups \(G\) have infinitely many \(L_2\)-quotients and this is indicated by one of the \(L_2\)-quotient names L_2(infty^k), L_2(p^(infty^d)), or L_2(infty^(infty^d)).

Intrinsics:

L2Quotients \((G)\) : Given a fp group \(G\), a sequence containing all \({\rm L}_2\)-quotients is returned.

GetMatrices \((Q)\) : For a finite \(L_2\)-quotient \(Q\) of \(G\), (that is, a quotient \(L_2(p^k)\) or \({\operatorname{PGL}}(2,p^k)\)), this intrinsic returns a matrix group \(H\) and a sequence \(A\) of \(2\times 2\) matrices in \(H\), where \(A[i]\) corresponds to the \(i\)-th generator of \(G\). Note that \(G \rightarrow H\), \(G.i \rightarrow A[i]\) does not in general define a homomorphism, but the induced map \(G \rightarrow H/Z(H)\) does.

Notes:

(i)

At the moment the algorithm does not return images onto the groups \(PSL(2, 2)\), \(PSL(2, 3)\), and \(PSL(2, 4) = PSL(2 , 5)\).

(ii)

Infinite quotients should be interpreted as follows:

  • Quotients of type \({\rm L}_2(\infty^k)\) : If \(G\) has a quotient \({\rm L}_2(\infty^k)\), then for almost all (all but finitely many) primes \(p\), \(G\) has finitely many quotients of type \({{\operatorname{PSL}}}(2,p^r)\) or \({{\operatorname{PGL}}}(2,p^{r/2})\) with \(r \leq k\). So \({\rm L}_2(\infty^k)\) is a mnemonic, where \(\infty\) in the base stands for infinitely many primes, and \(k\) stands for the highest possible exponent.

  • Quotients of type \({\rm L}_2(p^{\infty^d})\) : If \(G\) has a quotient \({\rm L}_2(p^{\infty^d})\), then there are infinitely many positive integers \(k\) such that \(G\) has a quotient of type \({{\operatorname{PSL}}}(2,p^k)\) or \({{\operatorname{PGL}}}(2,p^k)\). So \({\rm L}_2(p^{\infty^d})\) is a mnemonic, where \(\infty\) in the exponent stands for infinitely many possible exponents. The parameter \(d\) describes the degree of infinity, and is omitted if \(d = 1\).

  • Quotients of type \({\rm L}_2(\infty^{\infty^d})\) : If \(G\) has a quotient \({\rm L}_2(\infty^{\infty^d})\), then for almost all primes \(p\) and infinitely many positive integers \(k\), \(G\) has a quotient of type \({{\operatorname{PSL}}}(2,p^k)\) or \({{\operatorname{PGL}}}(2,p^k)\). So \({\rm L}_2(\infty^{\infty^d})\) is a mnemonic, where \(\infty\) in the base stands for infinitely many primes, and \(\infty\) in the exponent stands for infinitely many possible exponents. The parameter \(d\) describes the degree of infinity, and is omitted if \(d = 1\). These quotients can be further investigated using the methods AddGroupRelations, AddRingRelations, and SpecifyCharacteristic.

Example: L2Quotient (ex-5313fb)#

The \(L_2\)-quotients of a certain finitely-presented group will be computed.

> G := FPGroup< a,b | a^2, b^3, (a*b)^7, (a,b)^11 >;
> L2Quotients(G);
[
    L_2(43)
]
> H := FPGroup< a,b,c | a^3, b^7, c^19, (a*b)^2, (a*c)^2, (b*c)^2, (a*b*c)^2 >;
> L2Quotients(H);
[
    L_2(113)
]

Run in calculator

This means that \(G\) has \({\operatorname{PSL}}(2,43)\) as quotient, but no other \({\operatorname{PSL}}(2,q)\) or \({\operatorname{PGL}}(2,q)\) is a quotient of \(G\). Similarly, the only \(L_2\)-quotient of \(H\) is \({\operatorname{PSL}}(2,113)\).

The next example has more quotients:

> G := FPGroup< a,b | a^2, b^3, (a*b)^16, (a,b)^11 >;
> L2Quotients(G);
[
    PGL(2,23),
    PGL(2,23),
    PGL(2,463)
]

Run in calculator

Here \({\operatorname{PGL}}(2,23)\) occurs twice. This means that there are two epimorphisms of \(G\) onto \({\operatorname{PGL}}(2,23)\) which do not differ by an automorphism of \({\operatorname{PGL}}(2,23)\). In other words, the kernels of the epimorphisms are distinct.

Example: L2Quotient Infinite (ex-0eaade)#

Some groups have infinitely many \(L_2\)-quotients. This is indicated by one of the \(L_2\)-quotients L_2(infty^k), L_2(p^(infty^d)), or L_2(infty^(infty^d)), as the follow examples illustrate.

> G := FPGroup< a,b,c | a^3, b^7, (a*b)^2, (a*c)^2, (b*c)^2, (a*b*c)^2 >;
> L2Quotients(G);
[
    L_2(infty^6)
]
> H := FPGroup<a,b,c | a^3, (a,c)=(c,a^-1), a*b*a=b*a*b, a*b*a*c^-1=c*a*b*a>;
> L2Quotients(H);
[
    L_2(3^infty)
]
> K := FPGroup< a,b | a^3*b^3 >;
> L2Quotients(K);
[
    L_2(infty^infty)
]

Run in calculator

Example: L2Quotient Get Matrices (ex-ba85d0)#

The following example illustrates how the quotient matrix groups can be accessed.

> H := FPGroup< a,b,c | a^3, b^7, c^19, (a*b)^2, (a*c)^2, (b*c)^2, (a*b*c)^2 >;
> quot := L2Quotients(H); quot;
[
    L_2(113)
]
> H, A := GetMatrices(quot[1]);
> H;
MatrixGroup(2, GF(113))
Generators:
    [  0   1]
    [112 112]

    [  0  85]
    [109  24]

    [102 104]
    [ 63  72]
> A;
[
    [  0   1]
    [112 112],

    [  0  85]
    [109  24],

    [102 104]
    [ 63  72]
]

Run in calculator