Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

Testing latest pari + WASM + node.js... and it works?! Wow.

28494 views
License: GPL3
ubuntu2004
Function: mfcuspval
Section: modular_forms
C-Name: mfcuspval
Prototype: GGGb
Help: mfcuspval(mf,F,cusp): valuation of modular form F in the space mf at
 cusp, which can be either oo or any rational number. The result is
 either a rational number or oo if F is zero. Let chi be the Nebentypus of
 the space mf; if Q(F) != Q(chi), return the vector of valuations attached to
 the [Q(F):Q(chi)] complex embeddings of F.
Doc:  valuation of modular form $F$ in the space \kbd{mf} at
 \kbd{cusp}, which can be either $\infty$ or any rational number. The
 result is either a rational number or $\infty$ if $F$ is zero. Let
 $\chi$ be the Nebentypus of the space \kbd{mf}; if $\Q(F) \neq \Q(\chi)$,
 return the vector of valuations attached to the $[\Q(F):\Q(chi)]$ complex
 embeddings of $F$.
 \bprog
 ? T=mfTheta(); mf=mfinit([12,1/2]); mfcusps(12)
 %1 = [0, 1/2, 1/3, 1/4, 1/6, 1/12]
 ? apply(x->mfcuspval(mf,T,x), %1)
 %2 = [0, 1/4, 0, 0, 1/4, 0]
 ? mf=mfinit([12,6,12],1); F=mfbasis(mf)[5];
 ? apply(x->mfcuspval(mf,F,x),%1)
 %4 = [1/12, 1/6, 1/2, 2/3, 1/2, 2]
 ? mf=mfinit([12,3,-4],1); F=mfbasis(mf)[1];
 ? apply(x->mfcuspval(mf,F,x),%1)
 %6 = [1/12, 1/6, 1/4, 2/3, 1/2, 1]

 ? mf = mfinit([625,2],0); [F] = mfeigenbasis(mf); mfparams(F)
 %7 = [625, 2, 1, y^2 - y - 1, t - 1] \\ [Q(F):Q(chi)] = 2
 ? mfcuspval(mf, F, 1/25)
 %8 = [1, 2] \\ one conjugate has valuation 1, and the other is 2
 ? mfcuspval(mf, F, 1/5)
 %9 = [1/25, 1/25]
 @eprog