Emmanuel ROYER on Thu, 11 Apr 2024 13:57:59 +0200


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Weight 0 modular forms


Hello,

I'm using the great (quasi)modular forms package in pari / gp.
I'm a bit confused by the way it treats the zero modular form (which is modular for any weight and any level) in linear combination.
In particular, the two commands below should produce the same result (an error for any t except 0 and DE6 for t=0) shouldn't they?
But they don't.

\\......................
E2=mfEk(2);E6=mfEk(6);DE6=mfderiv(E6);
tE2(t)=mflinear([E2],[t]);
T(t)=mflinear([DE6,tE2(t)],[1,1]);
U(t)=mflinear([DE6,E2],[1,t]);


? mfparams(U(0))
%5 = [1, 8, 1, y, t - 1]
? T(0)
  ***   at top-level: T(0)
  ***                 ^----
  ***   in function T: mflinear([DE6,tE2(t)],[1,1])
  ***                  ^----------------------------
  *** mflinear: incorrect type in mflinear [different weights] (t_VEC).
  ***   Break loop: type 'break' to go back to GP prompt
\\......................

Indeed the same behavior remains if you replace E2 by E8, in which case then linear combination should be valid for any t

\\......................
E8=mfEk(8);tE8(t)=mflinear([E8],[t]);
V(t)=mflinear([DE6,tE8(t)],[1,1]);
W(t)=mflinear([DE6,E8],[1,t]);

? mfparams(V(1))
%12 = [1, 8, 1, y, t - 1]
? mfparams(W(1))
%13 = [1, 8, 1, y, t - 1]
? mfparams(W(0))
%14 = [1, 8, 1, y, t - 1]
? mfparams(V(0))
    ***   at top-level: mfparams(V(0))
    ***                          ^-----
    ***   in function V: mflinear([DE6,tE8(t)],[1,1])
    ***                  ^----------------------------
    *** mflinear: incorrect type in mflinear [different weights] (t_VEC).
    ***   Break loop: type 'break' to go back to GP prompt
break> break
\\......................


Best regards,
Emmanuel

Emmanuel Royer
Professeur à l'Université Clermont Auvergne
https://royer.perso.math.cnrs.fr
----
Institut CNRS-Pauli
IRL2842
CNRS & Wolfgang Pauli Institut