In ticket 10506, John Cremona wrote the following in reference to
Gamma(n): "Note that the next job is to add a method to return a set
of inequivalent cusps. The default implementation is stupidly slow (as
proved by the fact that the old default for ncusps() was to find all
the cusps and count them).

I propose the following method for n > 2.

Let E be the set of fractions t/(n+t),  where  1 <=  t < n/2  with
gcd(t,n)=1.

Let  F be the set of fractions (rt+yn)/(st+xn),  where 1 <=  r  < s <=
n,

1 <= t <= n/s,   gcd(r,s)=1, gcd(t,n)=1.  Here, for  each pair r,s  as
above,  x,y is a fixed pair of nonnegative integers such that xr - ys
= 1; thus x is the inverse of r mod s and y=(xr - 1)/s.
The elements that we've listed in E union F are all distinct reduced
fractions, and they provide a complete set of inequivalent cusps for
Gamma(n).

The numerator and denominator sizes are certainly not minimal, but
this proposal is just to get the ball rolling.

-- 
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/sage-support
URL: http://www.sagemath.org

Reply via email to