Skip to content

Berlekamp 多项式因式分解算法

Berlekamp factorization algorithm · Berlekamp polynomial factorization

计算有限域商代数的 Frobenius 不动子空间,并以 GCD 从中确定性分离不可约因子。

条目类型
算法

形式陈述

输入为有限域 Fq 上首一、平方自由多项式 fdegf=n。在商代数

A=Fq[x]/(f)

中,Frobenius 映射 F(h)=hqFq-线性的。以 1,x,,xn1 为基,构造 n×n 的 Berlekamp 矩阵 Q:第 j 列是 xqjmodf 的系数向量。于是

B=ker(QI)={hA:hq=h}.

f=f1fr 是互异首一不可约因子的乘积,Chinese remainder 分解给出

Ai=1rFq[x]/(fi),BFqr,

dimFqB=r。计算矩阵 QI 的零空间后,对非恒定 hBaFq

gcd(f,ha).

在各不可约分量上 h 取某个基域常数,因此这些 GCD 把取相同常数的分量聚在一起。依次使用零空间基并细化当前因子,直到得到 r 个不可约因子。输入若非平方自由,应先做平方自由分解,否则上面的直积分解含幂零元,维数与因子数关系不再成立。

直觉

Berlekamp 算法没有逐个试除不可约多项式,而是寻找在 Frobenius 下不动的“标签函数”。在每个不可约因子对应的扩域分量中,满足 zq=z 的元素恰是基域 Fq;所以一个不动元素相当于给每个未知因子贴上一个域元素标签。计算 gcd(f,ha) 就把标签为 a 的分量一次取出。

关键工作由有限维线性代数完成。模 f 把任意幂压回 n 维空间,Frobenius 的不动条件变成齐次线性方程;零空间维数不仅指导分裂,还直接告诉算法共有多少个互异不可约因子。这种结构尤其适合 q 固定而 n 增长的场景,因为所有域元素都可枚举,确定性地尝试 a 不会改变关于 n 的多项式性。

例子与边界

F2[x] 中取

f=x3+1=(x+1)(x2+x+1).

f=x2,与 f 互素,所以输入平方自由。以 (1,x,x2) 为基,平方映射给出

11,xx2,x2x4x(modf).

因此

Q=(100001010),

ker(QI)1h=x+x2 张成,维数 2 预告两个因子。实际计算

gcd(f,h)=gcd(x3+1,x+x2)=x+1,

商即 x2+x+1。每个输出都通过精确除法验证,零空间本身没有“猜中因子”的概率。

复杂度声明必须保留 q。经典确定性版本需枚举 aFq 并做稠密 n×n 线性代数;在固定 q 时它关于 n 为多项式时间,朴素界常写成 O(n3+qn2) 量级的域运算,但 q 若以 logq bit 输入,这个枚举对输入长度是指数依赖。不能把“有限域上的多项式时间”省略成对 n,logq 都多项式。

构造 Q 也有成本:必须计算 xq,x2q,f,扩域表示、模乘与内存布局都会影响常数。大 n 时矩阵可稀疏开始却在消元中变稠密;非首一输入需先除首项,首项为零或底环不是域时则没有这一操作。零空间维数为 1 只在输入已平方自由的前提下才证明 f 不可约。

推论与应用

Berlekamp 不动子空间给出了一个很强的可检验证书:零空间基、各次 GCD 与最终乘积足以复核分解。算法还展示 Frobenius、Chinese remainder 与线性代数如何协作,把非线性的“找因子”问题转成求核再分组。编码理论和有限域构造中的小特征多项式因此常直接采用此路线。

Cantor–Zassenhaus 算法通常先按不可约因子次数分组,再用随机幂与 GCD 做等次数分裂;它是 Las Vegas 算法,避免经典 Berlekamp 对全部 q 个常数的确定性扫描,在大域上更合适。两者不是“一个永远更快”:小固定域、需要完全确定性或已有高效线性代数时,Berlekamp 仍然自然;大 q 和高次数时,随机分裂及其现代变体往往占优。比较时应同时报告域大小编码、矩阵算法与随机性口径。

参考资料
  • Elwyn R. Berlekamp, “Factoring Polynomials over Finite Fields,” Bell System Technical Journal 46(8), 1967, pp. 1853–1859.
  • Elwyn R. Berlekamp, “Factoring Polynomials over Large Finite Fields,” Mathematics of Computation 24(111), 1970, pp. 713–735.
  • Joachim von zur Gathen and Jürgen Gerhard, Modern Computer Algebra, 3rd ed., Cambridge University Press, 2013, chapter on factoring polynomials over finite fields.
关系图谱6 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

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