Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
Function: msfromcusp Section: modular_symbols C-Name: msfromcusp Prototype: GG Help: msfromcusp(M, c): returns the modular symbol attached to the cusp c, where M is a modular symbol space of level N. Doc: returns the modular symbol attached to the cusp $c$, where $M$ is a modular symbol space of level $N$, attached to $G = \Gamma_0(N)$. The cusp $c$ in $\P^1(\Q)/G$ is given either as \kbd{oo} ($=(1:0)$) or as a rational number $a/b$ ($=(a:b)$). The attached symbol maps the path $[b] - [a] \in \text{Div}^0 (\P^1(\Q))$ to $E_c(b) - E_c(a)$, where $E_c(r)$ is $0$ when $r \neq c$ and $X^{k-2} \mid \gamma_r$ otherwise, where $\gamma_r \cdot r = (1:0)$. These symbols span the Eisenstein subspace of $M$. \bprog ? M = msinit(2,8); \\ M_8(Gamma_0(2)) ? E = mseisenstein(M); ? E[1] \\ two-dimensional %3 = [0 -10] [0 -15] [0 -3] [1 0] ? s = msfromcusp(M,oo) %4 = [0, 0, 0, 1]~ ? mseval(M, s) %5 = [1, 0] ? s = msfromcusp(M,1) %6 = [-5/16, -15/32, -3/32, 0]~ ? mseval(M,s) %7 = [-x^6, -6*x^5 - 15*x^4 - 20*x^3 - 15*x^2 - 6*x - 1] @eprog In case $M$ was initialized with a nonzero \emph{sign}, the symbol is given in terms of the fixed basis of the whole symbol space, not the $+$ or $-$ part (to which it need not belong). \bprog ? M = msinit(2,8, 1); \\ M_8(Gamma_0(2))^+ ? E = mseisenstein(M); ? E[1] \\ still two-dimensional, in a smaller space %3 = [ 0 -10] [ 0 3] [-1 0] ? s = msfromcusp(M,oo) \\ in terms of the basis for M_8(Gamma_0(2)) ! %4 = [0, 0, 0, 1]~ ? mseval(M, s) \\ same symbol as before %5 = [1, 0] @eprog