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.
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
Inspect dependencies
AnalyticNumberTheory.LargeSieve.PrimitiveCharacter · compiled type and proof/definition references.
The primitive characters of a fixed modulus form a finite type.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.instFintypePrimitiveCharacter · compiled type and proof/definition references.
A positive modulus has at most its totient many primitive characters.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.primitiveCharacter_card_le_totient_basic · compiled type and proof/definition references.
Primitive characters as a filtered finset of all characters modulo q.
This form is useful when applying an all-character estimate.
Equations
Instances For
Inspect dependencies
AnalyticNumberTheory.LargeSieve.primitiveCharacters · compiled type and proof/definition references.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.mem_primitiveCharacters · compiled type and proof/definition references.
A member of the primitive subtype has conductor exactly its modulus.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.primitive_conductor · compiled type and proof/definition references.
The conductor-level primitive character associated to an arbitrary Dirichlet character, packaged in the finite primitive subtype.
Instances For
Inspect dependencies
AnalyticNumberTheory.LargeSieve.conductorPrimitiveCharacter · compiled type and proof/definition references.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.conductorPrimitiveCharacter_val · compiled type and proof/definition references.
Exact conductor decomposition: changing the conductor-level primitive character back to the original modulus recovers the original character.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.changeLevel_conductorPrimitiveCharacter · compiled type and proof/definition references.
A sum over the primitive subtype is the corresponding filtered sum over all characters.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.sum_primitive_eq_filter · compiled type and proof/definition references.
Restricting a nonnegative all-character sum to primitive characters can only decrease it.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.sum_primitive_le_sum_all · compiled type and proof/definition references.
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.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.characterSievePrimitiveModulus_le · compiled type and proof/definition references.
Primitive Gauss sums #
The standard primitive additive character x ↦ exp(2πix/q) on ZMod q.
Instances For
Inspect dependencies
AnalyticNumberTheory.LargeSieve.primitiveGaussAddChar · compiled type and proof/definition references.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.primitiveGaussAddChar_apply · compiled type and proof/definition references.
The standard additive character on ZMod q is primitive.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.primitiveGaussAddChar_isPrimitive · compiled type and proof/definition references.
Sums over ZMod q can be written using the canonical representatives 0 ≤ r < q.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.sum_zmod_eq_sum_range · compiled type and proof/definition references.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.zmod_fourier_energy · compiled type and proof/definition references.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.dirichletCharacter_sum_norm_sq · compiled type and proof/definition references.
The Gauss sum against a shifted standard additive character is its explicit finite Fourier sum.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.gaussSum_primitiveGaussAddChar_mulShift · compiled type and proof/definition references.
Primitive complex Dirichlet characters have the classical Gauss-sum norm:
|τ(χ)|² = q.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.primitive_gaussSum_norm_sq · compiled type and proof/definition references.
Norm form of the primitive Gauss-sum identity.
Inspect dependencies
AnalyticNumberTheory.LargeSieve.primitive_gaussSum_norm · compiled type and proof/definition references.