Elements of \({\operatorname{PSL}}_2({\mathbb{R}})\)#
Creation#
- G ! x: GrpPSL2, . -> GrpPSL2#
- G ! x: GrpPSL2, RngIntElt -> GrpPSL2#
- G ! x: GrpPSL2, GrpMatElt -> GrpPSL2#
- G ! x: GrpPSL2, AlgMatElt -> GrpPSL2#
- G ! x: GrpPSL2, GrpPSL2Elt -> GrpPSL2#
If \(x\) is a sequence \(x = [a,b,c,d]\) of elements in the base ring of \(G\), this function returns \(\begin{pmatrix}a & b\\ c & d\end{pmatrix}\), provided this is an element of \(G\). If \(x\) is an integer the identity matrix is returned. If \(x\) is a matrix, it is coerced into \(G\) if possible.
- Random(G, m): GrpPSL2, RngIntElt -> GrpPSL2Elt#
Returns a random element of the projective linear group \(G\), with \(m\) determining the size of the coefficients.
Membership and Equality Testing#
- g eq h: GrpPSL2Elt, GrpPSL2Elt -> BoolElt#
For \(g\) and \(h\) elements of \({\operatorname{PSL}}_2({\mathbb{Z}})\), returns
trueif \(g, h\) have compatible coefficient rings and if \(g = h\),falseotherwise. Since the group is projective, returnstrueif the matrices are equal up to a nonzero scalar multiple.
- IsEquivalent(g, h, G): GrpPSL2Elt, GrpPSL2Elt, GrpPSL2 -> BoolElt#
For \(g\) and \(h\) elements of \({\operatorname{PSL}}_2({\mathbb{Z}})\), returns
trueif \(g\) and \(h\) are defined of the same field, and if \(Gg = Gh\), i.e. if \(gh^{-1}\in G\).
- g in G: GrpPSL2Elt, GrpPSL2 -> BoolElt#
For \(g\) an elements of \({\operatorname{PSL}}_2({\mathbb{Z}})\), returns
trueif \(g\) is in the congruence subgroup \(G\),falseotherwise.
Basic Functions#
For a matrix \(g\) in a congruence subgroup, and an integer \(n\), returns \(g^n\).
- Eltseq(g): GrpPSL2Elt -> SeqEnum#
Returns the sequence of four numbers which are the entries of the matrix \(g\).
- g * h: GrpPSL2Elt, GrpPSL2Elt -> GrpPSL2Elt#
If \(g\) and \(h\) have the same parent then this returns their product.
- g ^ n: GrpPSL2Elt, RngIntElt -> GrpPSL2Elt#
For a matrix \(g\) and integer \(n\) returns \(g^n\).
- Example: Creation CongruenceSubgroups (ex-baea46)#
Define congruence subgroups as in the following examples:
> // examples of defining matrix elements of congruence subgroups: > > G := PSL2(Integers()); > G![2,0,0,2]; [1 0] [0 1] > H := CongruenceSubgroup([2,3,6]); > H![7,6,8,7]; [7 6] [8 7]