# Prime-counting function

In mathematics, the **prime-counting function** is the function counting the number of prime numbers less than or equal to some real number *x*.[1][2] It is denoted by π(*x*) (unrelated to the number π).

## History

Of great interest in number theory is the growth rate of the prime-counting function.[3][4] It was conjectured in the end of the 18th century by Gauss and by Legendre to be approximately

in the sense that

This statement is the prime number theorem. An equivalent statement is

where li is the logarithmic integral function. The prime number theorem was first proved in 1896 by Jacques Hadamard and by Charles de la Vallée Poussin independently, using properties of the Riemann zeta function introduced by Riemann in 1859. Proofs of the prime number theorem not using the zeta function or complex analysis were found around 1948 by Atle Selberg and by Paul Erdős (for the most part independently).[5]

More precise estimates of are now known; for example

where the *O* is big O notation. For most values of we are interested in (i.e., when is not unreasonably large) is greater than . However, is known to change sign infinitely many times. For a discussion of this, see Skewes' number.

### Exact form

Of profound importance, Bernhard Riemann proved that the prime-counting function is exactly[6]

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*ln

*x*). Equivalently, if the trivial zeros are collected and the sum is taken

*only*over the non-trivial zeros

*ρ*of the Riemann zeta function, then

*π*(

*x*) may be written

- .

The Riemann hypothesis suggests that every such non-trivial zero lies along Re(*s*) = 1/2.

## Table of π(*x*), *x* / ln *x*, and li(*x*)

*x*),

*x*/ ln

*x*, and li(

*x*)

The table shows how the three functions π(*x*), *x* / ln *x* and li(*x*) compare at powers of 10. See also,[3][7][8] and[9]

*x*π( *x*)π( *x*) −*x*/ ln*x*li( *x*) − π(*x*)*x*/ π(*x*)x / ln x % Error 10 4 −0.3 2.2 2.500 -7.5% 10 ^{2}25 3.3 5.1 4.000 13.20% 10 ^{3}168 23 10 5.952 13.69% 10 ^{4}1,229 143 17 8.137 11.64% 10 ^{5}9,592 906 38 10.425 9.45% 10 ^{6}78,498 6,116 130 12.740 7.79% 10 ^{7}664,579 44,158 339 15.047 6.64% 10 ^{8}5,761,455 332,774 754 17.357 5.78% 10 ^{9}50,847,534 2,592,592 1,701 19.667 5.10% 10 ^{10}455,052,511 20,758,029 3,104 21.975 4.56% 10 ^{11}4,118,054,813 169,923,159 11,588 24.283 4.13% 10 ^{12}37,607,912,018 1,416,705,193 38,263 26.590 3.77% 10 ^{13}346,065,536,839 11,992,858,452 108,971 28.896 3.47% 10 ^{14}3,204,941,750,802 102,838,308,636 314,890 31.202 3.21% 10 ^{15}29,844,570,422,669 891,604,962,452 1,052,619 33.507 2.99% 10 ^{16}279,238,341,033,925 7,804,289,844,393 3,214,632 35.812 2.79% 10 ^{17}2,623,557,157,654,233 68,883,734,693,281 7,956,589 38.116 2.63% 10 ^{18}24,739,954,287,740,860 612,483,070,893,536 21,949,555 40.420 2.48% 10 ^{19}234,057,667,276,344,607 5,481,624,169,369,960 99,877,775 42.725 2.34% 10 ^{20}2,220,819,602,560,918,840 49,347,193,044,659,701 222,744,644 45.028 2.22% 10 ^{21}21,127,269,486,018,731,928 446,579,871,578,168,707 597,394,254 47.332 2.11% 10 ^{22}201,467,286,689,315,906,290 4,060,704,006,019,620,994 1,932,355,208 49.636 2.02% 10 ^{23}1,925,320,391,606,803,968,923 37,083,513,766,578,631,309 7,250,186,216 51.939 1.93% 10 ^{24}18,435,599,767,349,200,867,866 339,996,354,713,708,049,069 17,146,907,278 54.243 1.84% 10 ^{25}176,846,309,399,143,769,411,680 3,128,516,637,843,038,351,228 55,160,980,939 56.546 1.77% 10 ^{26}1,699,246,750,872,437,141,327,603 28,883,358,936,853,188,823,261 155,891,678,121 58.850 1.70% 10 ^{27}16,352,460,426,841,680,446,427,399 267,479,615,610,131,274,163,365 508,666,658,006 61.153 1.64%

In the On-Line Encyclopedia of Integer Sequences, the π(*x*) column is sequence OEIS: A006880, π(*x*) − *x*/ln *x* is sequence OEIS: A057835, and li(*x*) − π(*x*) is sequence OEIS: A057752.

The value for π(10^{24}) was originally computed by J. Buethe, J. Franke, A. Jost, and T. Kleinjung assuming the Riemann hypothesis.[10]
It was later verified unconditionally in a computation by D. J. Platt.[11]
The value for π(10^{25}) is due to J. Buethe, J. Franke, A. Jost, and T. Kleinjung.[12]
The value for π(10^{26}) was computed by D. B. Staple.[13] All other prior entries in this table were also verified as part of that work.

The value for 10^{27} was published in 2015 by David Baugh and Kim Walisch.[14]

## Algorithms for evaluating π(*x*)

*x*)

A simple way to find , if is not too large, is to use the sieve of Eratosthenes to produce the primes less than or equal to and then to count them.

A more elaborate way of finding is due to Legendre (using the inclusion–exclusion principle): given , if are distinct prime numbers, then the number of integers less than or equal to which are divisible by no is

(where denotes the floor function). This number is therefore equal to

when the numbers are the prime numbers less than or equal to the square root of .

### 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 . Let , be the first primes and denote by the number of natural numbers not greater than which are divisible by no . Then

Given a natural number , if and if , then

Using this approach, Meissel computed , for equal to 5×10^{5}, 10^{6}, 10^{7}, and 10^{8}.

In 1959, Derrick Henry Lehmer extended and simplified Meissel's method. Define, for real and for natural numbers and , as the number of numbers not greater than *m* with exactly *k* prime factors, all greater than . Furthermore, set . Then

where the sum actually has only finitely many nonzero terms. Let denote an integer such that , and set . Then and when ≥ 3. Therefore,

The computation of can be obtained this way:

- ,

where the sum is over prime numbers.

On the other hand, the computation of can be done using the following rules:

Using his method and an IBM 701, Lehmer was able to compute .

Further improvements to this method were made by Lagarias, Miller, Odlyzko, Deléglise and Rivat.[15]

## Other prime-counting functions

Other prime-counting functions are also used because they are more convenient to work with. One is Riemann's prime-counting function, usually denoted as or . This has jumps of 1/*n* for prime powers *p*^{n}, with it taking a value halfway between the two sides at discontinuities. That added detail is used because then the function may be defined by an inverse Mellin transform. Formally, we may define by

where *p* is a prime.

We may also write

where Λ(*n*) is the von Mangoldt function and

The Möbius inversion formula then gives

Knowing the relationship between log of the Riemann zeta function and the von Mangoldt function , and using the Perron formula we have

The Chebyshev function weights primes or prime powers *p*^{n} by ln(*p*):

## Formulas for prime-counting functions

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 formulas.[16]

We have the following expression for *ψ*:

where

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 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, and, again, the latter integral, taken with minus sign, is just the same sum, but 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(ρ ln *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.

Thus, Möbius inversion formula gives us[17]

valid for *x* > 1, where

is the so-called Riemann's R-function[18] and μ(*n*) is the Möbius function. The latter series for it is known as Gram series[19] and converges for all positive *x*.

The sum over non-trivial zeta zeros in the formula for describes the fluctuations of while the remaining terms give the "smooth" part of prime-counting function,[20] so one can use

as the best estimator of for *x* > 1.

The amplitude of the "noisy" part is heuristically about so the fluctuations of the distribution of primes may be clearly represented with the Δ-function:

An extensive table of the values of Δ(*x*) is available.[8]

## 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 to 5 decimal places, as has its maximum value at x = 113.[21]

Pierre Dusart proved in 2010:

- for , and

- for .[22]

Here are some inequalities for the *n*th prime, *p*_{n}. The upper bound is due to Rosser (1941),[23] the lower one to Dusart (1999):[24]

for *n* ≥ 6.

The left inequality holds for n ≥ 2 and the right inequality holds for n ≥ 6.

An approximation for the *n*th prime number is

Ramanujan[25] proved that the inequality

holds for all sufficiently large values of .

In [22], Dusart proved (Proposition 6.6) that, for ,

- ,

and (Proposition 6.7) that, for ,

- .

More recently, Dusart[26] has proved (Theorem 5.1) that, for ,

- ,

and that, for ,

- .

## The Riemann hypothesis

The Riemann hypothesis is equivalent to a much tighter bound on the error in the estimate for , and hence to a more regular distribution of prime numbers,

Specifically,[27]

## References

- Bach, Eric; Shallit, Jeffrey (1996).
*Algorithmic Number Theory*. MIT Press. volume 1 page 234 section 8.8. ISBN 0-262-02405-5. - Weisstein, Eric W. "Prime Counting Function".
*MathWorld*. - "How many primes are there?". Chris K. Caldwell. Retrieved 2008-12-02.
- Dickson, Leonard Eugene (2005).
*History of the Theory of Numbers, Vol. I: Divisibility and Primality*. Dover Publications. ISBN 0-486-44232-2. - Ireland, Kenneth; Rosen, Michael (1998).
*A Classical Introduction to Modern Number Theory*(Second ed.). Springer. ISBN 0-387-97329-X. - "The Fluctuations of the Prime-counting Function pi(x)".
*www.primefan.ru*. Retrieved 17 May 2019. - "Tables of values of pi(x) and of pi2(x)". Tomás Oliveira e Silva. Retrieved 2008-09-14.
- "Values of π(
*x*) and Δ(*x*) for various values of*x*". Andrey V. Kulsha. Retrieved 2008-09-14. - "A table of values of pi(x)". Xavier Gourdon, Pascal Sebah, Patrick Demichel. Retrieved 2008-09-14.
- "Conditional Calculation of pi(10
^{24})". Chris K. Caldwell. Retrieved 2010-08-03. - Platt, David J. (2012). "Computing π(
*x*) Analytically)". arXiv:1203.5712 [math.NT]. - "How Many Primes Are There?". J. Buethe. Retrieved 2015-09-01.
- "The combinatorial algorithm for computing pi(x)". Dalhousie University. Retrieved 2015-09-01.
- Walisch, Kim (September 6, 2015). "New confirmed pi(10^27) prime counting function record".
*Mersenne Forum*. - Marc Deleglise; Joel Rivat (January 1996). "Computing π(
*x*): The Meissel, Lehmer, Lagarias, Miller, Odlyzko method" (PDF).*Mathematics of Computation*.**65**(213): 235–245. - Titchmarsh, E.C. (1960).
*The Theory of Functions, 2nd ed*. Oxford University Press. - Riesel, Hans; Göhl, Gunnar (1970). "Some calculations related to Riemann's prime number formula".
*Mathematics of Computation*. American Mathematical Society.**24**(112): 969–983. doi:10.2307/2004630. ISSN 0025-5718. JSTOR 2004630. MR 0277489. - Weisstein, Eric W. "Riemann Prime Counting Function".
*MathWorld*. - Weisstein, Eric W. "Gram Series".
*MathWorld*. - "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. ISSN 0019-2082. Zbl 0122.05001. - Dusart, 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(lnk+lnlnk-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. - Schoenfeld, Lowell (1976). "Sharper bounds for the Chebyshev functions
*θ*(*x*) and*ψ*(*x*). II".*Mathematics of Computation*. American Mathematical Society.**30**(134): 337–360. doi:10.2307/2005976. ISSN 0025-5718. JSTOR 2005976. MR 0457374.

## External links

- Chris Caldwell,
*The Nth Prime Page*at The Prime Pages. - Tomás Oliveira e Silva, Tables of prime-counting functions.