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.

Reply via email to