用Linnik的身份快速计算素数



本页介绍了一种新的素数计数算法,该算法基于Linnik的身份,在O(n^2/3 logn)时间和O(n*1/3 logn)空间中运行。早在2011年,我就在大力开发这种方法。我曾多次尝试描述以下多篇论文中的方法。第一篇论文可能就是要读的。

  • 具有Linnik恒等式的O(n^2/3 logn)时间和O(n*1/3 logn)空间中的素数计数

    (PDF,2011-11-23)这是我收集的一个算法的摘要,用于计算小于某个数字n的素数,依赖Linnik的恒等式和除数求和函数的性质。本文包括算法的详细描述以及演示的函数C实现它的运行时属性。

  • 几种新颖快速素数计数技术综述

    (PDF,2012-12-5)本文介绍了几种素数计算方法,它们都源于Linnik的恒等式,从最简单、最容易理解的角度出发到最复杂的,使用上述方法是最后一种方法。这是一份调查报告,旨在比简明扼要的原始论文更具描述性。它包括大多数方法的Mathematica和C代码。

  • 将我的素数计数算法推广到计算素数和

    (PDF,2011-11-23)我的素数计数算法可用于计算O(n^2/3 log n)时间和O(n ^1/3 log n”空间。这是对这种算法工作原理的非正式粗略总结。可以找到这个想法的粗略实现(存在一些不稳定的精度问题)在这里

  • 与Linnik身份相关的各种结果的早期报道

    (PDF,2011-3-24)这是我的原始、过长、无重点的文档,我在其中首次编写了这个算法,并与其他一些算法混合在一起不相关的结果。这是oeis.org链接的文档,但它可能不是跟踪我的结果的最佳选择。