On Thu, Mar 28, 2024 at 06:13:45PM +0000, Swati, NoFirstName wrote:
> Hello,
>
> I am trying to compute the coefficients of \Delta^{a} \mid T_{p} modulo an integer m, store them as a column vector, and return the same (Values of a and p are quite large). I tried writing the code for it but getting an error.
>
> // parfor: mt: attempt to change the value of the exported variable B.)
>
> I am not sure how to fix this. Could someone help in this regard?
>
> Here is my code:
>
> comp(a,p, m) = {
> mf = mfpow(mfDelta(), a);
> mf1 = mfinit(mf);
> B = Col(0,a);
> H = mfhecke(mf1, mf, p);
> export(B, H);
> parfor(i = 1, a, B[i] = mfcoef(H, i) % m);
> return(B);
> }
parfor(i = 1, a, mfcoef(H, i) % m, C, B[i] = C);
But there are much better way to do that, which avoid the use of mfinit
completly.
Deltamodm(n,m)=q*prod(k=1,n,1-q^k*Mod(1,m)+O(q^(n+1)))^24;
T(f,p,m,k)=
{
f=truncate(f);
sum(n=0,poldegree(f)\p,
sumdiv(gcd(p,n),r,polcoeff(f,p*n/r^2)*r^(k-1))*q^n) + O(q^(poldegree(f)\m +1));
}
where k is the weight.
Cheers,
Bill