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
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 self.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 : self.nu.IsMultiplicative
Instances For
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 : ℕ
- nu_mult : self.nu.IsMultiplicative
- 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 For
Extension for the positivity
tactic: BoundingSieve.weights
.
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
.
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
- BoundingSieve.rem d = BoundingSieve.multSum d - s.nu d * s.totalMass
Instances For
The weight of all the elements that are not a multiple of any of our finite set of primes.
Equations
- BoundingSieve.siftedSum = ∑ d ∈ s.support, if s.prodPrimes.Coprime d then s.weights d else 0
Instances For
X * mainSum μ⁺
is the main term in the upper bound on sifted_sum
.
Equations
- BoundingSieve.mainSum muPlus = ∑ d ∈ s.prodPrimes.divisors, muPlus d * s.nu d
Instances For
errSum μ⁺
is the error term in the upper bound on sifted_sum
.
Equations
- BoundingSieve.errSum muPlus = ∑ d ∈ s.prodPrimes.divisors, |muPlus d| * |BoundingSieve.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.