AnalyticNumberTheory.LargeSieve.Multiplicative #
Multiplicative large sieve #
The multiplicative step in the Pan mean-value argument
starts from the additive large sieve (LargeSieve/WellSpaced.lean)
and uses Dirichlet-character orthogonality and finite Fourier Parseval
to obtain:
- The additive large sieve on the rational point set
X_Q = {r/q : 1 ≤ q ≤ Q, 0 ≤ r < q}(the Farey fractions after removing duplicates):Σ_{x∈X_Q} |Σ_n a_n·e(nx)|² ≤ C(N, 1/Q²)·Σ_n |a_n|²(largeSieveRationalPoints). - The character large-sieve inequality for each modulus
q:(q/φ(q))·Σ_{χ mod q} |Σ_n a_n·χ(n)|² ≤ Σ_{r<q} |Σ_n a_n·e(nr/q)|²(characterSieveModulus_le).
Proof structure (Montgomery's classical route):
- Character orthogonality: summing over all characters modulo
q,Σ_χ |S(χ)|² = φ(q)·Σ_{(a,q)=1} |Σ_{n≡a (q)} a_n|². Use mathlib'sDirichletCharacter.sum_char_inv_mul_char_eq;χ(n) = 0for(n,q) > 1handles the coprimality restriction. - Finite Fourier Parseval:
Σ_{a mod q} |Σ_{n≡a (q)} a_n|² = (1/q)·Σ_{r mod q} |S(r/q)|²(zmodParseval_inv/zmodParseval_character), using the geometric-series kernelΣ_a e(a(r−s)/q) = q·1_{r=s}. - Spacing of rational points:
X_Qis1/Q²-well-spaced, since the numerator-denominator difference gives a lower bound≥ 1/(q₁q₂)(rationalPoints_wellSpaced). - Additive large sieve: apply
largeSievePrimal_wellSpacedtoX_Qto obtainlargeSieveRationalPoints, with the weaker additive large-sieve constantC(N, 1/Q²)(largeSieveBound).
Scope and limitations. The classical Bombieri--Davenport bound
Σ_{q≤Q} (q/φ(q))·Σ*_{χ mod q} |S(χ)|² ≤ (Q²+N−1)·Σ_n |a_n|²
restricts Σ* to primitive characters. Its derivation needs
(i) primitive-character theory and Gauss sums (|τ(χ)|² = q) to write
(q/φ(q))·|S(χ)|² as
(1/φ(q))·|Σ_{(a,q)=1} conj(χ(a))·S(a/q)|², and
(ii) an explicit sum over reduced fraction pairs, with a bijection to
the deduplicated rationalPoints set. These additional steps belong to
BombieriDavenport.lean, not to the per-modulus argument here.
One cannot simply sum the Parseval bounds over all characters or over
the point multiset Σ_{q≤Q} Σ_{r<q} |S(r/q)|².
For example, with a_n ≡ 1, Q = 2, and sufficiently large N,
Σ_q (q/φ(q))Σ_χ |S(χ)|² ≈ 3N²/2, whereas
C(N,1/4)·N = (N+64)·N. The primitive-character restriction is therefore
essential. The constant C(N,δ) comes from the additive estimate; the sharp
N + δ⁻¹ bound is not supplied by this argument.
References: Montgomery, "Topics in Multiplicative Number Theory" (1971), Ch. 1; Iwaniec & Kowalski, "Analytic Number Theory" (2004), Ch. 7; Kedlaya, "Notes on Analytic Number Theory", Ch. 16 (Bombieri--Davenport).
1. Complex roots of unity and conjugation of character values #
ℂ has enough nth roots of unity for n ≠ 0: exp(2πi/n) is
primitive and the group of roots of unity is cyclic. This supplies the
complex instance needed by the DirichletCharacter orthogonality theorem,
in addition to mathlib's instances for Circle and algebraic closures.
Conjugation equals evaluation of the inverse character:
conj(χ(a)) = χ⁻¹(a) for a unit a. The nonunit case is handled
separately in the orthogonality lemma, where both sides are zero.
2. Geometric-series kernel and Parseval modulo q #
e(x) is 1 at integers: e(k) = 1 (k : ℤ).
Geometric-series kernel modulo q:
Σ_{r<q} e(r·k/q) = q·1_{q|k} for integer k. If q | k,
each term is 1; otherwise use the geometric-series formula with e(k) = 1.
Finite Fourier Parseval modulo q: for any z : ℕ → ℂ,
Σ_{a<q} |Σ_{r<q} e(ar/q)·z_r|² = q·Σ_{r<q} |z_r|².
3. Character orthogonality #
Inner reduction:
Σ_m Σ_n a_m·star(a_n)·φ(q)·[unit m][unit n][m≡n]
= φ(q)·Σ_m [unit m]·a_m·star(Σ_{n≡m} a_n).
4. Well-spaced rational points and the multiplicative large sieve #
The rational point set X_Q = {r/q : 1 ≤ q ≤ Q, 0 ≤ r < q} ⊆ [0,1).
Equations
- AnalyticNumberTheory.LargeSieve.rationalPoints Q = (Finset.Icc 1 Q).biUnion fun (q : ℕ) => Finset.image (fun (r : ℕ) => ↑r / ↑q) (Finset.range q)
Instances For
The rational point set X_Q = {r/q : 1 ≤ q ≤ Q, 0 ≤ r < q}
is 1/Q²-well-spaced.
5. Multiplicative large-sieve assembly: inverse Parseval, characters, and Farey points #
Summation along the bijection between residue classes modulo q
and 0..q−1: Σ_{x : ZMod q} f x = Σ_{a < q} f ↑a.
Inverse Parseval:
Σ_{a<q} |c a|² = (1/q)·Σ_{r<q} |Σ_{a<q} c a e(ar/q)|².
Expand Σ_r |ĉ r|² directly and use
Σ_r e((a−b)r/q) = q·1_{a=b} (zmodCharKernel), avoiding Fourier
inversion and conjugation-sign bookkeeping.
Character form of Parseval:
Σ_{x mod q} |Σ_{n≡x (q)} a_n|² = (1/q)·Σ_{r<q} |S(r/q)|²,
where S(r/q) = Σ_n a_n·e(nr/q). This follows directly from
zmodParseval_inv with c a = Σ_{n≡a (q)} a_n.
Additive large sieve on rational points: for the Farey point set
X_Q = {r/q : 1 ≤ q ≤ Q, 0 ≤ r < q} (the reduced fractions after
deduplication, hence 1/Q²-well-spaced),
Σ_{x∈X_Q} |Σ_{M<n≤M+N} a_n·e(nx)|² ≤ C(N, 1/Q²)·Σ_n |a_n|²,
where C(N,δ) = largeSieveBound N δ is the weaker additive large-sieve
constant from the additive estimate.
Character large-sieve inequality for each modulus q: character
orthogonality (charOrthogonality_le) and character Parseval
(zmodParseval_character) give
(q/φ(q))·Σ_{χ mod q} |Σ_n a_n·χ(n)|² ≤ Σ_{r<q} |Σ_n a_n·e(nr/q)|².
Summing this over q ≤ Q does not give an all-character large sieve
(see the counterexample in the module overview). The classical
Bombieri--Davenport argument instead requires primitive characters and
Gauss sums, treated separately in BombieriDavenport.lean.