Opened 5 years ago

Closed 5 years ago

# L-series values for certain modular forms computed incorrectly

Reported by: Owned by: arminstraub major sage-8.3 modular forms lseries davidloeffler David Loeffler Alex J. Best N/A 6e97ac5 6e97ac55d08cae9e792c6f9ff2c9304b1e0387eb #24086

### 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.08737314733255e-18*I
```

An example of an incorrect L-value (and the correct one, for comparison):

```sage: L5(4)
0.379630585317869 + 2.49933520900079e-17*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.61460956971046e-16*I
```

### comment:1 Changed 5 years ago by alexjbest

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 L-function 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 gives `I^5 * I = -1`, in the second case the eigenvalue is `-I` with the 0th embedding giving `I^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.

Last edited 5 years ago by alexjbest (previous) (diff)

### comment:2 Changed 5 years ago by davidloeffler

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 Atkin-Lehner eigenvalue code uses the normalisations from Atkin-Li'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 arminstraub

Thank you, Alex! Manually adjusting the epsilon factor indeed makes the functional equation work out. The L-values I am interested in are then also computed correctly. This is very helpful as a temporary work-around. It is awesome to see you and David investigate this issue so swiftly!

### comment:4 Changed 5 years ago by davidloeffler

Yes, I was correct: this is the discrepancy between the Atkin--Li 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 davidloeffler

Branch: → public/25369-rootnumber

### comment:6 Changed 5 years ago by davidloeffler

Commit: → 42650326f8ebb474eccaa9020ba247ffe7d0c3ae new → needs_review

Here's a fix -- it's literally a single-byte change! I also added your weight 5 example as a doctest.

New commits:

 ​2a58074 `Trac 24086: Atkin--Lehner operators - now works for any character, + normalisations fixed` ​76e7262 `Fix failing doctest in abvar/lseries.py` ​4265032 `Trac 25369: fix modular form L-series root numbers in odd weights`

### comment:7 Changed 5 years ago by davidloeffler

Stopgaps: → 24086

### comment:8 Changed 5 years ago by davidloeffler

Dependencies: → #24086 24086

### comment:9 Changed 5 years ago by alexjbest

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 alexjbest

Authors: → David Loeffler → Alex J. Best

### comment:11 Changed 5 years ago by arminstraub

Fantastic! It's been a while, but I updated Sage on my machine to the newest beta, applied your patch, and computed lots of L-values (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 davidloeffler

Branch: public/25369-rootnumber → public/25369-rootnumber-rebase

### comment:13 Changed 5 years ago by davidloeffler

Commit: 42650326f8ebb474eccaa9020ba247ffe7d0c3ae → 6e97ac55d08cae9e792c6f9ff2c9304b1e0387eb

Here's a new branch which merges cleanly with 8.3.beta2.

New commits:

 ​6756c1e `Merge branch 'public/24086_better' in 8.3.b2` ​51266f9 `Trac 24086: stamp out some fuzz accidentally re-introduced by auto-merge` ​6e97ac5 `Trac 25369: fix modular form L-series root numbers in odd weights`

### comment:14 Changed 5 years ago by vbraun

Branch: public/25369-rootnumber-rebase → 6e97ac55d08cae9e792c6f9ff2c9304b1e0387eb → fixed positive_review → closed
Note: See TracTickets for help on using tickets.