有效地获取N位!?


11

给定和,就有可能获得的第个位(或任何小基数的位)在时间/空间中,其中是和y中的多项式函数?M M N !O (p (l n (N ),l n (M )))p (x ,y )xñ中号中号ñ!Ø(p(升ñ(ñ),升ñ(中号)))p(X,ÿ)Xÿ

即鉴于,中号= 2 μ(与Ñ,中号∈ Ž),发现位2 μ的(2 η)!以O (p (η ,μ ))为单位。ñ=2η中号=2μñ中号∈ž2μ(2η)!O(p(η,μ))

注意:我已经在此处的 mathoverflow.net上询问了此信息,但尚未得到任何答案,因此我已交叉发布。

从另一站点的评论中,吉恩·科普(Gene Kopp)指出,人们可以通过使用斯特林近似进行模算术和高阶位来有效地计算低阶位,所以这个问题的确是“一个人如何有效地计算中阶位?” 。

Answers:


13

迪克·利普顿(Dick Lipton)在2009年发表了一篇关于因子函数与因子分解之间关系的漂亮文章。有很多与这个问题无关的东西,但是这个定理是一个重点:

如果可以通过O (log c n )步的直线算术运算来计算,则分解具有多项式大小的电路。n!O(logc⁡n)

我怀疑这是证据证明您的问题,尤其是在您提到的时限内,将很难回答。


1
谢谢,这正是我一直在寻找的答案类型。这并不能直接回答我的问题,也无法确切地将两者联系起来,但是距离足够近,我可以放心了。
— user834 2010年

3

Suresh的答案可能会为您回答问题,但我想我会指出一个特殊情况。您始终可以计算出任何基数的低位有效数字的结果。以为基数。p

显然,每P 个中的阶乘项的倍数。每隔(p 2)个术语是的倍数p 2,等。因此最高功率p是一个因素Ñ !是X p = Σ ⌊ 日志p(Ñ !)⌋ 我= 1 ⌊ Ñp(p2)p2pN!。logp(N!)很容易通过斯特林近似来近似:lnN!≈ÑLNñ-ñ。此外,pÑ⌈日志p(Ñ)⌉>Ñ!的,所以总和总是可以有效地代替求和计算1个≤我≤Ñ⌈日志p(Ñ)⌉(因为⌊ÑXp=∑一世=1个⌊日志p⁡(ñ!)⌋⌊ñp一世⌋日志p⁡(ñ!)ln⁡ñ!≈ñln⁡ñ-ñpñ⌈日志p⁡(ñ)⌉>ñ!1个≤一世≤ñ⌈日志p⁡(ñ)⌉对于我>⌊日志p(Ñ!)⌋)。⌊ñp一世⌋=0一世>⌊日志p⁡(ñ!)⌋

因此,N的最后位!在基数p中为零。Xpñ!p

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.