The Selberg Sieve #
We set up the working assumptions of the Selberg sieve, define the notion of an upper bound sieve and show that every upper bound sieve yields an upper bound on the size of the sifted set. We also define the Λ² sieve and prove that Λ² sieves are upper bound sieves. We then diagonalise the main term of the Λ² sieve.
We mostly follow the treatment outlined by Heath-Brown in the notes to an old graduate course. One minor notational difference is that we write $\nu(n)$ in place of $\frac{\omega(n)}{n}$.
Results #
siftedSum_le_mainSum_errSum_of_UpperBoundSieve
- Every upper bound sieve gives an upper bound on the size of the sifted set in terms ofmainSum
anderrSum
Notation #
The SelbergSieve.Notation
namespace includes common shorthand for the variables included in the
SelbergSieve
structure.
A
forsupport
𝒜 d
formultSum d
- the combined weight of the elements ofA
that are divisible byd
P
forprodPrimes
a
forweights
X
fortotalMass
ν
fornu
y
forlevel
R d
forrem d
g d
forselbergTerms d
References #
We set up a sieve problem as follows. Take a finite set of natural numbers A
, whose elements
are weighted by a sequence a n
. Also take a finite set of primes P
, represented by a squarefree
natural number. These are the primes that we will sift from our set A
. Suppose we can approximate
∑ n ∈ {k ∈ A | d ∣ k}, a n = ν d * X + R d
, where X
is an approximation to the total size of A
and ν
is a multiplicative arithmetic function such that 0 < ν p < 1
for all primes p ∣ P
.
Then a sieve-type theorem will give us an upper (or lower) bound on the size of the sifted sum
∑ n ∈ {k ∈ support | k.Coprime P}, a n
, obtained by removing any elements of A
that are a
multiple of a prime in P
.
The set of natural numbers that is to be sifted. The fundamental lemma yields an upper bound on the size of this set after the multiples of small primes have been removed.
- prodPrimes : ℕ
- prodPrimes_squarefree : Squarefree prodPrimes
A sequence representing how much each element of
support
should be weighted.- totalMass : ℝ
An approximation to
∑ i in support, weights i
, i.e. the size of the unsifted set. A bad approximation will yield a weak statement in the final theorem. - nu : ArithmeticFunction ℝ
- nu_mult : nu.IsMultiplicative
Instances
The Selberg upper bound sieve in particular introduces a parameter called the level
which
gives the user control over the size of the error term.
- prodPrimes : ℕ
- level : ℝ
The
level
of the sieve controls how many terms we include in the inclusion-exclusion type sum. A higher level will yield a tighter bound for the main term, but will also increase the size of the error term.
Instances
nu d
is an approximation to the proportion of elements of support
that are a multiple of
d
Equations
- SelbergSieve.Notation.termν = Lean.ParserDescr.node `SelbergSieve.Notation.termν 1024 (Lean.ParserDescr.symbol "ν")
Instances For
Pretty printer defined by notation3
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pretty printer defined by notation3
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The finite set of prime numbers whose multiples are to be sifted from support
. We work with
their product because it lets us treat nu
as a multiplicative arithmetic function. It also
plays well with Moebius inversion.
Equations
- SelbergSieve.Notation.termP = Lean.ParserDescr.node `SelbergSieve.Notation.termP 1024 (Lean.ParserDescr.symbol "P")
Instances For
Pretty printer defined by notation3
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A sequence representing how much each element of support
should be weighted.
Equations
- SelbergSieve.Notation.termA = Lean.ParserDescr.node `SelbergSieve.Notation.termA 1024 (Lean.ParserDescr.symbol "a")
Instances For
Pretty printer defined by notation3
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
An approximation to ∑ i in support, weights i
, i.e. the size of the unsifted set. A bad
approximation will yield a weak statement in the final theorem.
Equations
- SelbergSieve.Notation.termX = Lean.ParserDescr.node `SelbergSieve.Notation.termX 1024 (Lean.ParserDescr.symbol "X")
Instances For
The set of natural numbers that is to be sifted. The fundamental lemma yields an upper bound on the size of this set after the multiples of small primes have been removed.
Equations
- SelbergSieve.Notation.termA_1 = Lean.ParserDescr.node `SelbergSieve.Notation.termA_1 1024 (Lean.ParserDescr.symbol "A")
Instances For
Pretty printer defined by notation3
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The level
of the sieve controls how many terms we include in the inclusion-exclusion type
sum. A higher level will yield a tighter bound for the main term, but will also increase the
size of the error term.
Equations
- SelbergSieve.Notation.termY = Lean.ParserDescr.node `SelbergSieve.Notation.termY 1024 (Lean.ParserDescr.symbol "y")
Instances For
Pretty printer defined by notation3
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Lemmas about $P$.
Lemmas about $\nu$.
The weight of all the elements that are a multiple of d
.
Equations
- SelbergSieve.multSum d = ∑ n ∈ BoundingSieve.support, if d ∣ n then BoundingSieve.weights n else 0
Instances For
Pretty printer defined by notation3
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The weight of all the elements that are a multiple of d
.
Equations
- SelbergSieve.Notation.term𝒜 = Lean.ParserDescr.node `SelbergSieve.Notation.term𝒜 1024 (Lean.ParserDescr.symbol "𝒜")
Instances For
The remainder term in the approximation A_d = ν (d) X + R_d. This is the degree to which nu
fails to approximate the proportion of the weight that is a multiple of d
.
Equations
Instances For
Pretty printer defined by notation3
command.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The remainder term in the approximation A_d = ν (d) X + R_d. This is the degree to which nu
fails to approximate the proportion of the weight that is a multiple of d
.
Equations
- SelbergSieve.Notation.termR = Lean.ParserDescr.node `SelbergSieve.Notation.termR 1024 (Lean.ParserDescr.symbol "R")
Instances For
The weight of all the elements that are not a multiple of any of our finite set of primes.
Equations
Instances For
X * mainSum μ⁺
is the main term in the upper bound on sifted_sum
.
Equations
- SelbergSieve.mainSum muPlus = ∑ d ∈ BoundingSieve.prodPrimes.divisors, muPlus d * BoundingSieve.nu d
Instances For
errSum μ⁺
is the error term in the upper bound on sifted_sum
.
Equations
- SelbergSieve.errSum muPlus = ∑ d ∈ BoundingSieve.prodPrimes.divisors, |muPlus d| * |SelbergSieve.rem d|
Instances For
A sequence of coefficients $\mu^{+}$ is upper Moebius if $\mu * \zeta ≤ \mu^{+} * \zeta$. These coefficients then yield an upper bound on the sifted sum.