Testing latest pari + WASM + node.js... and it works?! Wow.
License: GPL3
ubuntu2004
Function: mspadicmoments
Section: modular_symbols
C-Name: mspadicmoments
Prototype: GGD1,L,
Help: mspadicmoments(Mp, PHI, {D = 1}): given Mp from mspadicinit, an
overconvergent eigensymbol PHI, and optionally a fundamental discriminant
D coprime to p, return the moments of the p-1 distributions
PHI^D([0]-[oo]) | (a + pZp), 0 < a < p. To be used by mspadicL and
mspadicseries.
Doc: given \kbd{Mp} from \kbd{mspadicinit}, an overconvergent
eigensymbol \kbd{PHI} from \kbd{mstooms} and a fundamental discriminant
$D$ coprime to $p$,
let $\kbd{PHI}^D$ denote the twisted symbol. This function computes
the distribution $\mu = \kbd{PHI}^D([0] - \infty]) \mid \Z_p^*$ restricted
to $\Z_p^*$. More precisely, it returns
the moments of the $p-1$ distributions $\kbd{PHI}^D([0]-[\infty])
\mid (a + p\Z_p)$, $0 < a < p$.
We also allow \kbd{PHI} to be given as a classical
symbol, which is then lifted to an overconvergent symbol by \kbd{mstooms};
but this is wasteful if more than one twist is later needed.
The returned data $\mu$ ($p$-adic distributions attached to \kbd{PHI})
can then be used in \tet{mspadicL} or \tet{mspadicseries}.
This precomputation allows to quickly compute derivatives of different
orders or values at different characters.
\bprog
? M = msinit(3,6, 1);
? phi = [5,-3,-1]~;
? msissymbol(M, phi)
%3 = 1
? p = 5; mshecke(M,p) * phi \\ eigenvector of T_5, a_5 = 6
%4 = [30, -18, -6]~
? Mp = mspadicinit(M, p, 10, 0); \\ restrict to ordinary symbols, mod p^10
? PHI = mstooms(Mp, phi);
? mu = mspadicmoments(Mp, PHI);
? mspadicL(mu)
%8 = 5 + 2*5^2 + 2*5^3 + ...
? mu = mspadicmoments(Mp, PHI, 12); \\ twist by 12
? mspadicL(mu)
%10 = 5 + 5^2 + 5^3 + 2*5^4 + ...
@eprog