以下答案最初是作为评论发布在Gil的博客上的
(1)设是一个数域,其中我们假定α具有首一最小多项式˚F ∈ ż [ X ]。然后,可以将整数O K的环的元素表示为α或以整数为基础的多项式-两者是等效的。ķ= Q(α )αF∈ ž [ X ]Øķα
现在将固定为(1),从多项式到K的问题到Q的问题都有多项式时间的减少。为了验证可以在多项式时间内完成计算(例如,将理想值与Z相交或分解多项式mod p),请参见先前答案中提及的科恩书。ķķ问žp
作为除以α的判别式(即f的判别式)的每个有理素数的预计算,找到O k的所有素数都位于p之上。pαFØķp
(2)对于素性测试,给出一个理想的让p ∈ Ž是使得一个 ∩ Ž = p Ž(这可在多项式时间内计算和的比特数p是多项式的输入)。检查多项式时间p是否为质数。如果没有一个 ◃ Øķp ∈ ž一个 ∩ ž =p žpp不是素数。如果是,那么发现的素数 Ø ķ躺在上面 p无论是从预先计算或保 ˚F模 p。在任何情况下,如果 a是质数,则它必须是这些质数之一。一种ØķpFp一种
(图3a),(6A)为分解成质数,给定的理想发现其范数Ŷ = Ñ ķ Q(一)= [ Ö ķ:一个 ]。同样,这可以在多项式时间内找到,因此不会太大。y的Z因子(传统上或使用Shor算法,具体取决于所需的减少量)。这给出了除以y的有理素数的列表,因此,如2中所示,我们可以找到除以y的O K的素数的列表。由于一个| ÿ一个 ◃ Øķÿ= Nķ问(a)= [ Oķ:a ]ÿžÿØķÿ这给了素数除以列表一个。最后,很容易确定素数将给定理想除以的指数。一个| ÿØķ一种
(3b),(6b)但Gil希望将分解分解为不可约数,而不是素数。事实证明,给定的素因式分解,可以有效地将x的一个因式分解构造为O K的不可约元素。为此,令h K为类别编号,并注意可以有效地计算给定理想的理想类别。现在找到x的不可约除数,从x的因式分解中选择h K个素理想(可能是重复的)X ØķXØķHķXHķX。根据鸽子洞原则,其中一些子集会与班级组中的同一性相乘。找到一个最小的子集。这样,它的乘积就是由不可约元素产生的主要理想。将除以该元素,从分解中删除相关的理想值,然后重复。如果分解的元素少于h K个,则仅取所有因子的最小子集。XHķ
(4)我认为可以将因式分解计算为不可约式,但这是一些额外的组合运算法则-请给我时间来解决。另一方面,在次指数分解算法的背景下,确定所有参数都不是一件有趣的事情,因为一般而言,指数分解的次数很多。
(5)我不知道。