Introduction
Authors: Amy Feaver, Lola Thompson, Cassie Williams
Definitions
The Dedekind
If
In Sage it is simple to construct the
sage: K.<a>=NumberField(x^2-x+1)
sage: L=LSeries(K);L
returns the Dedekind
sage: LSeries('zeta')
will return the Riemann
sage: K.<a>=NumberField(x^2-x+1)
sage: L=LSeries(K)
sage: L.residues()
- 'automatic'
but if you ask for the residues to a given precision you will get more information.
sage: L.residues(prec=53)
- [-0.590817950301839]
sage: L.residues(prec=100)
- [-0.59081795030183867576605582778]
Remember that the coefficients count the number of ideals of a given norm:
sage: K.<a>=NumberField(x^2+1)
sage: L=LSeries(K)
sage: L.anlist(10)
- [0, 1, 1, 0, 1, 2, 0, 0, 1, 1, 2]
implying that there is no ideal of norm 3 in
Dirichlet L-series
Dirichlet L-series are defined in terms of a Dirichlet characters. A Dirichlet character
To define an L-series in Sage, you must first create a primitive character:
sage: G=DirichletGroup(11)
sage: L=LSeries(G.0)
gives the L-series for the character G.0 (the character which maps
L-series of Elliptic Curves
Let
To construct
sage: E=EllipticCurve('37a')
sage: L=LSeries(E);L
L-series of Elliptic Curve defined by y2 + y = x3 - x over Rational Field
sage: K.<a>=NumberField(x^2-x+1)
sage: E2 = EllipticCurve(K, [0, 0,1,-1,0])
sage: LSeries(E2)
L-series of Elliptic Curve defined by y2 + y = x3 + (-1)*x over Number Field in a with defining polynomial x^2 - x + 1
Notice in particular that although one can certainly rewrite
sage: L.anlist(10)
- [0, 1, -2, -3, 2, -2, 6, -1, 0, 6, 4]
L-series of Modular Forms
If
Basic Sage Functions for L-series
Series Coefficients
The command L.anlist(n) will return a list
For example:
sage: K.
〈a〉 = NumberField(x3+29 ) sage: L = LSeries(K) sage: L.anlist(5)
will return [0,1,1,1,2,1], which is [0,a_1,a_2,a_3,a_4,a_5] for this L-series.
To access the value of an individual coefficient, you can use the function an (WE ACTUALLY HAVE TO WRITE AN INTO SAGE FIRST...). For example, for the series used above:
sage: L.an(3)
will return 1 (the value of a_3), and
sage: L.an(4)
returns 2.
Evaluation of L-functions at Values of s
For any L-function L, simply type
sage: L(s)
to get the value of the function evaluated at s\in\mathbb{C}.
Taylor Series for L-functions
This function will return the Taylor series of an L-function L. If the user does not enter any arguments, the center of the series will default to weight/2. For example, if L is the Riemann zeta function,
sage: L.taylor_series()
will output the Taylor series centered at weight/2=0.5. You can also specify degree, variable and precision. Entering
sage: L.taylor_series(center=2, degree=4, variable='t', prec=30)
will give you the Taylor series with the properties you would expect. Note that degree=4 actually means you will compute the first 4 terms of the series, giving you a degree 3 polynomial. The output of the above line therefore will be the Taylor polynomial 1.6449341 - 0.93754825t + 0.99464012t^{2} - 1.0000243t^{3} + O(t^{4}).
Euler Product
An Euler product is an infinite product expansion of a Dirichlet series, indexed by the primes. For a Dirichlet series of the form
1. Riemann zeta function
2. Dirichlet L-function
3. L-function of an Elliptic Curve (over \mathbb{Q})
Not all L-series have an associated Euler product, however. For example, the Epstein Zeta Functions, defined by
where Q(u,v) = au^2 + buv + cv^2 is a positive definite quadratic form, has a functional equation but, in general, does not have an Euler product.
To define an L-series by an Euler product in Sage, one can use the LSeriesAbstract class. For example,
sage: L = LSeriesAbstract(conductor=1, hodge_numbers=[0], weight=1, epsilon=1, poles=[1], residues=[-1], base_field=QQ)
sage: L
returns an L-series Euler product with conductor 1, Hodge numbers [0], weight 1, epsilon 1, poles [1], residues [-1] over a Rational Field.
Note: In order to use this class, the authors created a derived class that implements a method _local_factor(P), which takes as input a prime ideal P of K=base\_field, and returns a polynomial that is typically the reversed characteristic polynomial of Frobenius at P of Gal(\overline{K}/K) acting on the maximal unramified quotient of some Galois representation. This class automatically computes the Dirichlet series coefficients a_n from the local factors of the L-function.
Functional Equation
Zeros and Poles
Analytic Rank
The analytic rank of an L-series is the order of vanishing of the zero at the central critical point (half the weight of the L-series). In Sage, you can compute the analytic rank of any L-series L by using the command:
sage: L.analytic_rank()
WARNING: It is important to note that the analytic rank is computed using numerical methods, and is not provably correct.
The analytic rank of an L-series of an elliptic curve plays an important role in the Birch and Swinnerton-Dyer conjecture. Specifically, part of the BSD conjecture claims that the rank of the group or points on an elliptic curve E over a number field K is the order of vanishing of the L-function L(s,E) at s=1. Generalizations of the BSD conjecture exist for abelian varieties of higher dimension as well.
Future Developments
This L-functions package is still in the process of development, and there are some tools that will hopefully be added in the future (this section was last updated on 2012-01-10).
1. Triple Product L-functions: a class which can be used to define L-functions on a tensor product of three modular forms
2. Precision Issues: The goal regarding precision issues is to allow this package to take, as input, the a_p with Norm(p)<B for some real constant B, and inform the user of how many bits of precision they will get when implementing an L-function defined by these a_p. Basically, this will invert the already existing function number_of_coefficients(prec).
3. Finding L-series From Incomplete Information