Overview
A large variety of \(\zeta\)-functions and \(L\)-functions occur in number theory and algebraic geometry. Some well-known \(L\)-functions include the Riemann \(\zeta\)-function, the Dedekind \(\zeta\)-function of a number field, Dirichlet series associated to characters, and \(L\)-series of curves (e.g., elliptic curves) over the rationals. Magma provides functionality for constructing such \(L\)-functions and computing their values in the complex plane. A typical calculation might go as follows:
> L := LSeries(EllipticCurve([0, -1, 1, 0, 0]));
> Evaluate(L,2);
0.546048036215013518334126660433
The first line defines an \(L\)-series \(L(E,s)\) of the elliptic curve
while the second line computes its value at \(s=2\). An impatient reader may wish simply to type LSeries; at the prompt and look at the various LSeries signatures and mimic the code above, thus getting access to much of the functionality.
Topics covered in this chapter include:
The built-in \(L\)-series which include the Riemann \(\zeta\)-function, the Dedekind \(\zeta\)-function of a number field, Dirichlet series associated to characters, Artin representations, modular forms, and \(L\)-series of elliptic curves;
The calculation of values, derivatives, and Taylor expansions of \(L\)-series at a complex point \(s_0\) to desired accuracy;
A technical description of the \(L\)-series object in Magma, together with a description of how to construct user-defined \(L\)-series with any number of gamma factors, provided that the \(L\)-series satisfies a functional equation of the standard type;
Operations such as division, multiplication, and the tensor product of two \(L\)-series.
The reader is referred to Manin-Panchishkin [Sha95] Chapter 4, Serre [Ser65], and articles in [JKS94] for a background on \(L\)-functions. The algorithms mostly follow Dokchitser [Dok04] and the Pari implementation ComputeL [Dok02]. See also Lavrik [Lav67], Tollis [Tol97], and the exposition in Cohen [Coh00], 10.3.