List of coset representatives for \(\Gamma_1(N)\) in \({\rm SL}_2(\ZZ)\)

class sage.modular.modsym.g1list.G1list(N)

A class representing a list of coset representatives for \(\Gamma_1(N)\) in \({\rm SL}_2(\ZZ)\). What we actually calculate is a list of elements of \((\ZZ/N\ZZ)^2\) of exact order \(N\).

TESTS:

sage: L = sage.modular.modsym.g1list.G1list(18)
sage: loads(dumps(L)) == L
True
list()

Return a list of vectors representing the cosets. Do not change the returned list!

EXAMPLE:

sage: L = sage.modular.modsym.g1list.G1list(4); L.list()
[(0, 1), (0, 3), (1, 0), (1, 1), (1, 2), (1, 3), (2, 1), (2, 3), (3, 0), (3, 1), (3, 2), (3, 3)]
normalize(u, v)

Given a pair \((u,v)\) of integers, return the unique pair \((u', v')\) such that the pair \((u', v')\) appears in self.list() and \((u, v)\) is equivalent to \((u', v')\). This is rather trivial, but is here for consistency with the P1List class which is the equivalent for \(\Gamma_0\) (where the problem is rather harder).

This will only make sense if \({\rm gcd}(u, v, N) = 1\); otherwise the output will not be an element of self.

EXAMPLE:

sage: L = sage.modular.modsym.g1list.G1list(4); L.normalize(6, 1)
(2, 1)
sage: L = sage.modular.modsym.g1list.G1list(4); L.normalize(6, 2) # nonsense!
(2, 2)

Previous topic

Lists of Manin symbols (elements of \(\mathbb{P}^1(\ZZ/N\ZZ)\)) over \(\QQ\)

Next topic

List of coset representatives for \(\Gamma_H(N)\) in \({\rm SL}_2(\ZZ)\)

This Page