You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
sage: M = ModularForms(17, 4)
sage: S = M.cuspidal_submodule()
sage: M.0 == S.0
True
sage: M.0 in S
False
As far as I can tell at a glance this is happening because S.__call__(x) tests whether or not the parent of x has a canonical inclusion map to S; it should probably be testing whether the parent of x has a canonical inclusion map to the ambient space of S.
Once the above is fixed we should also have a method is_cuspidal() for modular forms objects, which would be secretly just self in self.parent().cuspidal_submodule(). A corresponding is_eisenstein() would be good, too.
Here's a patch, which adds is_cuspidal, is_eisenstein, is_new and is_old, and corrects a funny glitch whereby elliptic curve newforms consistently claimed not to be cuspidal :-) I wrote the patch and ran tests with this and everything else (including the not-yet-fully-refereed #5968) installed simultaneously, but it should at least apply as long as you have the patches at #4357 and #5736 installed.
This is pretty poor, IMHO:
As far as I can tell at a glance this is happening because
S.__call__(x)
tests whether or not the parent of x has a canonical inclusion map to S; it should probably be testing whether the parent of x has a canonical inclusion map to the ambient space of S.Once the above is fixed we should also have a method
is_cuspidal()
for modular forms objects, which would be secretly justself in self.parent().cuspidal_submodule()
. A correspondingis_eisenstein()
would be good, too.CC: @craigcitro
Component: modular forms
Author: David Loeffler
Reviewer: John Cremona
Merged: 4.0.1.alpha0
Issue created by migration from https://trac.sagemath.org/ticket/5995
The text was updated successfully, but these errors were encountered: