Thanks for this answer, John. I think it would be very useful to add
mod-ell modular forms to LMFDB! Your example about non-maximal orders is
enlightening -- I see that LMFDB now lists "coefficient ring index" for
newforms, so you can see if the order is maximal or not.

To me this seems like a strange way to compute mod-p modular forms, though.
Since the mod-p Hecke algebra is (usually) not semi-simple, you miss out on
a lot of extra structure by only computing the field-valued points. You
also might end up over-counting: two characteristic-zero newforms might
have the same reduction. For example, in level Gamma0(11) and weight 2 with
p=5, there's only one mod-5 form, but it should be counted with
multiplicity two.

If you're only interested in modular forms that lift to characteristic
zero, instead of computing Galos-orbits and then reducing them, couldn't
you just take the matrices representing the characteristic-zero Hecke
operators and reduce those matrices modulo p? This would give you the Hecke
algebra acting on modular forms mod p, and modular forms are just
functionals on this algebra. The different eigenspaces would give you
newforms, and the size of the generalized eigenspaces would give you the
multiplicities. I guess the drawback is that it's not so easy to see which
characteristic-zero newform reduces to which mod-p form.

*Regarding the documentation*: when I look at
https://doc.sagemath.org/html/en/reference/modsym/sage/modular/modsym/modsym.html,
it's not easy for me to see what the mathematical definition of "modular
symbol" being used is. Given that different authors use the term "modular
symbols" to mean different things, it might be useful to add to the
documentation either the definition or a link to a place where the
definition can be read. It seems like ModularSymbols(G,k,base_ring=R) is
computing the object called [image: \mathbb{M}_k(G;R)] in Definition 1.23
here: https://wstein.org/books/modform/modform/modular_symbols.html.

Best,
Preston

On Tue, May 26, 2020 at 3:34 AM John Cremona <[email protected]> wrote:

> Computing mod p modular forms is quite tricky, and has not in general
> been implemented in Sage (or anywhere else).  As well as the valid
> points William has already made, consider the following: suppose one
> wants to find all mod-2 modular forms which are ductions of
> characteristic zero modular forms.  Take a char. 0 newforms with
> coefficients in Q(sqrt(5)).  the coefficients are algebraic integers,
> hence in Z[(1+sqrt(5))/2].   That ring has no prime ideals with
> quotient GF(2) (since 2 is inert in that field) so you think that
> there is no mod-2 reduction of the newform.  BUT in fact, in this case
> (which can happen) the coefficients lie in the non-maximal order
> Z[sqrt(5)], and that ring does have a prime of index 2, so there is a
> GF(2) modular form obtained by reduction (replacing sqrt(5) as a
> coefficient by 1 mod 2).
>
> In 2018 I was part of a small group starting to do this sort of thing
> systematically (the others are Samuele Anni, Andrew Sutherland, David
> Roberts and Peter Bruin).  We made a start only.  One intention is to
> make a database of mod-ell modular forms in the LMFDB.  One reason for
> the delay in making progress on this was that at the time we started,
> the LMFDB database of classical modular forms was rather small and not
> so well organised.  That situation is now vastly improved (see
> https://www.lmfdb.org/ModularForm/GL2/Q/holomorphic/ and the preprint
> https://arxiv.org/abs/2002.04717 for many details of the large-scale
> computations behind that).
>
> John
>
> On Sun, 24 May 2020 at 23:32, Preston Wake <[email protected]> wrote:
> >
> >
> >
> > On Sun, May 24, 2020 at 3:38 PM William Stein <[email protected]> wrote:
> >>
> >> On Sun, May 24, 2020 at 12:16 PM Preston Wake <[email protected]>
> wrote:
> >> >
> >> > Hello,
> >> >
> >> > I've found that the modular symbols code in Sage may detect
> interesting examples of torsion modular forms. For example:
> >> >
> >> > G=DirichletGroup(13);
> >> > e=G.gen()^6; # e has order 2
> >> > M=ModularSymbols(e,2,-1); # M is 0
> >> > ep=e.change_ring(GF(3));
> >> > Mp=ModularSymbols(ep,2,-1); # Mp is one-dimensional
> >> >
> >> > I think this is coming from the famous counterexample to the naive
> version of Serre's conjecture: there is a mod-3 modular form of weight 2
> and level 13 with quadratic character such that any lift to characteristic
> zero has non-quadratic character. This is something peculiar to mod-p forms
> for p=2 or 3.
> >> >
> >> > But it also sometimes gives confusing results:
> >> >
> >> > M=ModularSymbols(7,8,1).cuspidal_subspace(); # M has dimension 3
> >> > Mp=ModularSymbols(7,8,1,GF(5)).cuspidal_subspace(); # M has dimension
> 4
> >> >
> >> > I don't think this should happen: mod-5 modular forms of weight 8 and
> level Gamma0(7) should lift to characteristic 0 forms of the same type. I
> assume that what is happening is that Mp is not really computing
> H^1(X_0(7),\F_5)^+, which is I thing I think modular symbols should be.
> >> >
> >> > Math question: Where is this extra dimension coming from? Does it
> have any interesting number theoretic meaning?
> >> >
> >> > Sage question: Is this a bug? Should Sage warn us that, with
> finite-field coefficients, ModularSymbols might not be computing the thing
> I think it is computing?
> >> >
> >>
> >> ModularSymbols are indeed not computing what you think it is
> >> computing.
> >
> > Is what I want already implemented somewhere in Sage? Can I compute the
> space of mod-p modular forms? (Especially in cases where this is different
> from modular forms mod p.)
> >
> > -Preston
> >>
> >>    This is not a bug.   What it computes is precisely
> >> defined, meaningful and in some cases may be much faster than
> >> computing what you want.      However, to use it as input to a
> >> something else, you have to understand what it is really doing...
> >>
> >>
> >>
> >> It would be reasonable to add to the docs here
> >>
> >>
> https://doc.sagemath.org/html/en/reference/modsym/sage/modular/modsym/modsym.html
> >>
> >> to say something like "ModularSymbols in characteristic p in Sage
> >> might not compute what you think they compute.  Do not make
> >> assumptions about them without also consulting the Sage source code
> >> and understanding what is actually implemented (which is approximately
> >> using Manin symbols and the same relations that are used in
> >> characteristic 0)."
> >>
> >> > Best wishes,
> >> > Preston
> >> >
> >> > --
> >> > You received this message because you are subscribed to the Google
> Groups "sage-nt" group.
> >> > To unsubscribe from this group and stop receiving emails from it,
> send an email to [email protected].
> >> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-nt/18758bbb-b636-4db9-815f-ebe79354fbb4%40googlegroups.com
> .
> >>
> >>
> >>
> >> --
> >> William (http://wstein.org)
> >>
> >> --
> >> You received this message because you are subscribed to the Google
> Groups "sage-nt" group.
> >> To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> >> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-nt/CACLE5GCm9BO-%2B8YmV5HPovKb__WQaBsgbd1kQ3n%2BQYLBkQYCcg%40mail.gmail.com
> .
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "sage-nt" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to [email protected].
> > To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-nt/CAOjp0GGOEE%2BMeY43o_%2BVb3VGSe_aEHUyfGg-CSf_fW%2BH-VPsDg%40mail.gmail.com
> .
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-nt" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-nt/CAD0p0K4wkwh07fH6HoGOgbWf3WwndPfPHtOn2YCo9bEhwuTipQ%40mail.gmail.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-nt" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-nt/CAOjp0GFcz1pQftYag3qz7-d0XY%3DinVJ0kYyoEbLTd8cYYFCWzQ%40mail.gmail.com.

Reply via email to