#18061: Implement (correct) action of Atkin-Lehner operators on newforms
-------------------------------------+-------------------------------------
       Reporter:  pbruin             |        Owner:
           Type:  defect             |       Status:  needs_review
       Priority:  major              |    Milestone:  sage-6.8
      Component:  modular forms      |   Resolution:
       Keywords:  newform Atkin-     |    Merged in:
  Lehner operator                    |    Reviewers:
        Authors:  Peter Bruin        |  Work issues:
Report Upstream:  N/A                |       Commit:
         Branch:                     |  a98bee2a3337431582e1762a0bf30f7577742bee
  u/pbruin/18061-atkin_lehner_action |     Stopgaps:
   Dependencies:  #18068, #18072,    |
  #18086, #18478                     |
-------------------------------------+-------------------------------------

Comment (by davidloeffler):

 I think there are still some cases where the modular symbol algorithm
 actually works, but this implementation doesn't realise it. Here are two
 ways this can come up:

 - It can happen that the action of W_Q on f is multiplication by a scalar
 in the Hecke eigenvalue field of f, but not one which is in the base ring
 of f. Then the matrix of W_Q on the modular symbol space is not obviously
 recognisable as a scalar, but is contained in the subalgebra of the
 endomorphisms of the mod sym space generated by the Hecke operators (which
 is isomorphic to the Hecke eigenvalue field), and one should really
 recognise it as such and return the appropriate number field element. This
 comes up for my level 15 weight 3 example, where the W_5 eigenvalue is a
 square root of -5, but not just any square root -- rather, a specific one
 lying in the Hecke eigenvalue field of f:
 {{{
 sage: Newforms(Gamma1(15), 3, names='a')
 [q - q^2 + 3*q^3 - 3*q^4 - 5*q^5 + O(q^6),
  q + q^2 - 3*q^3 - 3*q^4 + 5*q^5 + O(q^6),
  q + a2*q^2 + (-a2 - 2)*q^3 - q^4 - a2*q^5 + O(q^6),
  q + a3*q^2 + (3/5*a3^3 + 11/5*a3^2 + 22/5*a3 - 11/5)*q^3 + (-8/5*a3^3 -
 31/5*a3^2 - 72/5*a3 + 16/5)*q^4 + (a3^3 + 4*a3^2 + 6*a3 - 6)*q^5 + O(q^6)]
 sage: F = _[2]
 sage: M = F.modular_symbols(sign=0)
 sage: M.atkin_lehner_operator(5).matrix()
 [  -1/5 -39/10 -33/10    3/2]
 [   9/5 -19/10 -63/10  -13/2]
 [  -3/5    9/5   28/5      6]
 [     0   -3/2   -9/2   -7/2]
 sage: M.hecke_operator(5).matrix()
 [  1/5 39/10 33/10  -3/2]
 [ -9/5 19/10 63/10  13/2]
 [  3/5  -9/5 -28/5    -6]
 [    0   3/2   9/2   7/2]
 }}}

 - It can also happen that calculating the action of W_Q on the modular
 symbols space fails if you use "sign = 1" (as in your implementation).
 This is because the Atkin--Lehner operator and the star involution don't
 commute, although they do when restricted to an eigenspace on which the
 diamond operators at Q are trivial (if I remember rightly, the commutator
 of the two operators is exactly eps_Q(-1)). So one can get spurious linear
 algebra errors working on the sign 1 symbols, because the action of W_Q on
 the whole space is not defined, even though it is defined on the subspace
 we care about. This also comes up in the above example:
 {{{
 sage: F.modular_symbols(sign=1).atkin_lehner_operator(5)
 ...
 ArithmeticError: subspace is not invariant under matrix
 }}}
 I have a proof-of-concept implementation lying around on my hard drive
 which avoids these pitfalls, and I can merge it with your implementation
 to cover these extra cases; but this is definitely an enhancement of your
 work rather than a bug, and I won't have time to work on it for a week or
 so since I am away at a conference. So I will leave the ticket at
 needs_review for now, in case anybody else wants to look at it.

--
Ticket URL: <http://trac.sagemath.org/ticket/18061#comment:20>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

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

Reply via email to