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} and a fundamental discriminant $D$ coprime to $p$,
 let $\kbd{PHI}^D$ denote the twisted symbol. This function returns
 the moments of the $p-1$ distributions $\kbd{PHI}^D([0]-[oo]) \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 ($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);
 ? xpm = [5,-3,-1]~;
 ? msissymbol(M, xpm)
 %3 = 1
 ? p = 5; mshecke(M,p) * xpm  \\ 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, xpm);
 ? PHId = mspadicmoments(Mp, PHI);
 ? mspadicL(PHId)
 %8 = 5 + 2*5^2 + 2*5^3 + ...
 ? mspadicL(PHId, 1)
 %9 = O(5^13))
 ? mspadicL(PHId, 2, 1)
 %10 = 4*5 + 3*5^2 + 5^3 + ...
 ? PHId4 = mspadicmoments(Mp, PHI, -4);
 ? mspadicL(PHId4)
 %12 = O(5^13)
 @eprog
