Skip to content

Cantor–Zassenhaus 因式分解算法

Cantor–Zassenhaus algorithm · Cantor-Zassenhaus factorization

先按不可约因子次数分组,再以随机幂、迹映射和 GCD 做 Las Vegas 等次数分裂。

条目类型
算法

形式陈述

输入为 Fq[x] 中首一、平方自由多项式 f。算法先做 distinct-degree factorization。维护

vd=xqdmodf,

并计算 gcd(f,vdx);在已经移除较小次数因子的前提下,本轮所得部分恰由全部次数为 d 的不可约因子组成,因为有限域上首一不可约多项式的次数整除 d 当且仅当它整除 xqdx。这样把输入拆成若干 equal-degree 块。

对一个由 r2 个次数均为 d 的不可约因子组成的块 F,若 q 为奇数,随机取次数小于 degFa。先算 gcd(F,a):若它已经是真因子就直接切分,若为 F 就重抽;只有在 a 模每个不可约因子都非零时,才计算

h=a(qd1)/2modF.

在每个因子商域 Fqd 中,非零 a 的该幂为 11。因此 gcd(F,h1)gcd(F,h+1) 按二次剩余标签分组;若得到 1F 就重抽,得到真因子则递归。偶特征下 1=1,必须改用从各 Fqd 分量到 F2 的绝对迹,计算随机元素的 Frobenius 幂和后,以 gcd(F,Tr(a)) 分裂。

每次候选因子都用 GCD 和精确除法验证,失败只导致重试,所以这是Las Vegas 随机算法:输出永远正确,运行时间随机且期望为多项式。开始前的平方自由分解保证各分量互异;底层有限域保证 Frobenius 周期、二次剩余或迹映射的计数成立。

直觉

distinct-degree 阶段像先按“扩域尺寸”整理未知因子。所有次数为 d 的不可约因子都在 Fqd 中完全分裂,而较大次数因子不会被 xqdx 捕获。得到等次数块后,每个未知因子对应商环直积中的一个同型域分量,随机选取的 a 在这些分量里近似独立。

奇特征的指数 (qd1)/2 把每个非零分量压成二值标签 ±1。只要不同因子没有全落到同一标签,GCD 就一次抽出一个非空真子集;r2 时一次成功概率有常数下界,重复次数的期望受控。偶特征用迹把分量压到 F2,扮演同样的随机二分器。随机性只负责寻找好切分,不负责相信一个未经验证的答案。

例子与边界

F5[x] 中取等次数块

F=x2+1=(x2)(x3),

这里 d=1,r=2。选 a=x+1,则

h=a(511)/2=(x+1)22x(modx2+1).

计算

gcd(F,h1)=gcd(x2+1,2x1)=x3,

得到真因子,另一个商为 x2。若选 a=x,则 h=x21 在两个分量上相同,gcd(F,h1)=1gcd(F,h+1)=F,本轮没有信息;算法重抽即可,不能把这次失败误报为 F 不可约。

等次数前提不能省略。若一个块同时含一次与二次不可约因子,统一使用 (qd1)/2 不再在所有分量上产生预期二值标签,成功概率论证也失去对象。奇特征公式更不能照搬到 q 为偶数,因为 +1=1;显式迹算法的指数项数与 q=2s、扩张次数 d 有关,实际实现常用重复平方而不是构造天文大的指数。

“期望多项式”还依赖随机元素近似均匀和域运算成本。每轮模幂按 log(qd) 次平方乘计量,若 q 本身很大,应按 logq 而非把一个域元素操作当无条件常数。小输入上随机数生成和多次 GCD 可能超过确定性方法;输出顺序也不是确定的,但将因子首一化并排序可获得规范结果。

推论与应用

标准有限域因式分解流水线由平方自由分解、distinct-degree factorization 与 equal-degree factorization 三段组成。分段使每个定理只承担一个条件:第一段处理重数,第二段确定次数类别,Cantor–Zassenhaus 的第三段只负责在同次数块内切分。由此既能单独替换更快的 Frobenius 计算,也能为每阶段留下乘积与整除证书。

Berlekamp 算法相比,本算法不先求整个 n×n Frobenius 不动空间,也不确定性枚举所有 q 个常数;其大域依赖通常更好,代价是随机运行时间。现代系统会按 q、次数、稀疏度与可用线性代数选择混合方案。无论选择哪条路线,不能把 Las Vegas 说成“有小概率给错答案”:可以失败重试的是切分尝试,最终交付的每个因子都经过精确验证。

参考资料
  • David G. Cantor and Hans Zassenhaus, “A New Algorithm for Factoring Polynomials over Finite Fields,” Mathematics of Computation 36(154), 1981, pp. 587–592.
  • Joachim von zur Gathen and Daniel Panario, “Factoring Polynomials over Finite Fields: A Survey,” Journal of Symbolic Computation 31(1–2), 2001, pp. 3–17.
  • Joachim von zur Gathen and Jürgen Gerhard, Modern Computer Algebra, 3rd ed., Cambridge University Press, 2013, chapter on factoring polynomials over finite fields.
关系图谱10 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系