ASKSAGE: Sage Q&A Forum - RSS feedhttps://ask.sagemath.org/questions/Q&A Forum for SageenCopyright Sage, 2010. Some rights reserved under creative commons license.Thu, 14 Aug 2014 13:55:04 +0200How to compute modular symbolshttps://ask.sagemath.org/question/23739/how-to-compute-modular-symbols/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.Mon, 11 Aug 2014 18:31:14 +0200https://ask.sagemath.org/question/23739/how-to-compute-modular-symbols/Answer by vdelecroix for <p>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})$. </p>
<p>Thanks for help.</p>
https://ask.sagemath.org/question/23739/how-to-compute-modular-symbols/?answer=23748#post-id-23748Have 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.
VincentTue, 12 Aug 2014 11:13:20 +0200https://ask.sagemath.org/question/23739/how-to-compute-modular-symbols/?answer=23748#post-id-23748Answer by 1571 for <p>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})$. </p>
<p>Thanks for help.</p>
https://ask.sagemath.org/question/23739/how-to-compute-modular-symbols/?answer=23777#post-id-23777In 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)`
Thu, 14 Aug 2014 13:55:04 +0200https://ask.sagemath.org/question/23739/how-to-compute-modular-symbols/?answer=23777#post-id-23777