#13633: Bug in cuspidal/eisenstein decomposition of modular symbols mod p
------------------------------------------------------+---------------------
Reporter: robharron | Owner:
davidloeffler
Type: defect | Status: new
Priority: major | Milestone:
sage-5.5
Component: modular forms | Resolution:
Keywords: modular symbols, mod p, eisenstein | Work issues:
Report Upstream: N/A | Reviewers:
Authors: | Merged in:
Dependencies: | Stopgaps:
------------------------------------------------------+---------------------
Comment (by robharron):
Here it is: (I'm running an up-to-date MacBook Pro with OS X 10.6.8)
{{{
Last login: Sun Oct 21 23:22:21 on console
dyn-72-33-202-250:~ rharron$ uname -a
Darwin dyn-72-33-202-250.uwnet.wisc.edu 10.8.0 Darwin Kernel Version
10.8.0: Tue Jun 7 16:33:36 PDT 2011; root:xnu-1504.15.3~1/RELEASE_I386
i386
dyn-72-33-202-250:~ rharron$ sage
----------------------------------------------------------------------
| Sage Version 5.2, Release Date: 2012-07-25 |
| Type "notebook()" for the browser-based notebook interface. |
| Type "help()" for help. |
----------------------------------------------------------------------
sage: ModularSymbols(Gamma0(46 * 47), 2, 1, GF(47)).eisenstein_subspace()
---------------------------------------------------------------------------
ArithmeticError Traceback (most recent call
last)
/Users/rharron/<ipython console> in <module>()
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/modsym/space.pyc in eisenstein_subspace(self)
289 6
290 """
--> 291 return self.eisenstein_submodule()
292
293 def dimension_of_associated_cuspform_space(self):
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/modsym/ambient.pyc in eisenstein_submodule(self)
1535 return self.__eisenstein_submodule
1536 except AttributeError:
-> 1537 self.__eisenstein_submodule =
self.cuspidal_submodule().complement()
1538 return self.__eisenstein_submodule
1539
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/misc/cachefunc.so in
sage.misc.cachefunc.CachedMethodCaller.__call__
(sage/misc/cachefunc.c:6565)()
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/misc/cachefunc.so in
sage.misc.cachefunc.CachedMethod._instance_call
(sage/misc/cachefunc.c:9044)()
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/submodule.pyc in complement(self, bound)
366 while N % p == 0: p = arith.next_prime(p)
367 misc.verbose("using T_%s"%p)
--> 368 f = self.hecke_polynomial(p)
369 T = A.hecke_matrix(p)
370 g = T.charpoly('x')
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/module.pyc in hecke_polynomial(self, n, var)
1458 x^3 - 2*x^2 - 7*x - 4
1459 """
-> 1460 return self.hecke_operator(n).charpoly(var)
1461
1462 def is_simple(self):
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/hecke_operator.pyc in charpoly(self, var)
272 x^6 - 14*x^5 + 29*x^4 + 172*x^3 - 124*x^2 - 320*x +
256
273 """
--> 274 return self.matrix().charpoly(var)
275
276 def decomposition(self):
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/hecke_operator.pyc in matrix(self, *args,
**kwds)
745 return self.__matrix
746 except AttributeError:
--> 747 self.__matrix = self.parent().hecke_matrix(self.__n,
*args, **kwds)
748 return self.__matrix
749
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/algebra.pyc in hecke_matrix(self, n, *args,
**kwds)
587 [4860 0 2049]
588 """
--> 589 return self.__M.hecke_matrix(n, *args, **kwds)
590
591 def diamond_bracket_matrix(self, d):
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/module.pyc in hecke_matrix(self, n)
1349 raise IndexError, "n must be positive."
1350 if not self._hecke_matrices.has_key(n):
-> 1351 T = self._compute_hecke_matrix(n)
1352 T.set_immutable()
1353 self._hecke_matrices[n] = T
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/submodule.pyc in _compute_hecke_matrix(self,
n)
237 A = self.ambient_hecke_module().hecke_matrix(n)
238 check = arith.gcd(self.level(), n) != 1
--> 239 return A.restrict(self.free_module(), check=check)
240
241 def _compute_diamond_matrix(self, d):
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/matrix/matrix2.so in sage.matrix.matrix2.Matrix.restrict
(sage/matrix/matrix2.c:23432)()
ArithmeticError: subspace is not invariant under matrix
sage: ModularSymbols(Gamma0(46 * 47), 2, 1,
GF(47)).cuspidal_subspace().hecke_polynomial(47)
---------------------------------------------------------------------------
ArithmeticError Traceback (most recent call
last)
/Users/rharron/<ipython console> in <module>()
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/module.pyc in hecke_polynomial(self, n, var)
1458 x^3 - 2*x^2 - 7*x - 4
1459 """
-> 1460 return self.hecke_operator(n).charpoly(var)
1461
1462 def is_simple(self):
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/hecke_operator.pyc in charpoly(self, var)
272 x^6 - 14*x^5 + 29*x^4 + 172*x^3 - 124*x^2 - 320*x +
256
273 """
--> 274 return self.matrix().charpoly(var)
275
276 def decomposition(self):
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/hecke_operator.pyc in matrix(self, *args,
**kwds)
745 return self.__matrix
746 except AttributeError:
--> 747 self.__matrix = self.parent().hecke_matrix(self.__n,
*args, **kwds)
748 return self.__matrix
749
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/algebra.pyc in hecke_matrix(self, n, *args,
**kwds)
587 [4860 0 2049]
588 """
--> 589 return self.__M.hecke_matrix(n, *args, **kwds)
590
591 def diamond_bracket_matrix(self, d):
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/module.pyc in hecke_matrix(self, n)
1349 raise IndexError, "n must be positive."
1350 if not self._hecke_matrices.has_key(n):
-> 1351 T = self._compute_hecke_matrix(n)
1352 T.set_immutable()
1353 self._hecke_matrices[n] = T
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/modular/hecke/submodule.pyc in _compute_hecke_matrix(self,
n)
237 A = self.ambient_hecke_module().hecke_matrix(n)
238 check = arith.gcd(self.level(), n) != 1
--> 239 return A.restrict(self.free_module(), check=check)
240
241 def _compute_diamond_matrix(self, d):
/Users/rharron/sage/local/lib/python2.7/site-
packages/sage/matrix/matrix2.so in sage.matrix.matrix2.Matrix.restrict
(sage/matrix/matrix2.c:23432)()
ArithmeticError: subspace is not invariant under matrix
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13633#comment:5>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.