An element of an arithmetic subgroup of .
Compare self to right.
EXAMPLES:
sage: x = Gamma0(18)([19,1,18,1])
sage: x.__cmp__(3) is not 0
True
sage: x.__cmp__(x)
0
sage: x = Gamma0(5)([1,1,0,1])
sage: x == 0
False
This once caused a segfault (see trac #5443):
sage: r,s,t,u,v = Gamma0(2).gens()
sage: v == s*u
True
sage: s*u == v
True
Fetch entries by direct indexing.
Create an element of an arithmetic subgroup.
INPUT: - parent - an arithmetic subgroup
EXAMPLES:
sage: G = Gamma0(27)
sage: sage.modular.arithgroup.arithgroup_element.ArithmeticSubgroupElement(G, [4,1,27,7])
[ 4 1]
[27 7]
sage: sage.modular.arithgroup.arithgroup_element.ArithmeticSubgroupElement(Integers(3), [4,1,27,7])
...
TypeError: parent (= Ring of integers modulo 3) must be an arithmetic subgroup
sage: sage.modular.arithgroup.arithgroup_element.ArithmeticSubgroupElement(G, [2,0,0,2])
...
TypeError: matrix must have determinant 1
sage: sage.modular.arithgroup.arithgroup_element.ArithmeticSubgroupElement(G, [2,0,0,2], check=False)
[2, 0, 0, 2]
sage: x = Gamma0(11)([2,1,11,6])
sage: x == loads(dumps(x))
True
sage: x = Gamma0(5).0
sage: SL2Z(x)
[1 1]
[0 1]
sage: x in SL2Z
True
Return the inverse of self.
EXAMPLES:
sage: Gamma0(11)([1,-1,0,1]).__invert__()
[1 1]
[0 1]
EXAMPLES:
sage: Gamma0(2).0
[1 1]
[0 1]
sage: list(Gamma0(2).0)
[1, 1, 0, 1]
Return True, since the self lives in SL(2,Z), which does not contain the zero matrix.
EXAMPLES:
sage: x = Gamma0(5)([1,1,0,1])
sage: x.__nonzero__()
True
Return the string representation of self.
EXAMPLES:
sage: Gamma1(5)([6,1,5,1]).__repr__() '[6 1]
[5 1]’
Return self * right.
EXAMPLES:
sage: x = Gamma0(7)([1,0,7,1]) * Gamma0(7)([3,2,7,5]) ; x # indirect doctest
[ 3 2]
[28 19]
sage: x.parent()
Congruence Subgroup Gamma0(7)
Return the upper left entry of self.
EXAMPLES:
sage: Gamma0(13)([7,1,13,2]).a()
7
Return the result of the action of self on z as a fractional linear transformation.
EXAMPLES:
sage: G = Gamma0(15)
sage: g = G([1, 2, 15, 31])
An example of g acting on a symbolic variable:
sage: z = var('z')
sage: g.acton(z)
(z + 2)/(15*z + 31)
An example involving the Gaussian numbers:
sage: K.<i> = NumberField(x^2 + 1)
sage: g.acton(i)
1/1186*i + 77/1186
An example with complex numbers:
sage: C.<i> = ComplexField()
sage: g.acton(i)
0.0649241146711636 + 0.000843170320404721*I
Return the upper right entry of self.
EXAMPLES:
sage: Gamma0(13)([7,1,13,2]).b()
1
Return the lower left entry of self.
EXAMPLES:
sage: Gamma0(13)([7,1,13,2]).c()
13
Return the lower right entry of self.
EXAMPLES:
sage: Gamma0(13)([7,1,13,2]).d()
2
Return the determinant of self, which is always 1.
EXAMPLES:
sage: Gamma1(11)([12,11,-11,-10]).det()
1
Return the determinant of self, which is always 1.
EXAMPLES:
sage: Gamma0(691)([1,0,691,1]).determinant()
1
Return the matrix corresponding to self.
EXAMPLES:
sage: x = Gamma1(3)([4,5,3,4]) ; x
[4 5]
[3 4]
sage: x.matrix()
[4 5]
[3 4]
sage: type(x.matrix())
<type 'sage.matrix.matrix_integer_2x2.Matrix_integer_2x2'>