#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:
  David Loeffler                     |       Commit:
Report Upstream:  N/A                |  cd6b13f1e11ee10ff9d22d5972bc27ac64422c00
         Branch:                     |     Stopgaps:
  u/pbruin/18061-rebased             |
   Dependencies:  #18068, #18072,    |
  #18086, #18478                     |
-------------------------------------+-------------------------------------

Old description:

> Let ''f'' be a newform of level ''n'', and let ''d'' be a divisor of
> ''n'' that is coprime to ''n/d''.  Then the Atkin-Lehner operator
> ''W,,d,,'' acts by a ''pseudo-eigenvalue'' on ''f'': this is a complex
> number ''η'' of absolute value 1 such that ''W,,d,,f'' = ''ηf''^*^, where
> ''f''^*^ is the form whose coefficients are the complex conjugates of
> those of ''f''.
>
> The main goal of this ticket is to add a method
> `Newform.atkin_lehner_action(d)` that returns a pair `(eta, f_star)`,
> where `eta` is the pseudo-eigenvalue of ''W,,d,,'' acting on a newform
> `f` and `f_star` is the conjugate form.
>
> This also fixes the following bug.  Consider the following newform of
> weight 2 for Γ,,1,,(30) with coefficients in '''Q'''(''i''):
> {{{
> sage: f = Newforms(Gamma1(30), 2, names='a')[1]; f
> q + a1*q^2 - a1*q^3 - q^4 + (a1 - 2)*q^5 + O(q^6)
> sage: f.base_ring()
> Number Field in a1 with defining polynomial x^2 + 1
> sage: f.character()
> Dirichlet character modulo 30 of conductor 5 mapping 11 |--> 1, 7 |--> -1
> }}}
> The method `atkin_lehner_eigenvalue()` returns a nonsensical result:
> {{{
> sage: f.atkin_lehner_eigenvalue()
> -2
> }}}
> This is just the upper left entry of the matrix of the Atkin-Lehner
> operator ''W'',,30,, with respect to some basis of the space of modular
> symbols attached to ''f'':
> {{{
> sage: f.modular_symbols(sign=1).atkin_lehner_operator()
> Hecke module morphism Atkin-Lehner operator W_30 defined by the matrix
> [-2 -3]
> [ 1  2]
> Domain: Modular Symbols subspace of dimension 2 of Modular Symbols space
> ...
> Codomain: Modular Symbols subspace of dimension 2 of Modular Symbols
> space ...
> }}}

New description:

 Let ''f'' be a newform of weight ''k'' for Γ,,1,,(''n''), and let ''d'' be
 a divisor of ''n'' that is coprime to ''n/d''.  Then the Atkin-Lehner
 operator ''W,,d,,'' acts by a ''pseudo-eigenvalue'' on ''f'': this is (in
 the normalisation used by Sage) a complex number ''η'' of absolute value
 ''d''^''k''/2 - 1^ such that ''W,,d,,f'' = ''ηf''^*^, where ''f''^*^ is a
 certain twist of ''f''.

 The main goal of this ticket is to add a method
 `Newform.atkin_lehner_action(d)` that, given a newform `f`, returns a pair
 `(eta, g)`, where `eta` is the pseudo-eigenvalue of ''W,,d,,'' on `f` and
 `g` is the appropriate twist of `f`.

 This also fixes the following bug.  Consider the following newform of
 weight 2 for Γ,,1,,(30) with coefficients in '''Q'''(''i''):
 {{{
 sage: f = Newforms(Gamma1(30), 2, names='a')[1]; f
 q + a1*q^2 - a1*q^3 - q^4 + (a1 - 2)*q^5 + O(q^6)
 sage: f.base_ring()
 Number Field in a1 with defining polynomial x^2 + 1
 sage: f.character()
 Dirichlet character modulo 30 of conductor 5 mapping 11 |--> 1, 7 |--> -1
 }}}
 The method `atkin_lehner_eigenvalue()` returns a nonsensical result:
 {{{
 sage: f.atkin_lehner_eigenvalue()
 -2
 }}}
 This is just the upper left entry of the matrix of the Atkin-Lehner
 operator ''W'',,30,, with respect to some basis of the space of modular
 symbols attached to ''f'':
 {{{
 sage: f.modular_symbols(sign=1).atkin_lehner_operator()
 Hecke module morphism Atkin-Lehner operator W_30 defined by the matrix
 [-2 -3]
 [ 1  2]
 Domain: Modular Symbols subspace of dimension 2 of Modular Symbols space
 ...
 Codomain: Modular Symbols subspace of dimension 2 of Modular Symbols space
 ...
 }}}

--

Comment (by pbruin):

 After fixing the ticket description, I hope everything is consistent now.

--
Ticket URL: <http://trac.sagemath.org/ticket/18061#comment:36>
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