在数学的数论领域中,有一个尚未被证明的猜想,即对于所有连续的素数 \( p_n \) 和 \( p_{n+1} \),它们的平方根之差小于1。这个猜想被称为Andrica猜想。尽管这个猜想尚未被证明,但可以通过不同的数学方法来探索这个性质。
首先,从一个类比开始。知道根据贝特朗假设,对于任意素数 \( p_n \),都存在一个素数 \( p_{n+1} \) 使得 \( p_{n+1} < 2 \cdot p_n \)。由此可以得出 \( 0 < \ln(p_{n+1}) - \ln(p_n) < \ln(2) < 1 \)。但是,自然对数和平方根函数之间有什么关系呢?来看一个函数:
def f1(x):
return sqrt(x) - log(x)
这个函数的一阶导数是 \( {f_1}'(x) = \frac{1}{2\cdot \sqrt{x}} - \frac{1}{x} \),对于 \( \forall x \geq 4 \) 来说,这个导数是非负的。这意味着 \( f_1(x) \) 在 \( \forall x \geq 4 \) 上是递增的。因此,对于 \( \forall p_n \leq p_{n+1} \),\( n \geq 3 \)(因为 \( p_3 = 5 \)),有 \( \sqrt{p_n} - \ln(p_n) \leq \sqrt{p_{n+1}} - \ln(p_{n+1}) \)。最终得到 \( 0 < \ln(p_{n+1}) - \ln(p_n) \leq \sqrt{p_{n+1}} - \sqrt{p_n} \),对于 \( \forall n \geq 3 \)。
让来看另一个函数 \( f_2(x) = \frac{x}{\ln(x)} - \sqrt{x} \)。它的一阶导数是 \( {f_2}'(x) = \frac{\ln(x)-1}{(\ln(x))^{2}} - \frac{1}{2 \sqrt{x}} \)。对于 \( \forall x > 0 \),第一项总是大于0。让检查第二项:
def f2(x):
return (x / log(x)) - sqrt(x)
发现 \( 2 \sqrt{x} \cdot \ln(x) - 2 \sqrt{x} - (\ln(x))^{2} \) 可以被重写为 \( (\sqrt{x} - 1)^2 - (\sqrt{x} - \ln(x))^2 - 1 \)。通过一系列的变换,发现 \( {f_2}'(x) \geq 0 \) 并且 \( f_2(x) \) 在 \( \forall x \geq e^2 \) 上是递增的。因此,对于 \( \forall p_n \leq p_{n+1} \),\( n \geq 3 \),有 \( \sqrt{p_{n+1}} - \sqrt{p_n} \leq \frac{p_{n+1}}{\ln(p_{n+1})} - \frac{p_n}{\ln(p_n)} \)。
值得注意的是,函数 \( \frac{x}{\ln(x)} \) 在数论中扮演着特殊的角色。根据素数定理,知道 \( \lim_{x \to \infty} \frac{\pi(x)}{x/\ln(x)} = 1 \),其中 \( \pi(x) \) 是素数计数函数。显然,\( \lim_{n \to \infty} \frac{\pi(p_n)}{p_n/\ln(p_n)} = 1 \) 和 \( \lim_{n \to \infty} \frac{\pi(p_{n+1})}{p_{n+1}/\ln(p_{n+1})} = 1 \) 作为子序列。但这并不意味着 \( \lim_{n \to \infty} \left( \frac{p_{n+1}}{\ln(p_{n+1})} - \frac{p_n}{\ln(p_n)} \right) = 1 \)。
根据2005年的一篇文章,证明了 \( \lim_{n \to \infty} \inf \frac{g_n}{\ln(p_n)} = 0 \),其中 \( g_n = p_{n+1} - p_n \) 或者第n个间隙。显然 \( \frac{p_{n+1}}{\ln(p_{n+1})} < \frac{p_{n+1}}{\ln(p_n)} \)。因此,\( \sqrt{p_{n+1}} - \sqrt{p_n} \leq \frac{p_{n+1}}{\ln(p_{n+1})} - \frac{p_n}{\ln(p_n)} < \frac{g_n}{\ln(p_n)} \)。这意味着 \( \lim_{n \to \infty} \inf \left( \sqrt{p_{n+1}} - \sqrt{p_n} \right) = 0 \)。这表明Andrica猜想对于无限多对 \( p_n \) 和 \( p_{n+1} \) 是正确的。但这并不证明猜想,因为猜想声称“对于所有 \( p_n \) 和 \( p_{n+1} \) 都是正确的”。
考虑函数 \( f_3(x) = \pi(x) - \frac{x}{\ln(x)} \)。对于这个函数,使用了以下Python代码:
import math
import matplotlib.pyplot as plt
cache_prime = {1: False, 2: True, 3: True}
def is_prime(n):
if n in cache_prime:
return cache_prime[n]
print("calculate", n)
l = int(math.sqrt(n)) + 1
for i in range(2, l):
if (n % i) == 0:
cache_prime[n] = False
return False
cache_prime[n] = True
return True
def p(x):
ret = 0
i = 2
while i <= x:
if is_prime(i):
ret += 1
i += 1
return ret
def f(x):
return p(x) - x / math.log(x)
START = 0
N = 40000
step = 0.25
x = []
y = []
x1 = []
y1 = []
n = START + 1.5
for i in range(START, N):
val = f(n)
x.append(n)
y.append(val)
n_n = int(n)
if (abs(n_n - n) <= 0.0001) and is_prime(n_n):
x1.append(n_n)
y1.append(val)
n += step
plt.plot(x, y)
plt.plot(x1, y1)
plt.show()