The L2-quotient algorithm computes for a finitely presented group all quotients isomorphic to PSL(2,q) or PGL(2,q), simultaneously for all prime powers q.

A Magma implementation is available here: l2.tgz.
This includes an algorithm to compute minimal associated primes.

The algorithm requires a Magma version >= 2.19.

To use the algorithm, after starting magma, type

> Attach("minass.magma"); > AttachSpec("l2.spec");

Note that the algorithm does **not** return images
onto the groups PSL(2,2) = Sym(3), PSL(2,3) = Alt(4), and PSL(2,4) = PSL(2,5) = Alt(5).

- Basic usage
- Intermediate usage
- Advanced Usage
- Handling infinite L2-quotients
- Verbose printing
- References

The main method is L2Quotients, which takes a finitely presented group and computes all L2-quotients.

> G := Group< a,b | a^2, b^3, (a*b)^7, (a,b)^11 >; > L2Quotients(G); [ L_2(43) ] > H := Group< 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) ]This means that G has PSL(2,43) as quotient, but no other PSL(2,q) or PGL(2,q) is a quotient of G. Similarly, the only L2-quotient of H is PSL(2,113).

> G := Group< a,b | a^2, b^3, (a*b)^16, (a,b)^11 >; > L2Quotients(G); [ PGL(2,23), PGL(2,23), PGL(2,463) ]In this example, PGL(2,23) occurs twice. This means that there are two epimorphisms of G onto PGL(2,23) which do

Some groups have infinitely many L2-quotients. This is indicated by one of the L2-quotients L_2(infty^k), L_2(p^(infty^d)), or L_2(infty^(infty^d)). See below for an interpretation of this output, and how to use Magma to get more information about the quotients.

> G := Group< 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 := Group< 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 := Group< a,b | a^3*b^3 >; > L2Quotients(K); [ L_2(infty^infty) ]Even without further interpretation of the output, this tells us that these groups are all infinite.

> H := Group< 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] ]Note that G -> H, G.i -> A[i] does in general not define a homomorphism, but the induced map G -> H/Z(H) does.

> M := Matrix([[1,2,3,3],[2,1,4,5],[3,4,1,6],[3,5,6,1]]); > L2Quotients(M); [ L_2(4391), L_2(71) ]

The orders can be specified using the optional parameter exactOrders. This is a list of pairs, where the first entry is a word in the group, and the second entry is the order.

> G< a,b,c > := Group< a,b,c | a^16, b^4, c^2, (a*b)^8, (a,b)^4 >; > time quot := L2Quotients(G : time> exactOrders := [< a, 16 >, < b, 4 >, < c, 2 >, < a*b ,8 >, < (a,b), 4 >]); Time: 1.530

There are two basic methods to further investigate such quotients. The first is SpecifyCharacteristic, which takes an L2-quotient and an integer n, and computes the L2-quotients in characteristic p|n.

> G := Group< a,b | a^2, b^3, (a*b)^7 >; > quot := L2Quotients(G); quot; [ L_2(infty^3) ] > Q := quot[1]; > SpecifyCharacteristic(Q, 7); [ L_2(7) ] > SpecifyCharacteristic(Q, 11); [ L_2(11^3) ] > SpecifyCharacteristic(Q, 13); [ L_2(13), L_2(13), L_2(13) ]

> G := Group< a,b | a^2, b^3, (a*b)^7 >; > quot := L2Quotients(G); quot; [ L_2(infty^3) ] > Q := quot[1]; > AddGroupRelations(Q, [(a*b*a*b^-1*a*b)^12]); [ L_2(13), L_2(7) ]

Again, we can use AddGroupRelations to sudy this quotient further.

> H< a,b,c > := Group< 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 >; > quot := L2Quotients(H); quot; [ L_2(3^infty) ] > Q := quot[1]; > AddGroupRelations(Q, [((b^2*c^3)^2*a)^5]); [ L_2(3^2), L_2(3^4) ]

> H< a,b,c > := Group< 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 >; > quot := L2Quotients(H); quot; [ L_2(3^infty) ] > Q := quot[1]; > Q`Ideal; Ideal of Graded Polynomial ring of rank 7 over Integer Ring Order: Grevlex with weights [3, 2, 2, 2, 1, 1, 1] Variables: x123, x23, x13, x12, x3, x2, x1 Variable weights: [3, 2, 2, 2, 1, 1, 1] Inhomogeneous, Dimension >0 Groebner basis: [ x123^2 + 2*x123*x3 + 1, x23 + 2*x3, x13 + 2*x3, x12 + 2, x2 + 1, x1 + 1, 3 ] > R< x123, x23, x13, x12, x3, x2, x1 > := Generic(Q`Ideal); > AddRingRelations(Q, [x3^(3^4) - x3]); [ L_2(3^2), L_2(3^4), L_2(3^4), L_2(3^4), L_2(3^4), L_2(3^4), L_2(3^4), PGL(2,3^2), PGL(2,3^2), L_2(3^4), L_2(3^8), L_2(3^8), L_2(3^8), L_2(3^8), L_2(3^8), L_2(3^4) ]

[1] |
S. Jambor An L2-quotient algorithm for finitely presented groups on aribtrarily many generators Preprint (2014). |

[2] |
W. Plesken and A. Fabianska An L2-quotient algorithm for finitely presented groups J. Algebra 322 (2009), no. 3, 914--935. |