The upper half complex plane is defined by Hh := {z∈C | Im(z) >0}. The group SL2(Z) acts on H by fractional linear transformations. The space Hh/SL2(Z) is not compact; it is compactified by adding the cusps, which are points of Q, together with ∞. Thus we define Hh * to be the upper half plane union the cusps. Then Hh * /SL2(Z) is compact. Thus we define a function which will return the space of points in the upper half complex plane, together with the set of cusps.
In Hh * we define two distinguished points, the elliptic points Sqrt( - 1) and (1 + Sqrt( - 3))/2. In general, points constructed in Hh * are allowed to come from at most quadratic extensions of Q, since in this case there is a canonical embedding in C.
Creates a copy of the upper half complex plane, with the cusps included. As a set this consists of all complex numbers with positive imaginary part, together with all rational numbers, and the point at infinity.
Returns x as a point in Hh. Here x can be a cusp, rational, integer, in a quadratic extension of Q, or a complex number with positive imaginary part.
> H := UpperHalfPlaneWithCusps(); > // coerce a cusp into H: > c := Cusps()!(1/2); > H!c; 1/2 > // coerce an element of a quadratic extension of Q into H > K := QuadraticField(-7); > K<u> := QuadraticField(-7); > H!(u+5); 5 + root(-7) > // refer to the two distinguished elliptic points: > H.1; root(-1) > H.2; 1/2 + (1/2)*root(-3) > // Defining the names of the elliptic points when constructing H: > H<i,rho> := UpperHalfPlaneWithCusps(); > i; root(-1) > rho; 1/2 + (1/2)*root(-3)
Returns the imaginary part of the argument as an element of RealField.
Returns the real part of the argument as an element of RealField.
Returns true if and only if the element z of the upper half plane lies on the real line (and is not the infinite cusp).
Returns true if and only if the element z of the upper half plane is a cusp.
Returns true if and only if the element z of the upper half plane is the cusp at infinity.
Returns true if and only if the element z of the upper half plane is a cusp or has an exact value defined in a quadratic extension of the rationals.
For x an element of the upper half plane, if x is a cusp, returns the value of x as an object of type SetCspElt; if x has an exact value in a quadratic extension, returns this value, as an object of type FldQuadElt; otherwise returns a complex value of type FldComElt.
Precision: RngIntElt Default:
MaxValue: RngIntElt Default: 600
For x an element of the upper half place, this returns x as a complex number. When x is the cusp at infinity, the value returned is MaxValue + i*MaxValue.
Returns true if and only if the points x and y in the upper half plane are equal.