#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.