Opened 10 years ago
Last modified 2 years ago
#12015 new enhancement
Lseries attached to general Euler products
Reported by:  was  Owned by:  was 

Priority:  major  Milestone:  
Component:  number theory  Keywords:  sd35.5, lseries 
Cc:  jdemeyer  Merged in:  
Authors:  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  public/12015 (Commits, GitHub, GitLab)  Commit:  ed3867d53c53b23b39ede0577c4d40cf69448f06 
Dependencies:  Stopgaps: 
Description
This summer I wrote a package for psage (see http://code.google.com/p/purplesage/source/browse/psage/lseries/eulerprod.py) that allows one to compute with Lseries attached to general Euler products, and implemented many cases, included everything supported in Sage, and a lot more. This also did things that worked instead of the buggier #11631. This code is similar to the Lseries package in Magma, I guess (http://magma.maths.usyd.edu.au/magma/handbook/text/1503).
It would be useful to have a stable version of this code in Sage, at least the parts that don't depend on 64bit only stuff in psage (like smalljac). The point of this ticket is to to do that.
Attachments (2)
Change History (21)
Changed 10 years ago by
comment:1 Changed 10 years ago by
 Keywords sd35.5 added
Changed 10 years ago by
comment:2 Changed 10 years ago by
Second patch  Added a small function an, the class LSeriesTripleProduct, and some new doctests. Unfortunately, adding more code outbalanced the new doctests so the coverage is still very low. Noticed some bugs as well, such as zeros not being implemented, anlist allowing negative inputs, and taylor_series failing on some cases where it shouldn't. Much work yet to be done.
comment:3 Changed 10 years ago by
The patch trac_12015part1_updated.patch has some issues:
 It patches a file called
sage/lfunctions/eulerprod_with_tripleprod.py
that is not even in my patch. I'm guessing you took some old file from Sage days I had provided and started working on it. However, that has little to do with the code in the patch I posted to this ticket.
 Why was this change made?
118 sage: K.<a> = NumberField(x^2x1) 119 sage: K.<a> = NumberField(x^2+1)
 The code needs to be indented here, but isn't (in your patch):
174 EXAMPLES:: 175 176 sage: from sage.lfunctions.eulerprod import LSeries 177 sage: from sage.lfunctions.eulerprod import LSeriesDerivative 178 sage: K.<a>=NumberField(x^2+1) 179 sage: L=LSeries(K); L
 Here in your patch the code is indented (good), but there is only one colon (instead of two) after EXAMPLES:
508 EXAMPLES: 509 510 sage: from sage.lfunctions.eulerprod import LSeriesAbstract 511 sage: L1 = LSeriesAbstract(conductor=1, hodge_numbers=[0], weight=1, epsilon=1, poles=[1], residues=[1], base_field=QQ)
comment:4 Changed 8 years ago by
 Milestone changed from sage5.11 to sage5.12
comment:5 Changed 8 years ago by
 Milestone changed from sage6.1 to sage6.2
comment:6 Changed 8 years ago by
 Milestone changed from sage6.2 to sage6.3
comment:7 Changed 7 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:8 Changed 7 years ago by
 Branch set to u/tornaria/12015
 Commit set to c053272e55eb3cacadd8fe6a470d71ae4a1bad12
comment:9 Changed 3 years ago by
 Keywords lseries added
 Milestone changed from sage6.4 to sage8.7
comment:10 Changed 3 years ago by
 Milestone changed from sage8.7 to sage8.8
Ticket retargeted after milestone closed (if you don't believe this ticket is appropriate for the Sage 8.8 release please retarget manually)
comment:11 Changed 3 years ago by
 Branch changed from u/tornaria/12015 to u/chapoton/12015
 Commit changed from c053272e55eb3cacadd8fe6a470d71ae4a1bad12 to b75bcdb7a6c38f9c6a07db8a4aec92cf65e15404
comment:12 Changed 3 years ago by
 Commit changed from b75bcdb7a6c38f9c6a07db8a4aec92cf65e15404 to ee16483fb37dc8e7839f1be7f585091faa01d51b
Branch pushed to git repo; I updated commit sha1. New commits:
ee16483  further fixes

comment:13 Changed 3 years ago by
 Commit changed from ee16483fb37dc8e7839f1be7f585091faa01d51b to 349471ca6c576480a4c955c67ee5e783882cdec4
Branch pushed to git repo; I updated commit sha1. New commits:
349471c  some fixes

comment:14 Changed 3 years ago by
 Commit changed from 349471ca6c576480a4c955c67ee5e783882cdec4 to bf103de38fa198a0d163f9bb78a1ab6be0dbd11b
Branch pushed to git repo; I updated commit sha1. New commits:
bf103de  parent and element in commutative monoid

comment:15 Changed 3 years ago by
 Commit changed from bf103de38fa198a0d163f9bb78a1ab6be0dbd11b to 4519d3765949f91175f1da7709ca53a5955fe26b
Branch pushed to git repo; I updated commit sha1. New commits:
4519d37  adding simple hash

comment:16 Changed 3 years ago by
 Commit changed from 4519d3765949f91175f1da7709ca53a5955fe26b to ebcdeb1864fda5fc2758ebf3f57f4da45e85958b
Branch pushed to git repo; I updated commit sha1. New commits:
ebcdeb1  some detail fixes

comment:17 Changed 3 years ago by
 Milestone sage8.8 deleted
As the Sage8.8 release milestone is pending, we should delete the sage8.8 milestone for tickets that are not actively being worked on or that still require significant work to move forward. If you feel that this ticket should be included in the next Sage release at the soonest please set its milestone to the next release milestone (sage8.9).
comment:18 Changed 2 years ago by
 Cc jdemeyer added
There is a pari syntax error appearing in the doctests..
comment:19 Changed 2 years ago by
 Branch changed from u/chapoton/12015 to public/12015
 Commit changed from ebcdeb1864fda5fc2758ebf3f57f4da45e85958b to ed3867d53c53b23b39ede0577c4d40cf69448f06
I fixed a couple of tests that I had locally at https://github.com/alexjbest/psage . I think one major problem here still is the mix of things defined in eulerprod.py vs. dockchitser.py many functions like residues, epsilon should probably be for any dockchitser Lfunction if they are calling pari, with a wrapper in the LSeriesAbstract class?
New commits:
485bee1  Merge branch 'u/chapoton/12015' of git://trac.sagemath.org/sage into HEAD

ed3867d  small fixes for eulerprod

first patch  this implements all functionality for first version and passes all its tests. Unfortunately, the doctest coverage score is 36%. To finish this ticket, I have to get it to 100% and deal with the bugs that getting the coverage up reveals.