I've put a very first usable version of smalljac in psage, which is
the world's fastest code for computing L-series of hyperelliptic
curves (of genus <=3) over Q, at least all the good primes.
Here's how it works:
sage: import psage.libs.smalljac.wrapper as w
sage: C = w.SmallJac(x^3 + 1)
sage: C.Lpolys(100)
{2: [], 3: [], 5: [0], 7: [4], 11: [0], 13: [-2], 17: [0], 19: [-8],
23: [0], 29: [0], 31: [4], 37: [10], 41: [0], 43: [-8], 47: [0], 53:
[0], 59: [0], 61: [-14], 67: [16], 71: [0], 73: [10], 79: [4], 83:
[0], 89: [0], 97: [-14]}
sage: time v = C.ap_dict(10^6)
CPU times: user 0.88 s, sys: 0.00 s, total: 0.88 s
sage: C = w.SmallJac(x^5 + 1)
sage: C.Lpolys(100)
{2: [], 3: [0, 0], 5: [], 7: [0, 0], 11: [-4, 6], 13: [0, 0], 17: [0,
0], 19: [0, 38], 23: [0, 0], 29: [0, 58], 31: [-4, 46], 37: [0, 0],
41: [16, 126], 43: [0, 0], 47: [0, 0], 53: [0, 0], 59: [0, 118], 61:
[16, 166], 67: [0, 0], 71: [-4, 126], 73: [0, 0], 79: [0, 158], 83:
[0, 0], 89: [0, 178], 97: [0, 0]}
sage: C = w.SmallJac(x^5 + x + 1)
sage: time v=C.Lpolys(10^5)
CPU times: user 4.21 s, sys: 0.00 s, total: 4.21 s
Wall time: 4.21 s
Things like "user friendliness", parallel (via fork) version, etc.,
will come soon in an update.
If you want to use it, setup psage as described here:
http://code.google.com/p/purplesage/wiki/GettingStarted
Then pull in the latest changes from my repo by typing:
hg pull http://wstein-working.googlecode.com/hg/
and finally do
sage setup.py develop
in the root of your psage install.
I've tested this on 64-bit OS X 10.6 and Linux (Ubuntu 8.04).
Drew's code is *only* supposed to work on 64-bit platforms.
The version in Sage currently only does genus 1 and 2, since genus 3
requires linking in some code of David Harvey, which I haven't figured
out how to do yet.
-- William
--
William Stein
Professor of Mathematics
University of Washington
http://wstein.org