Module sage.modular.modform.modform
Modular Forms
DESIGN NOTES:
Our implementation depends heavily on the fact that we have good
dimension formulas (see dims.py) for spaces of modular forms with
character, and new subspaces, so that we don't have to compute
q-expansions for the whole space in order to compute q-expansions /
elements / and dimensions of certain subspaces. Also, the following
design is much simpler than the one I used in MAGMA because subspaces
don't have lots of complicated special labels. Here's the actual
design.
The internal basis of q-expansions of modular forms for the ambient
space is defined as follows:
First Block: Cuspidal Subspace
Second Block: Eisenstein Subspace
Cuspidal Subspace: Block for each level M dividing N, from highest
level to lowest, and block for level M
contains the images at level N of the
newsubspace of level M (basis, then
basis(q^d), then basis(q^e), etc.)
Eisenstein Subspace: ???
Since we can compute dimensions of cuspidal subspaces quickly and
easily, it should be easy to locate any of the above blocks. Hence,
e.g., to compute basis for new cuspidal subspace, just have to return
first n standard basis vector where n is the dimension. However, we
can also create completely arbitrary subspaces as well.
The base field is the field generated by the character values.
Function Summary |
|
compute_eisenstein_params (character,
k)
Compute and return a list of all parameters (chi,psi,t) that define
the Eisenstein series with given character and weight k. |
compute_eisenstein_params(character,
k)
Compute and return a list of all parameters (chi,psi,t) that define
the Eisenstein series with given character and weight k.
Only the parity of k is relevant.
If character is an integer N, then the parameters for Gamma1(N) are
computed instead. Then the condition is that chi(-1)*psi(-1) ==
(-1)**k.
-
|
DEFAULT_PRECISION
-
- Type:
-
int
- Value:
|