Accessing the Invariants#
- LCfRequired(L): LSer -> RngIntElt#
The number of Dirichlet coefficients \(a_n\) 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
[*\(a_1,...,a_N\)*]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 \(p\)th Euler factor, either as a polynomial or a power series. The optional parameter
Degreewill truncate the series to that length, and the optional parameterPrecisionis 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
CFENeworCheckFunctionalEquation(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 \(\lambda_1,\ldots,\lambda_d\) for \(L(s)\). Each one represents a factor \(\Gamma((s+\lambda_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 \(\gamma\)-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
LSeriescall (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 \(\langle p,v,U \rangle\) where \(p\) is the prime, \(v\) is the conductor valuation at \(p\), and \(U\) is the (possibly trivial) Euler factor at \(p\).
- Example: Lseries Invariants 1 (ex-f37c5f)#
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)=\prod_i L_i(s)^{n_i}\), return the sequence
[...<L_i,n_i>...].
- Example: Lseries Invariants 2 (ex-52681e)#
> 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> ]