Morphisms of Hecke modules#
AUTHORS:
William Stein
- class sage.modular.hecke.morphism.HeckeModuleMorphism[source]#
Bases:
Morphism
Abstract base class for morphisms of Hecke modules.
- class sage.modular.hecke.morphism.HeckeModuleMorphism_matrix(parent, A, name='', side='left')[source]#
Bases:
MatrixMorphism
,HeckeModuleMorphism
Morphisms of Hecke modules when the morphism is given by a matrix.
Note that care is needed when composing morphisms, because morphisms in Sage act on the left, but their matrices act on the right (!). So if F: A -> B and G : B -> C are morphisms, the composition A -> C is G*F, but its matrix is F.matrix() * G.matrix().
EXAMPLES:
sage: A = ModularForms(1, 4) sage: B = ModularForms(1, 16) sage: C = ModularForms(1, 28) sage: F = A.Hom(B)(matrix(QQ,1,2,srange(1, 3))) sage: G = B.Hom(C)(matrix(QQ,2,3,srange(1, 7))) sage: G * F Hecke module morphism defined by the matrix [ 9 12 15] Domain: Modular Forms space of dimension 1 for Modular Group SL(2,Z) ... Codomain: Modular Forms space of dimension 3 for Modular Group SL(2,Z) ... sage: F * G Traceback (most recent call last): ... TypeError: Incompatible composition of morphisms: domain of left morphism must be codomain of right.
>>> from sage.all import * >>> A = ModularForms(Integer(1), Integer(4)) >>> B = ModularForms(Integer(1), Integer(16)) >>> C = ModularForms(Integer(1), Integer(28)) >>> F = A.Hom(B)(matrix(QQ,Integer(1),Integer(2),srange(Integer(1), Integer(3)))) >>> G = B.Hom(C)(matrix(QQ,Integer(2),Integer(3),srange(Integer(1), Integer(7)))) >>> G * F Hecke module morphism defined by the matrix [ 9 12 15] Domain: Modular Forms space of dimension 1 for Modular Group SL(2,Z) ... Codomain: Modular Forms space of dimension 3 for Modular Group SL(2,Z) ... >>> F * G Traceback (most recent call last): ... TypeError: Incompatible composition of morphisms: domain of left morphism must be codomain of right.
- name(new=None)[source]#
Return the name of this operator, or set it to a new name.
EXAMPLES:
sage: M = ModularSymbols(6) sage: t = M.Hom(M)(matrix(QQ,3,3,srange(9)), name="spam"); t Hecke module morphism spam defined by ... sage: t.name() 'spam' sage: t.name("eggs"); t Hecke module morphism eggs defined by ...
>>> from sage.all import * >>> M = ModularSymbols(Integer(6)) >>> t = M.Hom(M)(matrix(QQ,Integer(3),Integer(3),srange(Integer(9))), name="spam"); t Hecke module morphism spam defined by ... >>> t.name() 'spam' >>> t.name("eggs"); t Hecke module morphism eggs defined by ...
- sage.modular.hecke.morphism.is_HeckeModuleMorphism(x)[source]#
Return
True
if x is of type HeckeModuleMorphism.EXAMPLES:
sage: sage.modular.hecke.morphism.is_HeckeModuleMorphism(ModularSymbols(6).hecke_operator(7).hecke_module_morphism()) doctest:warning... DeprecationWarning: the function is_HeckeModuleMorphism is deprecated; use 'isinstance(..., HeckeModuleMorphism)' instead See https://github.com/sagemath/sage/issues/37895 for details. True
>>> from sage.all import * >>> sage.modular.hecke.morphism.is_HeckeModuleMorphism(ModularSymbols(Integer(6)).hecke_operator(Integer(7)).hecke_module_morphism()) doctest:warning... DeprecationWarning: the function is_HeckeModuleMorphism is deprecated; use 'isinstance(..., HeckeModuleMorphism)' instead See https://github.com/sagemath/sage/issues/37895 for details. True
- sage.modular.hecke.morphism.is_HeckeModuleMorphism_matrix(x)[source]#
EXAMPLES:
sage: sage.modular.hecke.morphism.is_HeckeModuleMorphism_matrix(ModularSymbols(6).hecke_operator(7).matrix_form().hecke_module_morphism()) doctest:warning... DeprecationWarning: the function is_HeckeModuleMorphism_matrix is deprecated; use 'isinstance(..., HeckeModuleMorphism_matrix)' instead See https://github.com/sagemath/sage/issues/37895 for details. True
>>> from sage.all import * >>> sage.modular.hecke.morphism.is_HeckeModuleMorphism_matrix(ModularSymbols(Integer(6)).hecke_operator(Integer(7)).matrix_form().hecke_module_morphism()) doctest:warning... DeprecationWarning: the function is_HeckeModuleMorphism_matrix is deprecated; use 'isinstance(..., HeckeModuleMorphism_matrix)' instead See https://github.com/sagemath/sage/issues/37895 for details. True