Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
Function: mfcosets
Section: modular_forms
C-Name: mfcosets
Prototype: G
Help: mfcosets(N): list of right cosets of G_0(N)\G, i.e., matrices g_j in G
such that G = U G_0(N) g_j. The g_j are chosen in the form [a,b; c,d] with
c | N.
Doc: let $N$ be a positive integer. Return the list of right cosets of
$\Gamma_0(N) \bs \Gamma$, i.e., matrices $\gamma_j \in \Gamma$ such that
$\Gamma = \bigsqcup_j \Gamma_0(N) \gamma_j$.
The $\gamma_j$ are chosen in the form $[a,b;c,d]$ with $c \mid N$.
\bprog
? mfcosets(4)
%1 = [[0, -1; 1, 0], [1, 0; 1, 1], [0, -1; 1, 2], [0, -1; 1, 3],\
[1, 0; 2, 1], [1, 0; 4, 1]]
@eprog\noindent We also allow the argument $N$ to be a modular form space,
in which case it is replaced by the level of the space:
\bprog
? M = mfinit([4, 12, 1], 0); mfcosets(M)
%2 = [[0, -1; 1, 0], [1, 0; 1, 1], [0, -1; 1, 2], [0, -1; 1, 3],\
[1, 0; 2, 1], [1, 0; 4, 1]]
@eprog
\misctitle{Warning} In the present implementation, the trivial coset is
represented by $[1,0;N,1]$ and is the last in the list.