Ticket #5995 (closed defect: fixed)
[with patch, with positive review] Membership testing for modular forms subspaces is hopeless
| Reported by: | davidloeffler | Owned by: | craigcitro |
|---|---|---|---|
| Priority: | major | Milestone: | sage-4.0.1 |
| Component: | modular forms | Keywords: | |
| Cc: | craigcitro | Author(s): | David Loeffler |
| Report Upstream: | Reviewer(s): | John Cremona | |
| Merged in: | 4.0.1.alpha0 | Work issues: |
Description
This is pretty poor, IMHO:
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.
Attachments
Change History
Note: See
TracTickets for help on using
tickets.

