Documentation

MathlibNt.AnalyticNumberTheory.LargeSieve.PrimitiveCharacters

Primitive Dirichlet characters for the multiplicative large sieve #

This module supplies the finite primitive-character and conductor interface needed before a Bombieri--Davenport large sieve can be stated faithfully. It deliberately does not state a sum over moduli: the pinned analytic-number- theory dependency has only the single-modulus all-character estimate characterSieveModulus_le.

The underlying Mathlib API already defines DirichletCharacter.conductor, DirichletCharacter.IsPrimitive, primitiveCharacter, and changeLevel. The definitions below package those heterogeneous conductor-level objects into a finite subtype that can be used directly by Finset sums. The module also constructs the standard primitive additive character on ZMod q, bridges its Gauss sums to the existing finite Fourier API, and proves both ‖τ(χ)‖ ^ 2 = q and ‖τ(χ)‖ = √q for primitive complex characters.

@[reducible, inline]

Primitive complex Dirichlet characters of the fixed modulus q.

This is a subtype rather than a new character structure, so every existing DirichletCharacter theorem applies to its coercion.

Equations
Instances For

    A positive modulus has at most its totient many primitive characters.

    Primitive characters as a filtered finset of all characters modulo q. This form is useful when applying an all-character estimate.

    Equations
    Instances For
      @[simp]

      A member of the primitive subtype has conductor exactly its modulus.

      The conductor-level primitive character associated to an arbitrary Dirichlet character, packaged in the finite primitive subtype.

      Equations
      Instances For

        Exact conductor decomposition: changing the conductor-level primitive character back to the original modulus recovers the original character.

        theorem AnalyticNumberTheory.LargeSieve.sum_primitive_eq_filter {q : } {β : Type u_1} [AddCommMonoid β] (f : DirichletCharacter qβ) :
        χ : PrimitiveCharacter q, f χ = χprimitiveCharacters q, f χ

        A sum over the primitive subtype is the corresponding filtered sum over all characters.

        theorem AnalyticNumberTheory.LargeSieve.sum_primitive_le_sum_all {q : } (f : DirichletCharacter q) (hf : ∀ (χ : DirichletCharacter q), 0 f χ) :
        χ : PrimitiveCharacter q, f χ χ : DirichletCharacter q, f χ

        Restricting a nonnegative all-character sum to primitive characters can only decrease it.

        theorem AnalyticNumberTheory.LargeSieve.characterSievePrimitiveModulus_le {q : } [NeZero q] (a : ) (M : ) (N : ) :
        q / q.totient * χ : PrimitiveCharacter q, nFinset.Icc (M + 1) (M + N), a n * χ n ^ 2 rFinset.range q, nFinset.Icc (M + 1) (M + N), charReal (n * r / q) * a n ^ 2

        The first primitive-character multiplicative large-sieve foundation: the pinned single-modulus all-character estimate restricts to the primitive subtype. This is intentionally only pointwise in q; it is not the missing Bombieri--Davenport sum over moduli.

        Primitive Gauss sums #

        The standard primitive additive character x ↦ exp(2πix/q) on ZMod q.

        Equations
        Instances For

          The standard additive character on ZMod q is primitive.

          theorem AnalyticNumberTheory.LargeSieve.sum_zmod_eq_sum_range {q : } [NeZero q] {M : Type u_1} [AddCommMonoid M] (f : ZMod qM) :
          a : ZMod q, f a = rFinset.range q, f r

          Sums over ZMod q can be written using the canonical representatives 0 ≤ r < q.

          theorem AnalyticNumberTheory.LargeSieve.zmod_fourier_energy {q : } [NeZero q] (z : ZMod q) :
          a : ZMod q, x : ZMod q, charReal (a.val * x.val / q) * z x ^ 2 = q * x : ZMod q, z x ^ 2

          Finite Fourier energy identity on ZMod q, specialized to the additive character convention used by Gauss sums.

          The squared mass of a complex Dirichlet character is φ(q).

          The Gauss sum against a shifted standard additive character is its explicit finite Fourier sum.

          Primitive complex Dirichlet characters have the classical Gauss-sum norm: |τ(χ)|² = q.

          Norm form of the primitive Gauss-sum identity.