-
-
Notifications
You must be signed in to change notification settings - Fork 654
Closed
Description
There's some error with plus_submodule
and cuspidal_submodule
not being "commutative." Here's an example:
sage: M = ModularSymbols(11,2)
sage: Mpc = M.plus_submodule().cuspidal_submodule()
sage: Mcp = M.cuspidal_submodule().plus_submodule()
sage: Mcp.q_expansion_basis(10)
[
q - 2*q^2 - q^3 + 2*q^4 + q^5 + 2*q^6 - 2*q^7 - 2*q^9 + O(q^10)
]
sage: Mpc.q_expansion_basis(10)
---------------------------------------------------------------------------
<type 'exceptions.RuntimeError'> Traceback (most recent call last)
/Users/craigcitro/<ipython console> in <module>()
/sage/local/lib/python2.5/site-packages/sage/modular/modsym/space.py in q_expansion_basis(self, prec, algorithm)
458 algorithm = 'hecke'
459 if algorithm == 'hecke':
--> 460 return Sequence(self._q_expansion_basis_hecke_dual(prec), cr=True)
461 elif algorithm == 'eigen':
462 return Sequence(self._q_expansion_basis_eigen(prec), cr=True)
/sage/local/lib/python2.5/site-packages/sage/modular/modsym/space.py in _q_expansion_basis_hecke_dual(self, prec)
913 t = misc.verbose('computing basis to precision %s'%prec)
914 while V.dimension() < d and i >= 0:
--> 915 v = [self.dual_hecke_matrix(n).column(i) for n in range(1,prec)]
916 t = misc.verbose('iteration: %s'%j,t)
917 X = M(v).transpose()
/sage/local/lib/python2.5/site-packages/sage/modular/hecke/module.py in dual_hecke_matrix(self, n)
725 self._dual_hecke_matrices = {}
726 if not self._dual_hecke_matrices.has_key(n):
--> 727 T = self._compute_dual_hecke_matrix(n)
728 self._dual_hecke_matrices[n] = T
729 return self._dual_hecke_matrices[n]
/sage/local/lib/python2.5/site-packages/sage/modular/hecke/submodule.py in _compute_dual_hecke_matrix(self, n)
108 A = self.ambient_hecke_module().dual_hecke_matrix(n)
109 check = arith.gcd(self.level(), n) != 1
--> 110 return A.restrict(self.dual_free_module(), check=check)
111
112 def _compute_hecke_matrix(self, n):
/sage/local/lib/python2.5/site-packages/sage/modular/hecke/submodule.py in dual_free_module(self, bound, anemic)
295 # failed
296 raise RuntimeError, "Computation of embedded dual vector space failed " + \
--> 297 "(cut down to rank %s, but should have cut down to rank %s)."%(V.rank(), self.rank())
298
299
<type 'exceptions.RuntimeError'>: Computation of embedded dual vector space failed (cut down to rank 2, but should have cut down to rank 1).
I'll look at this soon.
CC: @aghitza @JohnCremona
Component: modular forms
Issue created by migration from https://trac.sagemath.org/ticket/2535