Opened 5 years ago
Closed 5 years ago
#25369 closed defect (fixed)
Lseries values for certain modular forms computed incorrectly
Reported by:  arminstraub  Owned by:  

Priority:  major  Milestone:  sage8.3 
Component:  modular forms  Keywords:  lseries 
Cc:  davidloeffler  Merged in:  
Authors:  David Loeffler  Reviewers:  Alex J. Best 
Report Upstream:  N/A  Work issues:  
Branch:  6e97ac5 (Commits, GitHub, GitLab)  Commit:  6e97ac55d08cae9e792c6f9ff2c9304b1e0387eb 
Dependencies:  #24086  Stopgaps: 
Description
Using Sage 8.1 on CoCalc:
sage: f5 = Newforms(Gamma1(4), 5, names='a')[0]; f5 q  4*q^2 + 16*q^4  14*q^5 + O(q^6) sage: L5 = f5.lseries() sage: L5.check_functional_equation() 0.148408065960889  9.08737314733255e18*I
An example of an incorrect Lvalue (and the correct one, for comparison):
sage: L5(4) 0.379630585317869 + 2.49933520900079e17*I sage: sum(f5.coefficient(n)/n^4 for n in [1..200]).n() 0.787848673384282 sage: (gamma(1/4)^8/(3840*pi^2)).n() 0.787803000538474
Just in case it is helpful, here is another example with similar issues:
sage: f3 = Newforms(Gamma1(24), 3, names='a')[0]; f3 q  2*q^2 + 3*q^3 + 4*q^4 + 2*q^5 + O(q^6) sage: f3.lseries().check_functional_equation() 1.13933480080878  3.61460956971046e16*I
Change History (14)
comment:1 Changed 5 years ago by
Cc:  davidloeffler added 

comment:2 Changed 5 years ago by
This is an interesting case: it's a form of odd weight and rational Hecke eigenvalues  this can only happen for CM forms. Since the Hecke eigenvalue field is QQ, the "embedding" parameter to atkin_lehner_eigenvalue()
has no effect.
My best guess is that this is a discrepancy of normalisations between atkin_lehner_eigenvalue()
and lseries()
. The AtkinLehner eigenvalue code uses the normalisations from AtkinLi's 1978 paper; but that defines W_N to be [0,1; N,0], whereas a lot of subsequent literature uses [0,1; N,0], and that causes a sign discrepancy in odd weights.
I will investigate more and get back to you.
comment:3 Changed 5 years ago by
Thank you, Alex! Manually adjusting the epsilon factor indeed makes the functional equation work out. The Lvalues I am interested in are then also computed correctly. This is very helpful as a temporary workaround. It is awesome to see you and David investigate this issue so swiftly!
comment:4 Changed 5 years ago by
Yes, I was correct: this is the discrepancy between the AtkinLi definition of $W_N$ and the other definition when the weight is odd. I'll to do a fix on top of my existing branch for #24086.
comment:5 Changed 5 years ago by
Branch:  → public/25369rootnumber 

comment:6 Changed 5 years ago by
Commit:  → 42650326f8ebb474eccaa9020ba247ffe7d0c3ae 

Status:  new → needs_review 
Here's a fix  it's literally a singlebyte change! I also added your weight 5 example as a doctest.
New commits:
2a58074  Trac 24086: AtkinLehner operators  now works for any character, + normalisations fixed

76e7262  Fix failing doctest in abvar/lseries.py

4265032  Trac 25369: fix modular form Lseries root numbers in odd weights

comment:7 Changed 5 years ago by
Stopgaps:  → 24086 

comment:8 Changed 5 years ago by
Dependencies:  → #24086 

Stopgaps:  24086 
comment:9 Changed 5 years ago by
Status:  needs_review → positive_review 

Just ran through a load of examples with this patch and all the functional equations check out, so positive review!
comment:10 Changed 5 years ago by
Authors:  → David Loeffler 

Reviewers:  → Alex J. Best 
comment:11 Changed 5 years ago by
Fantastic! It's been a while, but I updated Sage on my machine to the newest beta, applied your patch, and computed lots of Lvalues (the ones I included in the report are part of an infinite family). It is working beautifully! Thank you!
comment:12 Changed 5 years ago by
Branch:  public/25369rootnumber → public/25369rootnumberrebase 

comment:13 Changed 5 years ago by
Commit:  42650326f8ebb474eccaa9020ba247ffe7d0c3ae → 6e97ac55d08cae9e792c6f9ff2c9304b1e0387eb 

comment:14 Changed 5 years ago by
Branch:  public/25369rootnumberrebase → 6e97ac55d08cae9e792c6f9ff2c9304b1e0387eb 

Resolution:  → fixed 
Status:  positive_review → closed 
It seems the behaviour here is changed by #24086, it still doesn't seem to work even after that for me though.
The LMFDB has this form http://www.lmfdb.org/ModularForm/GL2/Q/holomorphic/4/5/3/a/ and says the associated Lfunction is http://www.lmfdb.org/L/ModularForm/GL2/Q/holomorphic/4/5/3/a/0/, which has epsilon factor 1, rather than 1 as L5.eps reports. If you set the epsilon factor to 1 then the functional equation checks out (for both examples).
Conceivably this could just be an issue of embeddings? In the first case the atkin lehner eigenvalue is reported with #24086 to be zeta4 or simply
I
using the 0th embedding of the heceke_eigenvalue_field into QQbar, which if embedded as the same as I givesI^5 * I = 1
, in the second case the eigenvalue isI
with the 0th embedding givingI^3 *(I) = 1
again. So both examples would be fixed by a judicious conjugate embedding? But I think I have stretched my lack of the appropriate mathematics too far now, as I really don't know what all these embeddings etc. "should" be.