Function representing the number of primes less than or equal to a given number
This article uses technical mathematical notation for logarithms. All instances of log(x) without a subscript base should be interpreted as a natural logarithm, also commonly written as ln(x) or loge(x).
More precise estimates of π(x) are now known. For example, in 2002, Kevin Ford proved that[7]
Mossinghoff and Trudgian proved[8] an explicit upper bound for the difference between π(x) and li(x):
For values of x that are not unreasonably large, li(x) is greater than π(x). However, π(x) − li(x) is known to change sign infinitely many times. For a discussion of this, see Skewes' number.
Riemann's explicit formula using the first 200 non-trivial zeros of the zeta function
whereμ(n) is the Möbius function, li(x) is the logarithmic integral function, ρ indexes every zero of the Riemann zeta function, and li(xρ/n) is not evaluated with a branch cut but instead considered as Ei(ρ/n log x) where Ei(x) is the exponential integral. If the trivial zeros are collected and the sum is taken only over the non-trivial zeros ρ of the Riemann zeta function, then π0(x) may be approximated by[10]
The Riemann hypothesis suggests that every such non-trivial zero lies along Re(s) = 1/2.
Table of π(x), x/log(x), and li(x)
The table compares exact values of π(x) to the two approximations x / log x and li(x). The last column, x / π(x), is the average prime gap below x.
Graph showing ratio of the prime-counting function π(x) to two of its approximations, x/log x and Li(x). As x increases (note x-axis is logarithmic), both ratios tend towards 1. The ratio for x/log x converges from above very slowly, while the ratio for Li(x) converges more quickly from below.
In the On-Line Encyclopedia of Integer Sequences, the π(x) column is sequence OEIS: A006880, π(x) − x/log x is sequence OEIS: A057835, and li(x) − π(x) is sequence OEIS: A057752.
The value for π(1024) was originally computed by J. Buethe, J. Franke, A. Jost, and T. Kleinjung assuming the Riemann hypothesis.[11]It was later verified unconditionally in a computation by D. J. Platt.[12]The value for π(1025) is due to J. Buethe, J. Franke, A. Jost, and T. Kleinjung.[13]
The value for π(1026) was computed by D. B. Staple.[14] All other prior entries in this table were also verified as part of that work.
The values for 1027, 1028, and 1029 were announced by David Baugh and Kim Walisch in 2015,[15] 2020,[16] and 2022,[17] respectively.
Algorithms for evaluating π(x)
A simple way to find π(x), if x is not too large, is to use the sieve of Eratosthenes to produce the primes less than or equal to x and then to count them.
A more elaborate way of finding π(x) is due to Legendre (using the inclusion–exclusion principle): given x, if p1, p2,…, pn are distinct prime numbers, then the number of integers less than or equal to x which are divisible by no pi is
(where ⌊x⌋ denotes the floor function). This number is therefore equal to
when the numbers p1, p2,…, pn are the prime numbers less than or equal to the square root of x.
The Meissel–Lehmer algorithm
In a series of articles published between 1870 and 1885, Ernst Meissel described (and used) a practical combinatorial way of evaluating π(x): Let p1, p2,…, pn be the first n primes and denote by Φ(m,n) the number of natural numbers not greater than m which are divisible by none of the pi for any i ≤ n. Then
Given a natural number m, if n = π(3√m) and if μ = π(√m) − n, then
Using this approach, Meissel computed π(x), for x equal to 5×105, 106, 107, and 108.
In 1959, Derrick Henry Lehmer extended and simplified Meissel's method. Define, for real m and for natural numbers n and k, Pk(m,n) as the number of numbers not greater than m with exactly k prime factors, all greater than pn. Furthermore, set P0(m,n) = 1. Then
where the sum actually has only finitely many nonzero terms. Let y denote an integer such that 3√m ≤ y ≤ √m, and set n = π(y). Then P1(m,n) = π(m) − n and Pk(m,n) = 0 when k ≥ 3. Therefore,
The computation of P2(m,n) can be obtained this way:
where the sum is over prime numbers.
On the other hand, the computation of Φ(m,n) can be done using the following rules:
Using his method and an IBM 701, Lehmer was able to compute the correct value of π(109) and missed the correct value of π(1010) by 1.[18]
Further improvements to this method were made by Lagarias, Miller, Odlyzko, Deléglise, and Rivat.[19]
Other prime-counting functions
Other prime-counting functions are also used because they are more convenient to work with.
Riemann's prime-power counting function
Riemann's prime-power counting function is usually denoted as Π0(x) or J0(x). It has jumps of 1/n at prime powers pn and it takes a value halfway between the two sides at the discontinuities of π(x). That added detail is used because the function may then be defined by an inverse Mellin transform.
Formally, we may define Π0(x) by
where the variable p in each sum ranges over all primes within the specified limits.
Formulas for prime-counting functions come in two kinds: arithmetic formulas and analytic formulas. Analytic formulas for prime-counting were the first used to prove the prime number theorem. They stem from the work of Riemann and von Mangoldt, and are generally known as explicit formulae.[21]
Here ρ are the zeros of the Riemann zeta function in the critical strip, where the real part of ρ is between zero and one. The formula is valid for values of x greater than one, which is the region of interest. The sum over the roots is conditionally convergent, and should be taken in order of increasing absolute value of the imaginary part. Note that the same sum over the trivial roots gives the last subtrahend in the formula.
For Π0(x) we have a more complicated formula
Again, the formula is valid for x > 1, while ρ are the nontrivial zeros of the zeta function ordered according to their absolute value. The integral is equal to the series over the trivial zeros:
The first term li(x) is the usual logarithmic integral function; the expression li(xρ) in the second term should be considered as Ei(ρ log x), where Ei is the analytic continuation of the exponential integral function from negative reals to the complex plane with branch cut along the positive reals.
is Riemann's R-function[22] and μ(n) is the Möbius function. The latter series for it is known as Gram series.[23][24] Because log x < x for all x > 0, this series converges for all positive x by comparison with the series for ex. The logarithm in the Gram series of the sum over the non-trivial zero contribution should be evaluated as ρ log x and not log xρ.
Folkmar Bornemann proved,[25] when assuming the conjecture that all zeros of the Riemann zeta function are simple,[note 1] that
where ρ runs over the non-trivial zeros of the Riemann zeta function and t > 0.
The sum over non-trivial zeta zeros in the formula for π0(x) describes the fluctuations of π0(x) while the remaining terms give the "smooth" part of prime-counting function,[26] so one can use
as a good estimator of π(x) for x > 1. In fact, since the second term approaches 0 as x → ∞, while the amplitude of the "noisy" part is heuristically about √x/log x, estimating π(x) by R(x) alone is just as good, and fluctuations of the distribution of primes may be clearly represented with the function
Inequalities
Here are some useful inequalities for π(x).
for x ≥ 17.
The left inequality holds for x ≥ 17 and the right inequality holds for x > 1. The constant 1.25506 is 30 log 113/113 to 5 decimal places, as π(x) log x/x has its maximum value at x = 113.[27]
^Ireland, Kenneth; Rosen, Michael (1998). A Classical Introduction to Modern Number Theory (Second ed.). Springer. ISBN 0-387-97329-X.
^See also Theorem 23 of A. E. Ingham (2000). The Distribution of Prime Numbers. Cambridge University Press. ISBN 0-521-39789-8.
^Kevin Ford (November 2002). "Vinogradov's Integral and Bounds for the Riemann Zeta Function" (PDF). Proc. London Math. Soc. 85 (3): 565–633. arXiv:1910.08209. doi:10.1112/S0024611502013655. S2CID 121144007.
^Mossinghoff, Michael J.; Trudgian, Timothy S. (2015). "Nonnegative trigonometric polynomials and a zero-free region for the Riemann zeta-function". J. Number Theory. 157: 329–349. arXiv:1410.3926. doi:10.1016/J.JNT.2015.05.010. S2CID 117968965.
^Hutama, Daniel (2017). "Implementation of Riemann's Explicit Formula for Rational and Gaussian Primes in Sage" (PDF). Institut des sciences mathématiques.
^ a bRiesel, Hans; Göhl, Gunnar (1970). "Some calculations related to Riemann's prime number formula" (PDF). Mathematics of Computation. 24 (112). American Mathematical Society: 969–983. doi:10.2307/2004630. ISSN 0025-5718. JSTOR 2004630. MR 0277489.
^"Conditional Calculation of π(1024)". Chris K. Caldwell. Retrieved 2024-03-30.
^Platt, David J. (2012). "Computing π(x) Analytically)". arXiv:1203.5712 [math.NT].
^"How Many Primes Are There?". J. Buethe. Retrieved 2015-09-01.
^Staple, Douglas (19 August 2015). The combinatorial algorithm for computing π(x) (Thesis). Dalhousie University. Retrieved 2015-09-01.
^Walisch, Kim (September 6, 2015). "New confirmed π(1027) prime counting function record". Mersenne Forum.
^Baugh, David (August 30, 2020). "New prime counting function record, pi(10^28)". Mersenne Forum.
^Walisch, Kim (March 4, 2022). "New prime counting function record: PrimePi(10^29)". Mersenne Forum.
^Lehmer, Derrick Henry (1 April 1958). "On the exact number of primes less than a given limit". Illinois J. Math. 3 (3): 381–388. Retrieved 1 February 2017.
^Deléglise, Marc; Rivat, Joel (January 1996). "Computing π(x): The Meissel, Lehmer, Lagarias, Miller, Odlyzko method" (PDF). Mathematics of Computation. 65 (213): 235–245. doi:10.1090/S0025-5718-96-00674-6.
^Apostol, Tom M. (2010). Introduction to Analytic Number Theory. Springer.
^Titchmarsh, E.C. (1960). The Theory of Functions, 2nd ed. Oxford University Press.
^Riesel, Hans (1994). Prime Numbers and Computer Methods for Factorization. Progress in Mathematics. Vol. 126 (2nd ed.). Birkhäuser. pp. 50–51. ISBN 0-8176-3743-5.
^Bornemann, Folkmar. "Solution of a Problem Posed by Jörg Waldvogel" (PDF).
^"The encoding of the prime distribution by the zeta zeros". Matthew Watkins. Retrieved 2008-09-14.
^Rosser, J. Barkley; Schoenfeld, Lowell (1962). "Approximate formulas for some functions of prime numbers". Illinois J. Math. 6: 64–94. doi:10.1215/ijm/1255631807. ISSN 0019-2082. Zbl 0122.05001.
^ a bDusart, Pierre (2 Feb 2010). "Estimates of Some Functions Over Primes without R.H.". arXiv:1002.0442v1 [math.NT].
^Rosser, Barkley (1941). "Explicit bounds for some functions of prime numbers". American Journal of Mathematics. 63 (1): 211–232. doi:10.2307/2371291. JSTOR 2371291.
^Dusart, Pierre (1999). "The kth prime is greater than k(ln k + ln ln k − 1) for k ≥ 2". Mathematics of Computation. 68 (225): 411–415. doi:10.1090/S0025-5718-99-01037-6.
^Berndt, Bruce C. (2012-12-06). Ramanujan's Notebooks, Part IV. Springer Science & Business Media. pp. 112–113. ISBN 9781461269328.
^Dusart, Pierre (January 2018). "Explicit estimates of some functions over primes". Ramanujan Journal. 45 (1): 225–234. doi:10.1007/s11139-016-9839-4. S2CID 125120533.
^Schoenfeld, Lowell (1976). "Sharper bounds for the Chebyshev functions θ(x) and ψ(x). II". Mathematics of Computation. 30 (134). American Mathematical Society: 337–360. doi:10.2307/2005976. ISSN 0025-5718. JSTOR 2005976. MR 0457374.
Notes
^Montgomery showed that (assuming the Riemann hypothesis) at least two thirds of all zeros are simple.
External links
Chris Caldwell, The Nth Prime Page at The Prime Pages.
Tomás Oliveira e Silva, Tables of prime-counting functions.
Dudek, Adrian W. (2015), "On the Riemann hypothesis and the difference between primes", International Journal of Number Theory, 11 (3): 771–778, arXiv:1402.6417, Bibcode:2014arXiv1402.6417D, doi:10.1142/S1793042115500426, ISSN 1793-0421, S2CID 119321107