I know too little about what is going on under the hood to write the code I 
want to write.

I would like to compute the mod 3 reduction of the char poly of the Hecke 
operator T(5) on the space of weight 2 level Gamma_0(N) cuspidal newforms for 
all N<=500 (say). This problem might be a bit more subtle than it looks.

Fix N. I suspect I do *not* want to go down the following route:

1) compute the newforms in char 0,
2) compute the Hecke operator in char 0
3) compute the char poly in char 0
4) reduce it mod 3.

Because this way, in step 3, I end up having to compute the char poly of a 
possibly large matrix in char 0, which is hard work (I actually want to go much 
further than N=500). If memory serves, I once explained to William Stein a 
method for doing this involving reducing the matrix mod p for lots of small 
primes p and then using the Ramanujan bounds -- but this is still really 
excessive if all I want is the mod 3 reduction of the answer.

Basically, I want to reduce mod 3 as soon as possible. But I don't know how to 
do this!

Now here's what I have tried, illustrated with some nasty choices of N. 
Let's start with level 7, where there are no newforms.

ModularSymbols(7,2,1).change_ring(GF(3)).cuspidal_subspace().new_subspace()

This gives an answer I don't want, because the computation happily spits out an 
answer and it's a vector space of positive dimension, presumably coming from 
torsion in modular symbols. So I've reduced mod 3 too early. So let's try this:

ModularSymbols(7,2,1).cuspidal_subspace().new_subspace().change_ring(GF(3))

This doesn't work: I can't reduce a char 0 space of newforms mod 3; I get an 
error.

So far I've failed to reduce the space of modular symbols mod 3, so let me give 
up and compute this space and the Hecke operator in characteristic 0. Now let 
me move to level 351 where we see a new phenomenon:

t=ModularSymbols(351,2,1).cuspidal_subspace().new_subspace().hecke_operator(5)

There's the Hecke operator I want, and I'm already a little uncomfortable 
because it's living in char 0 and so already more work is being done than is 
necessary. Aah well -- at least I can reduce the matrix of t mod 3...GAAARGH no 
I can't, because there are 3's in the denominator :-/

So now I am stuck. I really don't want to compute that char poly in char 0 and 
then reduce. Help!

Kevin


-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to