Skip to content

Bug in "GeneratorsOfGroup" for congruence subgroups generated by this package #8

@oxeimon

Description

@oxeimon

Dear all,

I believe I have found a bug for the congruence subgroup package.

I am running GAP 4.10.0 from Nov 2018 - probably not the latest, but I doubt any updates have been made to the congruence subgroup package since then.

Specifically, the error is in the Congruence package's implementation of "GeneratorsOfGroup" for their congruence subgroups. The simplest example is the following. When I call:

GeneratorsOfGroup(CongruenceSubgroupGamma0(3));

I get the pair:

[ [ [ 1, 1 ], [ 0, 1 ] ], [ [ 1, -1 ], [ 3, -2 ] ] ]

One can check explicitly that in terms of the generators E = [[0,1],[-1,0]] and V = [[1,1],[-1,0]], this pair is given by:

EV^-1 and (E^-1V)^3 * (V*E^-1)

If one presents SL(2,Z) as generated by E,V with relations E^4, E^2*V^-3, then one can compute that E^2 = -1 does not lie in the subgroup generated by these two elements, even though of course -1 lies in the subgroup Gamma0(3).

One can check that this issue is indeed with "GeneratorsOfGroup", since the command

Index(SL(2,Integers),CongruenceSubgroupGamma0(3));

Yields the correct result (ie, 4), whereas the subgroup generated by EV^-1 and (E^-1V)^3 * (V*E^-1) gives rise to an index 8 subgroup.

Here is my guess: Their algorithm, which seems to be geometric in nature, is likely working via the action of SL(2,Z) on the upper half plane, but this has kernel {1,-1}. Thus, I'm guessing their generators only generate the subgroup inside PSL(2,Z), ie up to {1,-1}. This contradicts their documentation in https://www.gap-system.org/Manuals/pkg/congruence-1.2.2/doc/manual.pdf , where they claim that this command gives generators in SL(2,Z).

A similar error occurs for Gamma0(n) with n = 4,6,7,8,9,11,12,14,15,...

I hope this helps!

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions