The upper half complex plane is defined by Hh := {z in C | Im(z) >0}. The group SL_2(Z) acts on H by fractional linear transformations. The space Hh/SL_2(Z) is not compact; it is compactified by adding the cusps, which are points of Q, together with Infinity. Thus we define Hh^ * to be the upper half plane union the cusps. Then Hh^ * /SL_2(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.
The set of points in the upper half complex plane, together with the rationals and 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 is a cusp.
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 FldPrElt.
For x an element of the upper half place, returns the value of x as an element of the complex field.
Returns true if and only if the points x and y in the upper half plane are equal.[Next][Prev] [Right] [Left] [Up] [Index] [Root]