Accessing the Invariants

LCfRequired(L) : LSer -> RngIntElt
The number of Dirichlet coefficients an that have to be calculated in order to compute the values L(s). This function can be also used with a user-defined L-series before its coefficients are set, see Section Specifying the Coefficients Later.
LGetCoefficients(L, N) : LSer, RngIntElt -> List
Compute the vector of first N coefficients [* a1, ..., aN *] of the L-series given by L.
EulerFactor(L, p) : LSer, RngIntElt -> RngElt
    Degree: RngIntElt                   Default: 
    Precision: RngIntElt                Default: 
Given an L-series and a prime p, this computes the pth Euler factor, either as a polynomial or a power series. The optional parameter Degree will truncate the series to that length, and the optional parameter Precision is of use when the series is defined over the complex numbers.
Degree(L) : LSer -> RngIntElt
The degree of an L-function.
Conductor(L) : LSer -> RngElt
Conductor of the L-series (real number, usually an integer). This invariant enters the functional equation and measures the `size' of the object to which the L-series is associated. Evaluating an L-series takes time roughly proportional to the square root of the conductor.
Sign(L) : LSer -> RngElt
Sign in the functional equation of the L-series. This is a complex number of absolute value 1, or 0 if the sign has not been computed yet. (Calling CFENew or CheckFunctionalEquation(L) or any evaluation function sets the sign.)
MotivicWeight(L) : LSer -> RngIntElt
The motivic weight of an L-function.
GammaFactors(L) : LSer -> SeqEnum
A sequence of Gamma factors λ1, ..., λd for L(s). Each one represents a factor Γ((s + λi)/2) entering the functional equation of the L-function.

With the previous two intrinsics, see also HodgeStructure.

LSeriesData(L) : LSer -> Info
Given an L-series L, this function returns the weight, the conductor, the list of γ-shifts, the coefficient function, the sign, the poles of L * (s) and the residues of L * (s) as a tuple of length 7. If Sign =0, this means it has not been computed yet. Residues=[] means they have not yet been computed. From this data, L can be re-created with a general LSeries call (see Section Constructing a General L-Series).
BadPrimeData(L) : LSer -> SeqEnum
Given an L-series L, this returns an array of bad prime data, each entry being a 3-tuple < p, v, U > where p is the prime, v is the conductor valuation at p, and U is the (possibly trivial) Euler factor at p.

Example Lseries_lseries-invariants (H136E21)

For a modular form, the q-expansion coefficients are the same as the Dirichlet coefficients of the associated L-series:

> f := Newforms("30k2")[1,1];
> qExpansion(f,10);
q - q^2 + q^3 + q^4 - q^5 - q^6 - 4*q^7 - q^8 + q^9 + O(q^10)
> Lf := LSeries(f);
> LGetCoefficients(Lf,20);
[* 1, -1, 1, 1, -1, -1, -4, -1, 1, 1, 0, 1, 2, 4, -1, 1, 6, -1, -4, -1 *]

The elliptic curve of conductor 30 that corresponds to f has, of course, the same L-series.

> E := EllipticCurve(f); E;
Elliptic Curve defined by y^2 + x*y + y = x^3 + x + 2 over Rational Field
> LE := LSeries(E);
> LGetCoefficients(LE,20);
[* 1, -1, 1, 1, -1, -1, -4, -1, 1, 1, 0, 1, 2, 4, -1, 1, 6, -1, -4, -1 *]

Now we change the base field of E to a number field K and evaluate the L-series of E/K at s=2.

> P<x> := PolynomialRing(Integers());
> K := NumberField(x^3-2);
> LEK := LSeries(E,K);
> i := LSeriesData(LEK); i;
<2, [ 0, 0, 0, 1, 1, 1 ], 8748000, function(p, d [ Precision ]) ... end
   function, 1, [], []>

The conductor of this L-series (second entry) is not that small and this is an indication that the calculations of L(E/K, 2) to the required precision (30 digits) will take some time. We can also ask how many coefficients will be used in this calculation.

> LCfRequired(LEK);
24636
Decreasing the precision will help somewhat.
> LSetPrecision(LEK,9);
> LCfRequired(LEK);
3364
Magma now automatically does a factorization of the L-series (see the Arithmetic section).
> LEK`prod;
[
<L-series of twist of Elliptic Curve defined by y^2 + x*y + y = x^3 + x + 2
   over Rational Field by Artin representation S3: (1,1,1) of ext<Q|x^3-2>, 1>,
<L-series of twist of Elliptic Curve defined by y^2 + x*y + y = x^3 + x + 2
   over Rational Field by Artin representation S3: (2,0,-1) of ext<Q|x^3-2>,
   conductor 108, 1>
]
Factorization(L) : LSer -> SeqEnum[Tup]
Factorisation(L) : LSer -> SeqEnum[Tup]
If an L-series is represented internally as a product of other L-series, say L(s)=∏i Li(s)ni, return the sequence [...<Li,ni>...].

Example Lseries_lseries-invariants (H136E22)

> L := RiemannZeta();
> Factorization(L);
[ <L-series of Riemann zeta function, 1> ]
> R<x> := PolynomialRing(Rationals());
> K := SplittingField(x^3-2);
> L := LSeries(K);
> Factorization(L);
[
<L-series of Riemann zeta function, 1>,
<L-series of Artin representation S3: (1,-1,1) of ext<Q|x^6+108>, conductor
   3, 1>,
<L-series of Artin representation S3: (2,0,-1) of ext<Q|x^6+108>, conductor
   108, 2>
]
V2.28, 13 July 2023