Documentation

Mathlib.NumberTheory.ArithmeticFunction.LFunction

Construction of L-functions #

This file constructs L-functions as formal Dirichlet series.

Main definitions #

Implementation notes #

We take the following route from polynomials to L-functions:

For example, the Riemann zeta function ζ(s) corresponds to taking 1 - T at each prime p.

For context, here is a diagram of the possible routes from polynomials to L-functions:

               T=q⁻ˢ                     s ∈ ℂ

[polynomials in T] ----> [polynomials in q⁻ˢ] ----> [analytic function in s] | | | | (reciprocal) | (reciprocal) | (reciprocal) v T=q⁻ˢ V s ∈ ℂ V [power series in T] ----> [power series in q⁻ˢ] ----> [analytic function in s] (the Euler factor) | | | | (product) | (product) | (product) v T=q⁻ˢ V s ∈ ℂ V [multivariate power series] ----> [Dirichlet series] ----> [L-function in s] (the Euler product)

TODO #

The arithmetic function corresponding to the Dirichlet series f(q⁻ˢ). For example, if f = 1 + X + X² + ... and q = p, then f(q⁻ˢ) = 1 + p⁻ˢ + p⁻²ˢ + ....

If q ≤ 1 then k ↦ q ^ k is not injective, so we use the junk value f.constantCoeff.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem ArithmeticFunction.ofPowerSeries_apply {R : Type u_1} [CommSemiring R] {q : } (hq : 1 < q) (f : PowerSeries R) (n : ) :
    ((ofPowerSeries q) f) n = Function.extend (fun (x : ) => q ^ x) (fun (x : ) => (PowerSeries.coeff x) f) 0 n
    theorem ArithmeticFunction.ofPowerSeries_apply_pow {R : Type u_1} [CommSemiring R] {q : } (hq : 1 < q) (f : PowerSeries R) (k : ) :
    ((ofPowerSeries q) f) (q ^ k) = (PowerSeries.coeff k) f
    @[implicit_reducible]

    A private uniform space instance on ArithmeticFunction R in order to define eulerProduct as a tprod. If R is viewed as having the discrete topology, then the resulting topology on ArithmeticFunction R is the topology of pointwise convergence (see tendsto_iff).

    See tendsTo_eulerProduct_of_tendsTo for the outward facing eulerProduct API.

    Equations
    Instances For

      The uniform space structure on arithmetic functions is complete. See tendsTo_eulerProduct_of_tendsTo for the outward facing eulerProduct API.

      noncomputable def ArithmeticFunction.eulerProduct {ι : Type u_1} {R : Type u_2} [CommSemiring R] (f : ιArithmeticFunction R) :

      The Euler product of a family of arithmetic functions. Defined as a tprod, but see tendsTo_eulerProduct_of_tendsTo for the outward facing eulerProduct API.

      Equations
      Instances For
        theorem ArithmeticFunction.tendsTo_eulerProduct_of_tendsTo {ι : Type u_1} {R : Type u_2} [CommSemiring R] (f : ιArithmeticFunction R) (hf : ∀ (n : ), ∀ᶠ (i : ι) in Filter.cofinite, (f i) n = 1 n) (n : ) :
        ∀ᶠ (s : Finset ι) in Filter.atTop, (∏ is, f i) n = (eulerProduct f) n

        If arithmetic functions f i converges to 1 pointwise, then the partial products ∏ i ∈ s, f i converge to eulerProduct f pointwise.