roed314 / OMS

Converting Rob Pollack's overconvergent modular symbols .sage code to .py and putting it in Sage
4 stars 4 forks source link

Lifting and Specializing #16

Closed tdupu closed 11 years ago

tdupu commented 11 years ago

When you lift then specialize you don't get your symbol back.

E = EllipticCurve('11a') from sage.modular.pollack_stevens.space import ps_modsym_from_elliptic_curve phi = ps_modsym_from_elliptic_curve(E) phi.is_Tq_eigensymbol(3); philifted=phi.lift(11,4,algorithm='stevens',eigensymbol=True); philifted.is_Tq_eigensymbol(3) philifted.specialize().values()[0] == Qp(11)(phi.values()[0])

returns false

Also,

philifted1=phi.lift(11,4,algorithm='stevens',eigensymbol=False) philifted1.specialize().values()[0]; Qp(11,4)(phi.values()[0])

returns

9 + 6_11 + 9_11^2 + 6_11^3 + O(11^4) 2 + 2_11 + 2_11^2 + 2_11^3 + O(11^4)

loefflerd commented 11 years ago

It might be relevant here that if we lift to an eigensymbol, the specialization of the lift is an exact rational factor times the original symbol (in the example above it's 1/25, and I tried a p=17 example and got 1/16). This suggests some denominator is being divided twice rather than divided and re-multiplied.

The case of lifting to a non-eigensymbol case seems to be a bit different, but curiously the values of the symbol and the specializatino of the lift agree at all generators except the identity, and in this case the factor we get seems to be more random.

loefflerd commented 11 years ago

Fixed by commit ddd5ca9bda8135818ea179c9ebca27d4a8021153 (joint work by Rob P, Taylor and myself)