The full modular group , regarded as a congruence
subgroup of itself.
The modular group ${rm SL}_2(Z)$.
EXAMPLES:
sage: G = SL2Z; G
Modular Group SL(2,Z)
sage: G.gens()
([ 0 -1]
[ 1 0], [1 1]
[0 1])
sage: G.0
[ 0 -1]
[ 1 0]
sage: G.1
[1 1]
[0 1]
sage: latex(G)
\mbox{\rm SL}_2(\Bold{Z})
sage: G([1,-1,0,1])
[ 1 -1]
[ 0 1]
sage: loads(G.dumps()) == G
True
sage: SL2Z.0 * SL2Z.1
[ 0 -1]
[ 1 1]
sage: SL2Z == loads(dumps(SL2Z))
True
sage: SL2Z is loads(dumps(SL2Z))
True
Used for pickling self.
EXAMPLES:
sage: SL2Z.__reduce__()
(<function _SL2Z_ref at ...>, ())
Return the LaTeX representation of self.
EXAMPLES:
sage: SL2Z._latex_()
'\\mbox{\\rm SL}_2(\\Bold{Z})'
sage: latex(SL2Z)
\mbox{\rm SL}_2(\Bold{Z})
Return the string representation of self.
EXAMPLES:
sage: SL2Z._repr_()
'Modular Group SL(2,Z)'
Return True if self is a subgroup of right.
EXAMPLES:
sage: SL2Z.is_subgroup(SL2Z)
True
sage: SL2Z.is_subgroup(Gamma1(1))
True
sage: SL2Z.is_subgroup(Gamma0(6))
False
Return a random element of with entries whose
absolute value is strictly less than bound (default 100).
(Algorithm: Generate a random pair of integers at most bound. If they
are not coprime, throw them away and start again. If they are, find an
element of whose bottom row is that, and
left-multiply it by
for
an integer
randomly chosen from a small enough range that the
answer still has entries at most bound.)
It is, unfortunately, not true that all elements of SL2Z with entries < bound appear with equal probability; those with larger bottom rows are favoured, because there are fewer valid possibilities for w.
EXAMPLES:
sage: SL2Z.random_element() # random
sage: SL2Z.random_element(5) # still random
Return the unique reduced cusp equivalent to c under the action of self. Always returns Infinity, since there is only one equivalence class of cusps for $SL_2(Z)$.
EXAMPLES:
sage: SL2Z.reduce_cusp(Cusps(-1/4))
Infinity
Return SL2Z. (Used for pickling SL2Z.)
EXAMPLES:
sage: sage.modular.arithgroup.congroup_sl2z._SL2Z_ref()
Modular Group SL(2,Z)
sage: sage.modular.arithgroup.congroup_sl2z._SL2Z_ref() is SL2Z
True
Return True if x is the modular group .
EXAMPLES:
sage: from sage.modular.arithgroup.all import is_SL2Z
sage: is_SL2Z(SL2Z)
True
sage: is_SL2Z(Gamma0(6))
False