既已讨论了数论和数学其他部分的区别,我们就准备好了进一步区分代数数论与解析数论。主要的区别在于,在代数数论中,典型情况下,我们讨论的问题的答案都是由准确的公式给出的,而在解析数论中,我们寻找的是好的近似。在解析数论里所要估计的那一类量,一般都不能希望有准确的公式存在,除非愿意接受那些人为造作的没有启发性的公式。这一类量的最好的例子之一,就是我们将要详细讨论的:小于或等于 x 的素数的个数。
既然我们要讨论近似,就需要一些术语来使我们对于这种近似的程度有一点概念。例如设有某个相当不确定、不可靠的函数 f(x) ,但是我们能够确定,当 x 足够大时,它不会超过 25x^2 。这个信息已经是相当有用的,因为我们对函数 g(x)=x^2 有相当好的理解。一般说,如果能够找到一个常数 c ,使得对于每一个 x 都有
的集合要大得多,所以有无穷多个整数 x ,使得小于或等于 x 的素数的数目至少是 x/(logx)^2 。
这样,素数确实是为数众多。但是我们也想用来自计算的一点观察来验证一下,即当整数变得越来越大时,则素数集合只构成整数集合的越来越小的部分。想要看到这一点,最容易的方法是利用所谓“埃拉托色尼筛法”。在埃拉托色尼筛法中,从 1 直到 x 的正整数的集合开始。从中删去 4,6,8 等等所有 2 的倍数,但保留 2 。然后取保留下来的最小的大于 2 的数,即 3 ,然后从 1 直到 x 的正整数中删去所有它的倍数,而只保留 3 。然后删去所有 5 的倍数,但是保留 5 。仿此以往,就会得到直到 x 为止的所有素数。
这就提示了一种猜测究竟有多少素数的方法,就是每隔一个整数就删除第二个整数(但是保留 2 ,这叫做“筛去 2 ”),这样,在到 x 为止的整数,留下的只有一半左右;在筛去 3 以后,在上次余下的整数中,又只留下其三分之二。像这样做下去,在删去到 y 为止的素数以后,余下的整数的个数大体上应是
● 式(4)
一旦 y=√x ,则未被筛去的整数就只有 1 和到 x 为止的素数,因为在 x 前面的合数都含有不大于其平方根的素数因子。那么,当 y=√x 时,(4) 式是否给出了到 x 为止的素数的个数的很好估计呢?
要回答这个问题,就需要弄清楚,(4) 式估计的究竟是什么。设想它估计的是到 x 为止的一类整数的个数,这类整数没有小于或等于y的素数因子。如果用所谓的包括-排除原理(inclusion-exclusion principle)来证明,则可以得到 (4) 式的误差最大是 2^k ,这里 k 是小于或等于 y 的素数的个数。除非 k 很小,2^k 这样大的误差项远远大于我们想要估计的量,所以这种近似是没有用处的。如果 k 小于一个很小的数乘以 logx ,这个误差又是很小的,但是,如果 y≈√x 的话,这样的 k 远小于我们所期望的直到 y 的素数的个数。这样,就不清楚是否可以用 (4) 式来得出直到 x 为止的素数个数的好的估计。
然而,我们能够做的是应用这样的论据来给出直到 x 为止的素数个数的上界,因为直到 x 为止的素数的个数绝不会多于直到 x 为止某一种整数的个数再加上直到 y 为止的素数个数,这就不超过 2^k 加上 (4) 中的表达式;上面提到的“某一种整数”就是没有小于或等于 y 的素数因子的整数。
由 (2) 式可知,当 y 变得越来越大时,
所以对任意小正数 ε 都可以找到一个 y 使得
因为这个乘积的每一个因子至少是 1/2 ,所以乘积至少是 1/2^k ,于是对于 x≥2^(2k) ,误差项就不大于 (4) 中的量,而直到 x 为止的素数的个数就不大于 (4) 的两倍,而由 y 的选择,也就是小于 εx 。由于 ε 可以选得任意小,这就是说,素数所占的 x 的比例一定趋于零,而这正是我们预料中的情况。
虽然包括-排斥原理的误差太大,不能在 y=√x 时用这个方法用 (4) 式来作估计,但我们仍然希望 (4) 是直到 x 为止的素数个数的一个好的估计,说不定改用另外的论据就能给出一个小得多的误差,结果也就是这样的。事实上,误差绝不会比 (4) 式大很多。然而,当 y=√x 时,直到 x 为止的素数的个数是 (4) 式的 8/9 倍。
那么 (4) 式为什么就不是一个好的估计呢?在筛去素数 p 时,我们曾经假设在余下的整数中,大约每隔 p 个就删除一个。仔细的分析会说明,当 p 很小时,这是有根据的,但是对于 p 变大的时候所发生的情况,这就是一个越来越差的近似了。事实上,当 y 大于 x 的某个幂时,(4) 式并不给出一个正确的估计。那么,错在哪里呢?前面一直有一个设想,即筛去的整数在余留下来的整数中所占比例大约是 1/p ,但是这个设想后面隐藏了一个没有明说的假设,即筛除素数 p 的结果与以前筛除小于 p 的素数时发生的情况无关。但是,如果我们考虑的素数不是很小,这个假设是错误的。估计直到 x 为止的素数的个数之所以困难,这是主要理由之一,而事实上,在许多相关的问题的核心困难也与此类似。
我们可以把上面给出的界限精细化,但是似乎不能得到素数个数的渐近估计(即一个只差一个因子就成为正确的估计,而且这个因子当 x 变大时趋于 1 )。关于这种估计的第一个好的猜测出现在 19 世纪初,但是并不比高斯从自己的观测所得出的结果更好,高斯在 16 岁时研究了直到 300 万的所有素数的表,并且得出结论说“直到 x 为止的素数的密度大约是 1/logx ”。为了解释这一点,我们猜想直到 x 为止的素数个数大约是