python 黎曼猜想_黎曼猜想简析

- If Q is prime, you’ve found a prime that was not in your “list of all the primes”.

- If Q is not prime, it is composite, i.e made up of prime numbers, one of which, p, would divide Q (since all composite numbers are products of prime numbers). Every prime p that makes up P obviously divides P. If p divides both P and Q, then it would have to also divide the difference between the two, which is 1. No prime number divides 1, and so the number p cannot be on your list, another contradiction that your list contains all prime numbers.

求在给定正整数范围内有多少素数,是一个很有用的函数,记为π(x), 容易理解这个函数是个阶梯函数,每当x为素数时阶跃1,来看一眼这个函数的图像,大概也能感觉到素数分布之规律难寻:

素数定理:

用python画了一下分母的这个函数x/ln(x)的趋势,如下图:

把黎曼zeta函数跟素数发生关系的一个公式:欧拉乘积公式(Euler product formula)

右边的p是所有的素数。

这个结论乍看起来一头雾水,这样一个无穷级数怎么能跟素数的某种形式的练乘挂上钩呢?下面就做一个简单的证明:

首先对zeta函数(级数形式)两边都乘以第二项

然后跟原始的等式按如下方式做差:

其结果就是右边的项中分母中底数为2的倍数的项都没了。

再来做类似的操作,等式两边乘以右边第二项:

然后再跟之前的等式两边同时做差。得到下式:

说白了这里不过是一些处理无穷级数项的小技巧而已,没什么复杂的,但是通过不断地做以上的操作,类推下去,最终会把右边的项,全部干掉,只剩下1:

然后左边的项,看剩下的分母中的底数,为2,3,5,7 。。。等,全是素数。为什么会全是素数呢?其实如果知道埃拉托斯特尼筛法,自然就能理解了,原理大概就是例如求100以内的所有素数,只要把2的倍数全部剔除,再把3的倍数全部剔除,顺序往下,把没剔除的数的倍数全部剔除,直到没得剔了,那么剩下的数就是素数,很直观的一种方法。

至此,证毕,起码到此为止的成就是,把素数跟Zeta函数挂上钩了。但是zeta函数的那些非平凡零点又意味着什么,暂时还不知道。

又仔细研究了下,得到的结论大概是这样:zeta函数在复平面上的非平凡零点跟素数分布有着紧密联系,具体怎么联系的,体现在类似素数定理的误差项,已经证明的是非平凡零点的实部在0到1的条状带内,而黎曼猜想的标书则更强,直接定位在实部等于1/2处,这样相当于获得了更强的素数计数函数的误差项:

那么如果证明出来里面函数会有什么影响?答案我的理解是这样,考虑到黎曼猜想在结论层面,已经很多人默认它为真并基于它去做一些具体的事了,那么如果最终被证明,对这些已经默认它为真的事情理应是没啥影响,考虑到现在已经找到的大量的零点都符合黎曼猜想,这个猜想的成立的概率还是挺大的,于是在现实应用层面,证明了更不应该会有什么影响,倒是如果被证伪了,影响会比较大,但在现实应用层面(例如密码学)影响也有限,不会是颠覆性的。

但是可能的大的影响是来自证明过程的,例如素数定理本身就是研究黎曼猜想的过程中引出来的,那么如果真正证明出黎曼猜想,大概率其过程中会有新的一些重要发现。

牵涉到的一些数学概念:

素数定理, 解析延拓,虚数指数函数的意义,连续统

你可能感兴趣的:(python,黎曼猜想)