The cuspidal subgroup of J0(N) is the subgroup generated by the degree-0 divisors on X0(N) of the form (alpha)-(beta), where alpha and beta are cusps. This web page contains a table of cuspidal subgroups. Using modular symbols we can compute the cuspidal subgroup, as an abstract abelian group. Integration of homology against cusp forms provides a natural map
H1(X0(N),Z;cusps) --> H1(X0(N),Z).
By the Abel-Jacobi theorem, the cuspidal subgroup is isomorphic to
the quotient of the image of
H1(X0(N),Z;cusps)
by the subgroup
H1(X0(N),Z).
The modular symbols approach to computing the cuspidal subgroup has the advantage that it is theoretically no more complicated for N highly composite than for N prime; it does not rely on any special properties of N. However, it is really only applicable when the corresponding space of modular symbols can be computed, which in practice means that N should have less than 5 decimal digits. There are other methods which may be much more efficient in special cases. For example, when N is prime Andrew Ogg showed that the cuspidal subgroup is cyclic of order equal to the numerator of (N-1)/12. More generally, he computed the cuspidal subgroup when N=pq is the product of two primes. See also papers of Ligozat and others.
C[14] := [ 6 ]; C[20] := [ 6 ]; C[26] := [ 21 ];I think that this is sufficient evidence to conjecture that these are the only non-prime cases in which the cuspidal subgroup is cyclic. If so, is this already proven?
(Observation: Note that in each of the above cases N=pq with X0(p) and X0(q) both of genus 0.)
> M:=ModularSymbols(20);
> M;
Full Modular symbols space of level 20, weight 2, and dimension 7
> e:=M ! <1, [Cusps()|0,Infinity()] >; // the path from 0 to infinity
> e;
-1*{oo, 0}
> J0of20:=CuspidalSubspace(M);
> SubgroupOfTorus(J0of20, e);
Abelian Group isomorphic to Z/6
Defined on 1 generator
Relations:
6*$.1 = 0
> SubgroupOfTorus(J0of20, IntegralBasis(M)); // generated by all cusps
Abelian Group isomorphic to Z/6
Defined on 1 generator
Relations:
6*$.1 = 0
> // Let's do another example.
> M := ModularSymbols(100);
> J0of100:=CuspidalSubspace(M);
> SubgroupOfTorus(J0of100, IntegralBasis(M)); // generated by all cusps
Abelian Group isomorphic to Z/6 + Z/30 + Z/30 + Z/30 + Z/30
Defined on 5 generators
Relations:
6*$.1 = 0
30*$.2 = 0
30*$.3 = 0
30*$.4 = 0
30*$.5 = 0
> M:=ModularSymbols(77);
> J0of77:=CuspidalSubspace(M);
> SubgroupOfTorus(J0of77, IntegralBasis(M));
Abelian Group isomorphic to Z/10 + Z/60
Defined on 2 generators
Relations:
10*$.1 = 0
60*$.2 = 0
> M:=ModularSymbols(97);
> SubgroupOfTorus(CuspidalSubspace(M), IntegralBasis(M));
Abelian Group isomorphic to Z/8
Defined on 1 generator
Relations:
8*$.1 = 0
> Numerator((97-1)/12);
8