What happens if you run the bad code, then run "ModularSymbols_clear_cache()", then the good code? Do you get the same discrepancy?
David On 28 April 2016 at 15:16, Misja <[email protected]> wrote: > Thank you very much! I didn't know sage-nt existed :-) > > Misja > > On Thursday, 28 April 2016 15:13:20 UTC+1, John Cremona wrote: >> >> I have forwarded your question to sage-nt@googlegroups since there are >> people who read that who may be able to answer yet do not read >> sage-support. >> >> Feel free to apply to join sage-nt. >> >> John Cremona >> >> On 28 April 2016 at 15:09, Misja <[email protected]> wrote: >> > When understand the specific reason why my code is not working >> properly, I >> > managed to pin it down to the following mysterious behaviour of >> q_eigenform. >> > >> > First run the following code in sage. >> > >> > G=DirichletGroup(80); >> > chi=G[22]; >> > >> D=ModularSymbols(chi,2,-1).cuspidal_subspace().new_subspace().decomposition(); >> >> > for f in D: >> > elt=f.q_eigenform(10,'alpha')[3]; >> > N=elt.parent().absolute_field('a'); >> > fact=N.factor(2); >> > for P,e in fact: >> > res_field=N.residue_field(P); >> > print res_field(elt); >> > >> > >> > It will print >> > >> > 0 >> > 0 >> > 0 >> > 0 >> > >> > which, I think, is the 'right' answer. >> > >> > >> > Now close your sage session entirely. Open a new session and then run >> the >> > following *silly* code: >> > >> > G=DirichletGroup(80); >> > for chi in G: >> > >> > >> D=ModularSymbols(chi,2,-1).cuspidal_subspace().new_subspace().decomposition(); >> >> > for f in D: >> > elt=f.q_eigenform(10,'alpha')[3]; >> > if not elt.parent()==QQ: >> > K=elt.parent().absolute_field('b'); >> > if chi==G[22]: >> > fact=K.factor(2); >> > for P,e in fact: >> > res_field=K.residue_field(P); >> > print res_field(elt); >> > >> > >> > It will print: >> > >> > 0 >> > 0 >> > 1 >> > 0 >> > >> > As far as I understand the theory, this cannot happen. If you let sage >> print >> > the alpha^3 coefficient of you see that in both cases it picks a >> different >> > q_eigenform in f, the Galois conjugacy class of newforms. Although this >> can >> > be a bit annoying, in theory it is fine. But I am pretty sure that when >> your >> > reduce this coefficient modulo some prime P, any two elements of the >> same >> > Galois conjugacy class can differ at most by some automorphism of the >> > residue field (and obviously 1 and 0 do not satisfy this criterion). >> > >> > >> > To make matters worse: if you run a single sage session and you run the >> > 'good' code first and the 'bad' code second, then suddenly the 'bad' >> code is >> > fixed and printing only 0s. If you run the 'bad' code first and the >> 'good' >> > code second, then they are both 'bad' and the 'good' code suddenly >> prints >> > 0,0,1,0 as well. >> > >> > By trying I found out that this is because somehow q_eigenform picks >> the >> > same q_eigenform as whichever code that ran first and somehow these >> choices >> > are not compatible! I don't know the inner workings of q_eigenform, but >> this >> > behaviour seems strange to me. >> > >> > Can anyone explain what is going on here? Is it a bug? >> > >> > Thanks! >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups >> > "sage-support" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an >> > email to [email protected]. >> > To post to this group, send email to [email protected]. >> > Visit this group at https://groups.google.com/group/sage-support. >> > For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to the Google Groups > "sage-support" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > Visit this group at https://groups.google.com/group/sage-support. > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sage-support" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/sage-support. For more options, visit https://groups.google.com/d/optout.
