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 - Trueif 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 - Trueif 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 - Trueif this element is \(p\)-new.- If \(p\) is - None, return- Trueif 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 - Trueif this element is \(p\)-old.- If \(p\) is - None, return- Trueif 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 - Trueif 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