Opened 11 years ago
Closed 8 years ago
#11631 closed defect (fixed)
Lseries attached to cusp forms are broken
Reported by:  was  Owned by:  was 

Priority:  major  Milestone:  sage6.4 
Component:  number theory  Keywords:  
Cc:  Merged in:  
Authors:  Gonzalo Tornaría  Reviewers:  Michael Neururer 
Report Upstream:  N/A  Work issues:  
Branch:  1939a9c (Commits, GitHub, GitLab)  Commit:  1939a9cc8480d42441bb4f71a784ac85e934b80b 
Dependencies:  #16916  Stopgaps: 
Description (last modified by )
sage: C = CuspForms(43,2) sage: N = C.newforms('a') sage: f = N[1] sage: L = f.cuspform_lseries() Boom!
There are two issues:
(1) the code doesn't work at all when the degree of the form is > 1, which is the main interesting case,
(2) the name "cuspform_lseries" is bad, since f is already a cuspform, and we use the name "lseries" in all other places (e.g., elliptic curves, abelian varieties), so it is hard to find. In fact, I didn't even think to look for cuspform_lseries, instead only finding this via lots of grepping and reading source code.
So to fix this issue, I think (1) the bug should get fixed, and (2) the name should be changed (actually *deprecate* the old name as explained in the developers guide and introduce the name lseries).
See also #12015.
The part about deprecating cuspform_lseries() is moved to #16917.
Change History (14)
comment:1 Changed 11 years ago by
comment:2 Changed 11 years ago by
 Description modified (diff)
comment:3 Changed 9 years ago by
 Milestone changed from sage5.11 to sage5.12
comment:4 Changed 8 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:5 Changed 8 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:6 Changed 8 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:7 Changed 8 years ago by
 Branch set to u/tornaria/11631
 Commit set to 1939a9cc8480d42441bb4f71a784ac85e934b80b
 Status changed from new to needs_review
Inspired in the patch at #12015, I added a parameter to cuspform_lseries()
so one can specify which of the conjugates of the newform to use (defaults to 0). The order is arbitrary as it comes from the embeddings()
method for self.base_ring()
.
In the long term #12015 is much more general, but this is a good fix and much easier to review and merge.
New commits:
74b6a67  Trac #16916: fix precision issues in cuspform_lseries()

ae26b4a  Trac #16916: avoid precision issues in cuspform_lseries

13dbf33  remove tabs

1939a9c  Trac #11631: fix cuspform_lseries() for nonrational newforms

comment:8 Changed 8 years ago by
 Dependencies set to #16916
comment:9 Changed 8 years ago by
Review: This patch allows one to compute with Lfunctions of nonrational new forms and fixes the first problem mentioned in the description (the one ending with 'Boom!' now produces a real number).
comment:10 Changed 8 years ago by
 Reviewers set to Michael Neururer
comment:11 Changed 8 years ago by
 Description modified (diff)
I moved the part about deprecation to #16917 so the bugfix can be reviewed and merged independently.
comment:12 Changed 8 years ago by
 Status changed from needs_review to positive_review
comment:13 Changed 8 years ago by
comment:14 Changed 8 years ago by
 Branch changed from u/tornaria/11631 to 1939a9cc8480d42441bb4f71a784ac85e934b80b
 Resolution set to fixed
 Status changed from positive_review to closed
I have now written (or am writing) similar (but more powerful) functionality for psage. It'll end up in this directory of psage: psage/lseries/
http://code.google.com/p/purplesage/source/browse/#hg%2Fpsage%2Flseries