通过MCP连接 →

输入计算

Dimensionless real number, x > 0 and x ≠ 1 for a finite value.

数学公式

广告

结果

对数积分 li(x)
1.0451637801
li(2)
输入 x 2
计算方法 通过收敛级数计算 li(x) = Ei(ln x)

什么是对数积分函数 li(x)?

对数积分函数记作 \(\operatorname{li}(x)\),是一个特殊函数,定义为 \(1/\ln(t)\) 从 0 到 x 的积分。它在解析数论中无处不在,其中最著名的应用是在素数定理中作为素数计数函数 \(\pi(x)\) 的首阶逼近:小于 x 的素数个数大约等于 \(\operatorname{li}(x)\)。由于被积函数在 \(t = 1\) 处有一个极点,因此当 \(x > 1\) 时,该积分需按柯西主值(Cauchy principal value)来理解,这也是标准的定义方式。

1 除以 ln t 的图像,阴影部分表示到 x 为止的对数积分
li(x) 是曲线 1/ln(t) 下方的阴影面积,在 t = 1 处有一个奇点。

如何使用这个计算器

输入任意满足 \(x > 0\) 且 \(x \ne 1\) 的实数。计算器会以完整的双精度(约 15 位有效数字)返回 \(\operatorname{li}(x)\) 的值。当 x 取 0 到 1 之间的值时,结果为一个有限的负数;\(\operatorname{li}(0) = 0\),而 \(\operatorname{li}(1) = -\infty\)(标记为未定义)。对于 \(x \le 0\) 的情形,实值的 \(\operatorname{li}(x)\) 没有定义。

计算公式解析

本工具利用恒等式 \(\operatorname{li}(x) = \operatorname{Ei}(\ln x)\),其中 \(\operatorname{Ei}\) 为指数积分函数。设 \(u = \ln(x)\),并取欧拉-马歇罗尼常数 \(\gamma = 0.5772156649\),我们便可通过收敛级数 $$\operatorname{li}(x) = \int_{0}^{x} \frac{dt}{\ln t} = \gamma + \ln\!\left|\ln x\right| + \sum_{k=1}^{\infty} \frac{(\ln x)^{k}}{k \cdot k!}$$ 来求值。对于任何非零实数 u,该级数都收敛;计算时会持续累加各项,直到某一项的值小于当前累计和的约 \(1\mathrm{e}{-18}\) 倍为止。

Advertisement
素数计数函数与对数积分曲线的对比
li(x) 非常逼近素数计数函数 pi(x)。

计算实例

以 \(x = 2\) 为例:\(u = \ln(2) = 0.6931472\),\(\ln|u| = -0.3665129\),级数求和约为 \(0.8344608\)。再加上 \(\gamma\),可得 $$\operatorname{li}(2) = 0.5772157 - 0.3665129 + 0.8344608 = 1.04516378$$ 与已知的参考值 \(1.0451637801\) 一致。

常见问题

为什么 li(1) 是无穷大?当 t 从右侧趋近于 1 时,被积函数 \(1/\ln(t)\) 会发散,因此 \(\operatorname{li}(x)\) 在 \(x = 1\) 处趋于负无穷。

li(x) 在哪里等于零?在拉马努金-索尔德纳常数(Ramanujan-Soldner constant)处,即 \(x \approx 1.4513692349\)。

li(x) 和 Li(x) 是同一个函数吗?带偏移的版本 \(\operatorname{Li}(x) = \operatorname{li}(x) - \operatorname{li}(2)\) 有时会被使用,这样可使 \(\operatorname{Li}(2) = 0\);而本计算器返回的是不带偏移的 \(\operatorname{li}(x)\)。

最后更新: