Morphisms of Hecke modules - General Hecke Algebras and Hecke Modules

Skip to content
Back to top
View this page
Edit this page

# Morphisms of Hecke modules

AUTHORS:

- William Stein

class sage.modular.hecke.morphism.HeckeModuleMorphism

  Bases: `Morphism`

  Abstract base class for morphisms of Hecke modules.

class sage.modular.hecke.morphism.HeckeModuleMorphism_matrix(parent, A, name='', side='left')

  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

      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.

  Python

      >>> 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)

    Return the name of this operator, or set it to a new name.

    EXAMPLES:

    Sage

        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 ...

    Python

        >>> 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 ...