#12879: TestSuite failures for HeckeModule Homsets
---------------------------------+------------------------------------------
Reporter: nthiery | Owner: craigcitro
Type: defect | Status: new
Priority: major | Milestone: sage-5.3
Component: modular forms | Resolution:
Keywords: | Work issues:
Report Upstream: N/A | Reviewers:
Authors: | Merged in:
Dependencies: | Stopgaps:
---------------------------------+------------------------------------------
Comment (by SimonKing):
Nicolas suggested to me to move this from #12876 to here. I found the
following steps needed:
* Make `HeckeModule_generic` inherit from `UniqueRepresentation`. I guess
it was for a reason that William did not always want modular forms being
cached (there ''is'' a cache, but it isn't always used). Since nowadays
the cache has weak keys, it shouldn't be so bad. I'll ask on sage-nt.
* Provide the Hecke homsets with a `__reduce__` method, so that (after
the Hecke modules being unique) the homsets are identical.
* Provide the Hecke homsets with an `Element` attribute, and let the
constructors return instances of the `element_class`. Note that there is
only ''one'' type of morphisms being returned, hence, having a default
element class absolutely makes sense.
* It was impossible to override the custom `__call__` method of Hecke
homsets by a proper `_element_construtor_`, since there is yet another
custon `__call__` method up in the class hierarchy.
* Provide the Hecke homsets with a `zero()` method - the default one
wouldn't work.
* Provide the Hecke homsets with an `_an_element_` method. The idea is:
Domain and codomain have a known dimension, and the morphisms are given by
matrices anyway. Hence, I construct the corresponding matrix space (which
I made a lazy attribute to the Hecke homsets), take `an_element` from the
matrix space, and return the corresponding morphism.
With that approach, I get
{{{
sage -t -force_lib devel/sage/sage/modular/modsym/ambient.py # 1
doctests failed
sage -t -force_lib devel/sage/sage/modular/abvar/homspace.py # 1
doctests failed
sage -t -force_lib devel/sage/sage/modular/modform/constructor.py
# 3 doctests failed
sage -t -force_lib devel/sage/sage/modular/quatalg/brandt.py # 3
doctests failed
sage -t -force_lib
devel/sage/sage/modular/hecke/ambient_module.py # 2 doctests failed
sage -t -force_lib devel/sage/sage/modular/modsym/modsym.py # 2
doctests failed
sage -t -force_lib devel/sage/sage/modular/abvar/homology.py # 9
doctests failed
sage -t -force_lib
devel/sage/sage/modular/modform/hecke_operator_on_qexp.py # 2 doctests
failed
}}}
which isn't so bad, because most of them fail due to new class names from
the category framework.
Suggestion: I provide a small reviewer patch at #12876 making the
`TestSuite` skip more tests, and then a proper solution will be dealt with
here.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12879#comment:1>
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.