Re: [sage-support] Faster to search for eigenforms reduced mod p than to search for eigenforms themselves?

3 views
Skip to first unread message

William Stein

unread,
May 24, 2009, 8:08:41 PM5/24/09
to sage-s...@googlegroups.com, sage-nt
On Fri, May 22, 2009 at 2:58 PM, rje <rev...@ucsd.edu> wrote:
>
> For geometrical reasons, I'm confident that there exists a weight 4
> eigenform with trivial nebentypus whose p-th Fourier coefficients c(p)
> satisfy the following for primes p >11:
> (1)  c(13) = 14 and  c(19) = 43
> (2)  c(p) is a rational integer when p = 1 mod 3
> (3)  c(p) is a rational integer times sqrt(55)  when p = 2 mod 3.
>
> For reasons connected to ramification, the prime factors of the level
> N are very likely to be a subset of  {2, 3, 5, 7, 11}. I am searching
> for this eigenform using sage commands such as
>
> G=DirichletGroup(825,CyclotomicField(1)); X=G.list(); Y=X
> [0]
> D=ModularSymbols(Y, 4, sign=1).cuspidal_subspace().new_subspace
> ().decomposition()
> D[4].q_eigenform( 14,'a')
>
> Such a search becomes prohibitively slow once the level N gets near
> 1000.
> I have a feeling that my search will be over as soon as I find a
> weight 4 eigenform with
> c(13) = 0 mod  7.  So my question is this:  If instead of searching as
> above for cases where
> c(13) = 14, all I need to find is a case where  c(13) = 0 mod 7, is
> there a *faster* sage implementation, e.g., using a base field GF(7)?
> Thanks.  rje

If I were doing this, I would use only linear algebra (not cuspidal
subspace, new subspace, not decomposition, and not q_eigenform), and
work entirely mod 7. Here's the sort of approach I might take:

sage: G=DirichletGroup(3*5*11,GF(7)); X=G.list(); Y=X[0]
sage: time M=ModularSymbols(Y, 4, sign=1)
Time: CPU 0.00 s, Wall: 0.00 s
sage: M
Modular Symbols space of dimension 76 and level 165, weight 4,
character [1, 1, 1], sign 1, over Finite Field of size 7
sage: t13 = M.T(13)
sage: V = (t13-14).kernel()
sage: V
Modular Symbols subspace of dimension 8 of Modular Symbols space of
dimension 76 and level 165, weight 4, character [1, 1, 1], sign 1,
over Finite Field of size 7
sage: t19 = V.T(19)
sage: W = (t19-43).kernel()
sage: W
Modular Symbols subspace of dimension 0 of Modular Symbols space of
dimension 76 and level 165, weight 4, character [1, 1, 1], sign 1,
over Finite Field of size 7

If I were doing this, I would also try set_verbose(2) so I could see
what was happening when the computation ran, and find out what modular
symbols or linear algebra might need to be optimized further to make
things feasible.

By the way, there is a sage-nt mailing list, which is a better place
for this question:

http://groups.google.com/group/sage-nt

William

Reply all
Reply to author
Forward
0 new messages