Ticket #12015 (new enhancement)
L-series attached to general Euler products
| Reported by: | was | Owned by: | was |
|---|---|---|---|
| Priority: | major | Milestone: | sage-5.10 |
| Component: | number theory | Keywords: | sd35.5 |
| Cc: | Work issues: | ||
| Report Upstream: | N/A | Reviewers: | |
| Authors: | Merged in: | ||
| 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 L-series 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 L-series 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 64-bit only stuff in psage (like smalljac). The point of this ticket is to to do that.
Attachments
Change History
Changed 19 months ago by was
-
attachment
trac_12015-part1.patch
added
comment:2 Changed 17 months ago by cassiew1
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 16 months ago by was
The patch trac_12015-part1_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^2-x-1) 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)

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.