Action of \({\operatorname{PSL}}_2({\mathbb{R}})\) on the Upper Half Plane#
- g * z: GrpPSL2Elt, SpcHypElt -> SpcHypElt#
- g * z: GrpPSL2Elt, [SpcHypElt] -> [SpcHypElt]#
- g * z: GrpPSL2Elt, SetCspElt -> SetCspElt#
- g * z: RngIntElt, SpcHypElt -> SpcHypElt#
- g * z: RngIntElt, [SpcHypElt] -> [SpcHypElt]#
- g * z: RngIntElt, SetCspElt -> SetCspElt#
For \(z\) of type
SpcHypElt, SetCspEltor[SpcHypElt], and when \(g\) is an element of a projective linear group, returns the image of \(z\) under the action of \(g\). The type of the image is the same as the type of \(z\). If \(g\) is a positive integer, returns return \(az\), which his is equivalent to acting on \(z\) with the matrix \(\begin{pmatrix}a & 0\\ 0 & 1\end{pmatrix}\in {\operatorname{PGL}}_2({\mathbb{R}})\).
- FixedPoints(g, H): GrpPSL2Elt, SpcHyp -> SeqEnum#
Returns a sequence of points in \(H\) fixed by the action of \(g\).
- IsEquivalent(G, a, b): GrpPSL2, SpcHypElt, SpcHypElt -> BoolElt, GrpPSL2Elt#
If points \(a,b\) in the upper half plane are equivalent under the action of the group \(G\), returns
true, and the matrix \(g\) in \(G\) such that \(g\cdot a = b\). Otherwise returnsfalseand the identity.
- EquivalentPoint(x): SpcHypElt -> SpcHypElt, GrpPSL2Elt#
For the point x in the upper half plane, returns a point z in the region with \(-1/2 < z \leq 1/2\) and \(|z| \geq 1\), and a matrix \(g\) in \({\operatorname{PSL}}_2({\mathbb{Z}})\) with g*x = z
- Stabilizer(a, G): SpcHypElt, GrpPSL2 -> GrpPSL2Elt#
Returns a generator of the subgroup of \(G\) stabilizing \(a\).
- FixedArc(g, H): GrpPSL2Elt, SpcHyp -> SeqEnum#
If \(g\) is an element of \({\operatorname{PSL}}_2({\mathbb{Z}})\) which is an involution, this returns the end points in the real line of the arc fixed by \(g\), with mid point of the arc also fixed by \(g\). Note that for any point \(b\), the arc from \(b\) to \(g\cdot b\) is fixed by \(g\).
Arithmetic#
- z + a: SpcHypElt, RngIntElt -> SpcHypElt#
- z + a: SpcHypElt, FldRatElt -> SpcHypElt#
- z - a: SpcHypElt, RngIntElt -> SpcHypElt#
- z - a: SpcHypElt, FldRatElt -> SpcHypElt#
For any integer \(a\), and element \(z\) in the upper half plane, this returns the element \(z + a\) in the same copy of the upper half plane.
- a * z: RngElt, SpcHypElt -> SpcHypElt#
- z * a: SpcHypElt, RngElt -> SpcHypElt#
- a * z: RngIntElt, SetCspElt -> SetCspElt#
- a * z: FldRatElt, SetCspElt -> SetCspElt#
- a * seq: RngElt, [SpcHypElt] -> [SpcHypElt]#
- a * z: RngIntElt, [SetCspElt] -> [SetCspElt]#
- a * z: FldRatElt, [SetCspElt] -> [SetCspElt]#
- z * a: SpcHypElt, RngIntElt -> SpcHypElt#
- z * a: SpcHypElt, RngIntElt -> SpcHypElt#
- z * a: SpcHypElt, RngIntElt -> SpcHypElt#
- z * a: SpcHypElt, RngIntElt -> SpcHypElt#
- z * a: SpcHypElt, RngIntElt -> SpcHypElt#
- z / a: SpcHypElt, RngIntElt -> SpcHypElt#
Given an element z (or a sequence of elements) in the upper half plane, and a positive rational number \(a\), this returns the product (or products) in the same copy of the upper half plane.
Distances, Angles and Geodesics#
- Distance(z, w): SpcHypElt, SpcHypElt -> FldReElt#
Precision: RngIntElt Default:
Returns the hyperbolic distance between \(z\) and \(w\).
- TangentAngle(x, y): SpcHypElt, SpcHypElt -> FldReElt#
Precision: RngIntElt Default:
Returns the angle of the tangent at \(x\) of the geodescic from \(x\) to \(y\), with given precision.
- Angle(e1, e2): [SpcHypElt], [SpcHypElt] -> FldReElt#
Precision: RngIntElt Default:
Given two sequences \(e_1 = [z_1,z_2]\) and \(e_2 = [z_1,z_3]\), where \(z1, z2, z3\) are elements of the upper half plane, this returns the angle between the geodesics at \(z_1\).
- ExtendGeodesic([z1,z2], H): [SpcHypElt], SpcHyp -> [SpcHypElt]#
Given elements \(z1, z2\) in the upper half plane \(H\), this extends the geodesic between \(z1\) and \(z2\) to a semicircle with endpoints on the real line, and returns the two real endpoints as elements of \(H\).
- GeodesicsIntersection(x1, x2): [SpcHypElt], [SpcHypElt]) -> SeqEnum#
- GeodesicsIntersection(x1, x2): [SetCspElt], [SetCspElt]) -> SeqEnum#
The intersection in the upper half plane of the two geodesics whose endpoints are given by the sequences \(x_1\) and \(x_2\). If the geodesics intersect along a line, the empty sequence is returned.