[论文解读] On the computation of the n^th decimal digit of various transcendental numbers
本文提出了一种新颖的算法,用于直接计算某些超越数(如 π、ζ(3) 等)的第 n 位小数,而无需计算前面的所有数位。该算法基于 Bailey-Borwein-Plouffe 公式,并引入一种新的分数拆分技术,时间复杂度为 O(n³ log³n),内存占用极低,主要提供理论洞察,而非实际性能提升。
A method for computing the n'th decimal digit of pi in O(n^3 log(n)^3) time and with very little memory is presented here. The computation is based on the recently discovered Bailey-Borwein-Plouffe algorithm and the use of a new algorithm that simply splits an ordinary fraction into its components. The algorithm can be used to compute other numbers like zeta(3), pi*sqrt(3), pi^2 and 2/sqrt(5) ln(phi) where phi is the golden ratio. The computation can be achieved without having to compute the preceding digits. I claim that the algorithm has a more theoretical rather than practical interest, I have not found a faster algorithm or proved that it cannot exist.
研究动机与目标
- 开发一种直接计算特定超越数第 n 位小数的方法,而无需计算所有前驱数位。
- 将 Bailey-Borwein-Plouffe 算法的适用范围从 π 扩展到其他常数,如 ζ(3)、π√3、π² 和 2/√5 ln(φ)。
- 引入一种新的分数拆分算法,以高效分解高精度算术中的有理函数分量。
- 分析所提方法的计算复杂度与内存效率,强调其理论性能而非实际表现。
- 探讨是否存在比该算法更快的替代方案,尽管未发现此类方法。
提出的方法
- 该方法基于 Bailey-Borwein-Plouffe (BBP) 公式,该公式允许在十六进制下直接计算 π 的第 n 位数。
- 提出一种新算法,将普通分数分解为适合模运算的分量,从而实现高效的数位提取。
- 该算法使用模幂运算和级数展开技术,以隔离十进制展开中的单个数位。
- 计算采用任意精度算术进行,内存占用极小,重点在于数位提取而非完整常数的评估。
- 通过将常数表示为可使用类似模运算技术求值的级数,该方法可推广至其他常数。
- 时间复杂度分析为 O(n³ log³n),原因在于高精度运算的组合以及需计算至第 n 位数的项。
实验结果
研究问题
- RQ1能否在不计算所有前驱数位的情况下,直接计算 π 的第 n 位数?
- RQ2是否可能将 BBP 型公式扩展至其他超越常数,如 ζ(3) 和 π√3?
- RQ3所提数位提取算法的计算复杂度是多少?
- RQ4内存使用量如何随数位位置 n 变化?
- RQ5是否存在更快的直接数位计算算法,或者该方法在理论上已达到最优?
主要发现
- 该算法可在 O(n³ log³n) 时间复杂度下直接计算 π 的第 n 位小数。
- 该方法仅需相对于 n 为常数的极小内存,因此在 n 较大时具有高度内存效率。
- 该方法可推广至计算其他常数的第 n 位数,包括 ζ(3)、π√3、π² 和 2/√5 ln(φ)。
- 该算法不依赖常数的预计算值,支持即时数位提取。
- 尽管其理论效率较高,作者指出尚未发现更快的算法,暗示其在复杂度类中可能具有最优性。
- 该方法的主要价值在于理论洞察,而非实际速度,因为对于大多数应用场景,其速度仍慢于标准任意精度计算。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。