Questions tagged «comp-number-theory»

2
数字字段分解的复杂性
对于一般数字字段中的因式分解整数的计算复杂度了解多少?进一步来说: 在整数上,我们通过其二进制扩展表示整数。一般数字字段中整数的类似表示是什么? 是否知道素数域中的素数在P或BPP中? 分解数字字段的最著名算法是什么?(和(显然)算法是否从扩展?)在这里,分解是指找到某个数字的表示形式(用位表示),如下所示:素数的乘积。 EXPÑ 1 / 3 žÑexpn−−√exp⁡n\exp \sqrt nexpn1/3exp⁡n1/3\exp n^{1/3}ZZ\mathbb{Z}nnn 在数字字段中找到整数的所有因式分解的复杂度是多少?算上它有多少个不同的分解? 在,已知确定给定数字是否在区间具有因数是NP难的。在数字字段中的整数环上,是否可能会发现是否存在一个范数在一定间隔内的素数已经是NP难的? [ a ,b ]ZZ\mathbb{Z}[a,b][a,b][a,b] 是否在BQP中考虑数字字段? 言论,动机和更新。 当然,分解在数字字段上不是唯一的事实在这里至关重要。这个问题(尤其是第5部分)是由有关GLL的博客文章(请参见此注释)以及这个较早的TCSexchange问​​题引起的。我还在博客上展示了它,Lior Silverman 给出了详尽的答案。

1
素数计数功能#P是否完成?
召回π(n)π(n)\pi(n)的素数的数量≤n≤n\le n是质数计算函数。通过“ P中的PRIMES”计算π(n)π(n)\pi(n)在#P中。问题#P是否完成?或者,也许有一个复杂的原因认为此问题不是#P完全的? PS:我意识到这有点天真,因为必须有人研究了这个问题并证明/反对/猜想了这一点,但是我似乎无法在文献中找到答案。看到如果您好奇我为什么在这里,此处。

4
给定
谁能帮助我解决以下问题? 我想找到一些值ai,bjai,bja_i,b_j(mod NNN),其中i=1,2,…,K,j=1,2,…,Ki=1,2,…,K,j=1,2,…,Ki=1,2,…,K, j=1,2,…,K (例如K=6K=6K=6),给定一个K2K2K^2值的列表,对应于差ai−bj(modN)ai−bj(modN)a_i-b_j\pmod N(例如N=251N=251N=251),而无需知道具体的对应关系。由于价值观ai,bj(modN)ai,bj(modN)a_i,b_j\pmod N并不是唯一确定给定的差异ai−bj(modN)ai−bj(modN)a_i-b_j\pmod N,我们寻找任何 价值的有效分配。 绝对地,尝试列表中K2K2K^2数字的每个置换(总共K2!K2!K^2!可能的情况),然后以ai,bjai,bja_i,b_j作为变量求解模块化方程是不可行的。 实际上,此问题出现在有关对NTRU签名方案的早期版本进行密码分析的论文中(http://eprint.iacr.org/2001/005)。但是,作者只写了一个句子“简单的回溯算法找到了一种解决方案……”(在第3.3节中),所以有人可以给出更多的解释吗?此外,作者还提到“每个循环移位{((ai+M)modN,(bi+M)modN}Ki=1{((ai+M)modN,(bi+M)modN}i=1K\{((a_i+M)\mod N,(b_i+M)\mod N\}_{i=1}^K或掉期交易({(N−1−bi,N−1−ai)}Ki=1)({(N−1−bi,N−1−ai)}i=1K)(\{(N-1-b_i,N-1-a_i)\}_{i=1}^K)导致a_i-b_j \ mod N的模式相同,ai−bjmodNai−bjmodNa_i-b_j\mod N这对您有帮助吗?

3
行列式模
什么是用于计算与系数的整数矩阵的行列式的已知有效的算法,残基的环模米。数米可能不是素数,但复合材料(以便计算在环执行,而不是一个场)。ž米Zm\mathbb{Z}_m米mm米mm 据我所知(请参阅下文),大多数算法都是对高斯消去算法的修改。问题是这些程序的计算效率。 如果碰巧有其他方法,我也对此感到好奇。 提前致谢。 更新: 让我解释一下这个问题的根源。假设,是质数。因此Z m是一个场。在这种情况下,我们可以使用小于m的数字执行所有计算,因此我们对数字的所有运算都有一些不错的上限:加法,乘法和求逆---运行高斯消除所需的所有运算。米mmZmZm\mathbb{Z}_mmmm 另一方面,在不是素数的情况下,我们无法对某些数字进行求逆。因此,我们需要一些技巧来计算行列式。mmm 现在,我很好奇完成这项工作的已知技巧是什么,以及是否可以在书籍和论文中找到这些技巧。

1
在阅读Dick Lipton的博客时,我偶然发现了他的Bourne Factor帖子结尾处的以下事实: 如果对于每个,都存在形式的关系 其中,每个,和的位长均为,则因式分解为多项式电路。(2 n)!= m − 1 ∑ k = 0 a k b c k k m = p o l y (n )a k b k c k p o l y (n )nnn(2n)!=∑k=0m−1akbckk(2n)!=∑k=0m−1akbkck (2^n)! = \sum_{k=0}^{m-1} a_k b_k^{c_k} m=poly(n)m=poly(n)m = poly(n)akaka_kbkbkb_kckckc_kpoly(n)poly(n)poly(n) 换句话说,具有指数位数的位,可以有效地表示。(2n)!(2n)!(2^n)! 我有几个问题: 有人可以提供上述关系的证明,告诉我名称和/或提供任何参考文献吗? 如果我要给你,以及,和每一个,是否可以提供一个多项式时间算法来检查关系的有效性(即)?中号一个ķ …


1
是否有用于计算GCD的量子NC算法?
从我对MathOverflow的一个问题的评论中,我 感觉到有关GCD位于与中的问题类似于有关整数分解的问题位于与的问题。。氮碳ñC\mathsf{NC}PP\mathsf{P}PP\mathsf{P}ñ PñP\mathsf{NP} 对于GCD,是否存在类似于“量子 ”算法的东西,因为存在用于整数分解的量子多项式时间()算法?氮碳ñC\mathsf{NC}乙Q P乙问P\mathsf{BQP} 相关问题:最大公约数(gcd)的复杂度

4
计算Mobius函数
Mobius函数定义为,如果具有素数平方,则,并且如果所有素数不相同。是否有可能来计算,而不计算的因式分解?μ (1 )= 1 μ (Ñ )= 0 Ñ μ (p 1个 ... p ķ)= (- 1 )ķ p 1,... ,p ķ μ (Ñ )ñμ(n)μ(n)\mu(n)μ(1)=1μ(1)=1\mu(1)=1μ(n)=0μ(n)=0\mu(n)=0nnnμ(p1…pk)=(−1)kμ(p1…pk)=(−1)k\mu(p_1 \dots p_k)= (-1)^kp1,…,pkp1,…,pkp_1,\dots,p_kμ(n)μ(n)\mu(n)nnn

1
这个问题的复杂程度?
我试图了解以下问题属于哪个复杂度类: 指数多项式根问题(EPRP) 让是一个多项式度(p )≥ 0与从有限域绘制系数ģ ˚F (q )与q为素数,和- [R原始的该字段根。确定以下解: p (x )= r x (或等价地,p (x )− r x的零),其中r x表示指数r。p(x)p(x)p(x)deg(p)≥0deg⁡(p)≥0\deg(p) \geq 0GF(q)GF(q)GF(q)qqqrrrp(x)=rxp(x)=rxp(x) = r^x p(x)−rxp(x)−rxp(x) - r^xrxrxr^xrrr 请注意,当(多项式是一个常数)时,此问题恢复为离散对数问题,该问题被认为是NP中间的,即,它在NP中,但在P或NP中都不完整。deg(p)=0deg⁡(p)=0\deg(p)=0 据我所知,不存在用于解决此问题的高效(多项式)算法(Berlekamp和Cantor–Zassenhaus算法需要指数时间)。可以通过两种方式找到此类方程式的根: 在字段中尝试所有可能的项目,并检查它们是否满足方程式。显然,这需要场模的位大小中的指数时间。xxx 指数可在多项式形式被改写,通过使用拉格朗日内插来内插所述点 { (0 ,- [R 0),(1 ,- [R 1),... ,(q - 1,- [R q - 1)},确定一多项式f (x )。这多项式是相同的,以[R X正是因为我们是在一个有限的领域工作。然后,差prxrxr^x{(0,r0),(1,r1),…,(q−1,rq−1)}{(0,r0),(1,r1),…,(q−1,rq−1)}\{(0,r^0),(1,r^1),\ldots,({q-1},r^{q-1})\}f(x)f(x)f(x)rxrxr^{x}可以分解以找到给定方程式的根(使用Berlekamp或Cantor–Zassenhaus算法),并且该根可以读出这些因数。但是,此方法甚至比穷举搜索更糟:因为平均而言,经过 n个给定点的多项式将具有 …

3
使用de Bruijn序列找到整数的
肖恩·安德森发表位摆弄黑客包含埃里克·科尔的算法来找到一个的位整数在的操作与乘法和查找。Ñ v ø (LG (Ñ ))⌈log2v⌉⌈log2⁡v⌉\lceil\log_2 v \rceilNNNvvvO(lg(N))O(lg⁡(N))O(\lg(N)) 该算法依赖于De Bruijn序列中的“魔术”数。谁能解释这里使用的序列的基本数学特性? uint32_t v; // find the log base 2 of 32-bit v int r; // result goes here static const int MultiplyDeBruijnBitPosition[32] = { 0, 9, 1, 10, 13, 21, 2, 29, 11, 14, 16, 18, 22, 25, 3, 30, 8, …


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.