Today I helped Matt Greenberg solve (I think) a bug in modular symbols.
His complaint was that the following does not work:
sage: M = ModularSymbols(389,2,1,GF(7))
sage: C = M.cuspidal_subspace()
sage: N = C.new_subspace()
sage: D = N.decomposition()
sage: D[1].q_eigenform(10, 'a')
After a while of poking around, the following patch made it work, but
the change does not agree with the documentation of the function. I'd
like advice on the proper way to fix this, and whether not this is
correct:
diff -r 342fcdf4b4d3 sage/modular/modsym/heilbronn.pyx
--- a/sage/modular/modsym/heilbronn.pyx Thu Jun 24 17:16:40 2010 -0700
+++ b/sage/modular/modsym/heilbronn.pyx Thu Jun 24 19:27:36 2010 -0700
@@ -534,6 +534,7 @@
from sage.matrix.all import matrix
from sage.rings.all import QQ
T = matrix(QQ, len(indices), len(P1), sparse=False)
+ original_base_ring = R.base_ring()
if R.base_ring() != QQ:
R = R.change_ring(QQ)
@@ -593,6 +594,8 @@
sage.misc.misc.verbose("did reduction using dense multiplication",
t, level=1,
caller_name='hecke_images_gamma0_weight2')
+ if original_base_ring != QQ:
+ ans = ans.change_ring(original_base_ring)
return ans
--
Robert L. Miller
http://www.rlmiller.org/
--
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org