Elements of Hecke modules#
AUTHORS:
William Stein
- class sage.modular.hecke.element.HeckeModuleElement(parent, x=None)[source]#
Bases:
ModuleElement
Element of a Hecke module.
- ambient_module()[source]#
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
>>> from sage.all import * >>> BrandtModule(Integer(37))([Integer(0),Integer(1),-Integer(1)]).ambient_module() Brandt module of dimension 3 of level 37 of weight 2 over Rational Field
- element()[source]#
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'>
>>> from sage.all import * >>> z = BrandtModule(Integer(37))([Integer(0),Integer(1),-Integer(1)]).element(); z (0, 1, -1) >>> type(z) <class 'sage.modules.vector_rational_dense.Vector_rational_dense'>
- is_cuspidal()[source]#
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
>>> from sage.all import * >>> M = ModularForms(Integer(2), Integer(22)); M.gen(0).is_cuspidal() True >>> (M.gen(0) + M.gen(4)).is_cuspidal() False >>> 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
>>> from sage.all import * >>> M = ModularSymbols(Integer(19),Integer(2)) >>> M.gen(0).is_cuspidal() False >>> M.gen(1).is_cuspidal() True
- is_eisenstein()[source]#
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
>>> from sage.all import * >>> CuspForms(Integer(2),Integer(8)).gen(0).is_eisenstein() False >>> M = ModularForms(Integer(2),Integer(8));(M.gen(0) + M.gen(1)).is_eisenstein() False >>> M.gen(1).is_eisenstein() True >>> ModularSymbols(Integer(19),Integer(4)).gen(0).is_eisenstein() False >>> EllipticCurve('37a1').newform().element().is_eisenstein() False
- is_new(p=None)[source]#
Return
True
if this element is p-new.If p is
None
, returnTrue
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
>>> from sage.all import * >>> CuspForms(Integer(22), Integer(2)).gen(0).is_new(Integer(2)) False >>> CuspForms(Integer(22), Integer(2)).gen(0).is_new(Integer(11)) True >>> CuspForms(Integer(22), Integer(2)).gen(0).is_new() False
- is_old(p=None)[source]#
Return
True
if this element is p-old.If p is
None
, returnTrue
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
>>> from sage.all import * >>> CuspForms(Integer(22), Integer(2)).gen(0).is_old(Integer(11)) False >>> CuspForms(Integer(22), Integer(2)).gen(0).is_old(Integer(2)) True >>> CuspForms(Integer(22), Integer(2)).gen(0).is_old() True >>> EisensteinForms(Integer(144), Integer(2)).gen(1).is_old() # long time (3s on sage.math, 2011) False >>> EisensteinForms(Integer(144), Integer(2)).gen(1).is_old(Integer(2)) # not implemented False
- sage.modular.hecke.element.is_HeckeModuleElement(x)[source]#
Return
True
if x is a Hecke module element, i.e., of type HeckeModuleElement.EXAMPLES:
sage: sage.modular.hecke.all.is_HeckeModuleElement(0) doctest:warning... DeprecationWarning: the function is_HeckeModuleElement is deprecated; use 'isinstance(..., HeckeModuleElement)' instead See https://github.com/sagemath/sage/issues/37895 for details. False sage: sage.modular.hecke.all.is_HeckeModuleElement(BrandtModule(37)([1,2,3])) True
>>> from sage.all import * >>> sage.modular.hecke.all.is_HeckeModuleElement(Integer(0)) doctest:warning... DeprecationWarning: the function is_HeckeModuleElement is deprecated; use 'isinstance(..., HeckeModuleElement)' instead See https://github.com/sagemath/sage/issues/37895 for details. False >>> sage.modular.hecke.all.is_HeckeModuleElement(BrandtModule(Integer(37))([Integer(1),Integer(2),Integer(3)])) True