Your product formula is a good idea. It's faster than my summation
formula.
On Dec 21, 3:40 am, John Cremona wrote:
> On Dec 21, 1:38 am, rje wrote:
>
> > Thanks for the helpful response. The appropriate code for computing
> > Gamma(n).ncusps() is
>
> > n=self.level()
> > if n<=2:
> >
There's now a patch at #10506 (http://trac.sagemath.org/sage_trac/
ticket/10506) ready for review.
John Cremona
On Dec 21, 11:40 am, John Cremona wrote:
> On Dec 21, 1:38 am, rje wrote:
>
> > Thanks for the helpful response. The appropriate code for computing
> > Gamma(n).ncusps() is
>
> > n
On Dec 21, 1:38 am, rje wrote:
> Thanks for the helpful response. The appropriate code for computing
> Gamma(n).ncusps() is
>
> n=self.level()
> if n<=2:
> return[None,1,3][n]
> return ZZ(sum([moebius(d)*(n/d)^2/ZZ(2) for d in n.divisors()]))
>
> But can I impose on someone who knows t
Thanks for the helpful response. The appropriate code for computing
Gamma(n).ncusps() is
n=self.level()
if n<=2:
return[None,1,3][n]
return ZZ(sum([moebius(d)*(n/d)^2/ZZ(2) for d in n.divisors()]))
But can I impose on someone who knows the ticketing procedure
to get this implemented? T
You are right, and you can see the reason like this:
sage: G = Gamma(5)
sage: G.ncusps??
shows that the code is a one-liner
return ZZ(len(self.cusps()))
i.e. a complete set of cusps is computed (to see how, do G.cusps??),
while for the other groups a formula is used, e.g.
sage: G = Gamma0(5)
s