7.6.1.4 ModularFormsSpace Objects

class ModularFormsSpace
A generic space of modular forms.
ModularFormsSpace( group, weight, character, base_field)

Instances of class ModularFormsSpace have the following methods (in addition to inherited methods and special methods):

decompose,$  $ newspaces,$  $ sturm_bound

These methods are defined as follows:

decompose( )

This function returns a list of subspaces $ V(f_i,t)$ corresponding to newforms $ f_i$ of some level dividing the level of self, such that the direct sum of the subspaces equals self, if possible. The space $ V(f_i,t)$ is the image under $ g(q)$ maps to $ g(q^t)$ of the intersection with $ R[[q]]$ of the space spanned by the conjugates of $ f_i$ , where $ R$ is the base ring of self.

newspaces( )

This function returns a list of subspaces $ S(M,t)$ and $ E(M,t)$ , corresponding to levels $ M$ dividing $ N$ and integers $ t$ dividing $ N/M$ , such that self is the direct sum of these spaces, if possible. Here $ S(M,t)$ is by definition the image under $ f(q) \mapsto f(q^t)$ of the new subspace of cusp forms of level $ M$ , and similarly $ E(M,t)$ is the image of Eisenstein series.

Notes: (1) the subspaces $ S(M,t)$ need not be stable under Hecke operators of index dividing $ N/M$ . (2) Since self can be an arbitrary subspace, there's no guarantee any $ S(M,t)$ or $ E(M,t)$ is in self, so the return list could be empty.

sturm_bound( [M=None])

For a space M of modular forms, this function returns an integer B such that two modular forms in either self or M are equal if and only if their q-expansions are equal to precision B. If M is none, then M is set equal to self.

NOTES: Reference for the Sturm bound that we use in the definition of of this function:

J. Sturm, On the congruence of modular forms, Number theory (New York, 1984-1985), Springer, Berlin, 1987, pp. 275-280.

Useful Remark:

Buzzard pointed out to me (William Stein) in Fall 2002 that the above bound is fine for Gamma1 with character, as one sees by taking a power of $ f$ . More precisely, if $ f\equiv 0\pmod{p}$ for first $ s$ coefficients, then $ f^r
= 0 \pmod{p}$ for first $ s r$ coefficents. Since the weight of $ f^r$ is $ r {\rm weight}(f)$ , it follows that if $ s \geq $ the sturm bound for $ \Gamma_0$ at weight(f), then $ f^r$ has valuation large enough to be forced to be 0 at $ r\cdot$ weight(f) by Sturm bound (which is valid if we choose $ r$ right). Thus $ f\equiv 0\pmod{p}$ . Conclusion: For $ \Gamma_1$ with fixed character, the Sturm bound is exactly the same as for $ \Gamma_0$ . A key point is that we are finding $ \mathbf{Z}[\varepsilon ]$ generators for the Hecke algebra here, not $ \mathbf{Z}$ -generators. So if one wants generators for the Hecke algebra over $ \mathbf{Z}$ , this bound is wrong.

This bound works over any base, even a finite field. There might be much better bounds over $ \mathbf{Q}$ , or for comparing two eigenforms.

Instances of class ModularFormsSpace also have the following special methods:

__contains__( x)

True if x is an element or subspace of self.

See About this document... for information on suggesting changes.