Elements of Hecke modules#

AUTHORS:

  • William Stein

class sage.modular.hecke.element.HeckeModuleElement(parent, x=None)#

Bases: ModuleElement

Element of a Hecke module.

ambient_module()#

Return the ambient Hecke module that contains this element.

EXAMPLES:

sage: BrandtModule(37)([0,1,-1]).ambient_module()
Brandt module of dimension 3 of level 37 of weight 2 over Rational Field
element()#

Return underlying vector space element that defines this Hecke module element.

EXAMPLES:

sage: z = BrandtModule(37)([0,1,-1]).element(); z
(0, 1, -1)
sage: type(z)
<class 'sage.modules.vector_rational_dense.Vector_rational_dense'>
is_cuspidal()#

Return True if this element is cuspidal.

EXAMPLES:

sage: M = ModularForms(2, 22); M.0.is_cuspidal()
True
sage: (M.0 + M.4).is_cuspidal()
False
sage: EllipticCurve('37a1').newform().is_cuspidal()
True

It works for modular symbols too:

sage: M = ModularSymbols(19,2)
sage: M.0.is_cuspidal()
False
sage: M.1.is_cuspidal()
True
is_eisenstein()#

Return True if this element is Eisenstein.

This makes sense for both modular forms and modular symbols.

EXAMPLES:

sage: CuspForms(2,8).0.is_eisenstein()
False
sage: M = ModularForms(2,8);(M.0  + M.1).is_eisenstein()
False
sage: M.1.is_eisenstein()
True
sage: ModularSymbols(19,4).0.is_eisenstein()
False
sage: EllipticCurve('37a1').newform().element().is_eisenstein()
False
is_new(p=None)#

Return True if this element is p-new.

If p is None, return True if the element is new.

EXAMPLES:

sage: CuspForms(22, 2).0.is_new(2)
False
sage: CuspForms(22, 2).0.is_new(11)
True
sage: CuspForms(22, 2).0.is_new()
False
is_old(p=None)#

Return True if this element is p-old.

If p is None, return True if the element is old.

EXAMPLES:

sage: CuspForms(22, 2).0.is_old(11)
False
sage: CuspForms(22, 2).0.is_old(2)
True
sage: CuspForms(22, 2).0.is_old()
True
sage: EisensteinForms(144, 2).1.is_old()  # long time (3s on sage.math, 2011)
False
sage: EisensteinForms(144, 2).1.is_old(2) # not implemented
False
sage.modular.hecke.element.is_HeckeModuleElement(x)#

Return True if x is a Hecke module element, i.e., of type HeckeModuleElement.

EXAMPLES:

sage: sage.modular.hecke.all.is_HeckeModuleElement(0)
False
sage: sage.modular.hecke.all.is_HeckeModuleElement(BrandtModule(37)([1,2,3]))
True