The principal congruence subgroup .
Create an element of this congruence subgroup from x.
If the optional flag check is True (default), check whether x actually gives an element of self.
EXAMPLES:
sage: G = Gamma(5)
sage: G([1, 0, -10, 1])
[ 1 0]
[-10 1]
sage: G(matrix(ZZ, 2, [26, 5, 5, 1]))
[26 5]
[ 5 1]
sage: G([1, 1, 6, 7])
...
TypeError: matrix must have diagonal entries (=1, 7) congruent to 1
modulo 5, and off-diagonal entries (=1,6) divisible by 5
Compare self to other.
EXAMPLES:
sage: Gamma(3) == SymmetricGroup(8)
False
sage: Gamma(3) == Gamma1(3)
False
sage: Gamma(5) < Gamma(6)
True
sage: Gamma(5) == Gamma(5)
True
Used for pickling self.
EXAMPLES:
sage: Gamma(5).__reduce__()
(<function Gamma_constructor at ...>, (5,))
Return the string representation of self.
EXAMPLES:
sage: Gamma(133)._repr_()
'Congruence Subgroup Gamma(133)'
Return the index of self in the full modular group. This is given by
prod_{substack{p mid N \ text{$p$ prime}}}left(p^{3e}-p^{3e-2}right).
Return the congruence subgroup .
EXAMPLES:
sage: Gamma(5) # indirect doctest
Congruence Subgroup Gamma(5)
sage: G = Gamma(23)
sage: G is Gamma(23)
True
sage: G == loads(dumps(G))
True
sage: G is loads(dumps(G))
True
Return True if x is a congruence subgroup of type Gamma.
EXAMPLES:
sage: from sage.modular.arithgroup.all import is_Gamma
sage: is_Gamma(Gamma0(13))
False
sage: is_Gamma(Gamma(4))
True