Modular forms over a non-minimal base ring#

class sage.modular.modform.ambient_R.ModularFormsAmbient_R(M, base_ring)[source]#

Bases: ModularFormsAmbient

Ambient space of modular forms over a ring other than QQ.

EXAMPLES:

sage: M = ModularForms(23, 2, base_ring=GF(7)) # indirect doctest
sage: M
Modular Forms space of dimension 3 for Congruence Subgroup Gamma0(23)
 of weight 2 over Finite Field of size 7
sage: M == loads(dumps(M))
True
>>> from sage.all import *
>>> M = ModularForms(Integer(23), Integer(2), base_ring=GF(Integer(7))) # indirect doctest
>>> M
Modular Forms space of dimension 3 for Congruence Subgroup Gamma0(23)
 of weight 2 over Finite Field of size 7
>>> M == loads(dumps(M))
True
change_ring(R)[source]#

Return this modular forms space with the base ring changed to the ring R.

EXAMPLES:

sage: # needs sage.rings.number_field
sage: chi = DirichletGroup(109, CyclotomicField(3)).0
sage: M9 = ModularForms(chi, 2, base_ring = CyclotomicField(9))
sage: M9.change_ring(CyclotomicField(15))
Modular Forms space of dimension 10, character [zeta3 + 1] and weight 2
 over Cyclotomic Field of order 15 and degree 8
sage: M9.change_ring(QQ)
Traceback (most recent call last):
...
ValueError: Space cannot be defined over Rational Field
>>> from sage.all import *
>>> # needs sage.rings.number_field
>>> chi = DirichletGroup(Integer(109), CyclotomicField(Integer(3))).gen(0)
>>> M9 = ModularForms(chi, Integer(2), base_ring = CyclotomicField(Integer(9)))
>>> M9.change_ring(CyclotomicField(Integer(15)))
Modular Forms space of dimension 10, character [zeta3 + 1] and weight 2
 over Cyclotomic Field of order 15 and degree 8
>>> M9.change_ring(QQ)
Traceback (most recent call last):
...
ValueError: Space cannot be defined over Rational Field
cuspidal_submodule()[source]#

Return the cuspidal subspace of this space.

EXAMPLES:

sage: # needs sage.rings.number_field
sage: C = CuspForms(7, 4, base_ring=CyclotomicField(5))  # indirect doctest
sage: type(C)
<class 'sage.modular.modform.cuspidal_submodule.CuspidalSubmodule_R_with_category'>
>>> from sage.all import *
>>> # needs sage.rings.number_field
>>> C = CuspForms(Integer(7), Integer(4), base_ring=CyclotomicField(Integer(5)))  # indirect doctest
>>> type(C)
<class 'sage.modular.modform.cuspidal_submodule.CuspidalSubmodule_R_with_category'>
modular_symbols(sign=0)[source]#

Return the space of modular symbols attached to this space, with the given sign (default 0).