Ask Your Question

How to compute modular symbols

asked 2014-08-11 18:31:14 +0200

this post is marked as community wiki

This post is a wiki. Anyone with karma >750 is welcome to improve it.

Let $N \geq 1$ be an integer. I'd like to compute a basis of the homology $H^1(X_0(N), \mathbb{Z})$ where $X_0(N)$ is the classical modular curve for the congruence subgroup $\Gamma_0(N)$. I'd like to have a basis in terms of { $\alpha, \beta$ } (here $\alpha$ and $\beta$ are cusps, and { $\alpha, \beta$ } is the geodesic path with endpoints $\alpha$ and $\beta$). More importantly, I'd like to be able to create some element $x$ in $H^1(X_0(N), \mathbb{Z})$ by summing some elements of the form { $\alpha, \beta$ }, and then I'd like to apply Hecke operators on $x$ and express the result in terms of a basis of $H^1(X_0(N), \mathbb{Z})$.

Thanks for help.

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2014-08-12 11:13:20 +0200

vdelecroix gravatar image

Have a look at FareySymbol. It gives a nice presentation of the surface in the way you want. There is no "ready to use" procedure for getting the homology but it is straightforward.


edit flag offensive delete link more

answered 2014-08-14 13:55:04 +0200

1571 gravatar image

In fact there is a "ready to use" procedure. M = ModularSymbols(N,2) creates the space of weight 2 modular symbols for $\Gamma_0(N)$ (i.e. a basis of $H^1(X_0(N), \mathbb{Z})$). We can create the element { $\alpha, \beta$ }, of M by putting x=M.modular_symbol([alpha, beta]). The n-th Hecke operator is computed as follow: M.T(n)(x)

edit flag offensive delete link more

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools


Asked: 2014-08-11 18:31:14 +0200

Seen: 343 times

Last updated: Aug 14 '14