Skip to content

方法Method

Hensel 互素因子提升

Hensel factor lifting · Coprime polynomial Hensel lifting · 亨泽尔因子提升

从互素首一模素数因子出发,逐位求解唯一系数修正,构造完整p-adic因子并交付有限精度乘积证书。

形式陈述 ​

固定素数 p,取 $\mathbb Z_p$ 上首一多项式 f,次数为 d。设它模 p 的像具有指定分解

(1)f¯=g¯h¯,g¯,h¯∈Fp[X] 首一,gcd(g¯,h¯)=1.

令 r=deg⁡g¯、s=deg⁡h¯,则 r+s=d。存在唯一一对首一多项式 g,h∈Zp[X],满足

(2)f=gh,deg⁡g=r,deg⁡h=s,gmodp=g¯,hmodp=h¯.

唯一性以两个指定剩余块和它们的顺序为条件。若只说“某种因式分解”,交换因子或重新分组仍会得到其他写法。这里也不要求每个块内部平方自由;要求的是两个块之间互素。

有限精度接口输入 N≥1、fmodpN 和式(1),输出模 pN 下唯一的同次数首一因子 gN,hN。系数均可取 0,…,pN−1 中的代表,最高次系数固定为1。它们满足

(3)gNhN≡f(modpN),gN+1≡gN,hN+1≡hN(modpN).

以下先处理 r,s≥1。若某一块为常数1,则直接返回1与 f;f=1 也按此处理。零多项式不属于首一输入,首项为单位的非首一多项式可先除以首项,首项不是单位时则不能沿用本页的整系数合同。

直觉

已知 gnhn 与 f 的前 n 位系数相同,下一步只改每个低次系数的第 n 位:

gn+1=gn+pnu,hn+1=hn+pnv,deg⁡u<r,deg⁡v<s.

乘积中 p2nuv 在模 pn+1 下消失。因此虽然原问题是乘法分解,下一位却由线性方程决定:

(4)uh¯+vg¯=e,e=f−gnhnpnmodp.

首一与次数条件使 f−gnhn 的最高次项相消,所以 deg⁡e<r+s。待求的 u,v 一共恰有 r+s 个系数。互素性保证这次线性修正既能解出,又不会有第二种答案。

如何直接解出两组修正系数 ​

有限域多项式环的Euclidean 除余与Bézout回代给出 A,B,满足

Ah¯+Bg¯=1.

只需保存 Amodg¯,以后每一层复用。令

(5)u=rem(Ae,g¯),v=e−uh¯g¯.

第一个等式给 deg⁡u<r;因为 Ah¯≡1(modg¯),第二个分子确实被 g¯ 整除。该分子的次数小于 r+s,所以商的次数小于 s,两项均符合要求。

若另有一组修正,取差得到 Δuh¯+Δvg¯=0。互素性推出 g¯∣Δu,而 deg⁡Δu<r,故 Δu=0,随后 Δv=0。这证明每层的唯一性;它来自完整的多项式系数恒等式,不是只在若干域元素上代入检查。

从系数的一位到完整因子 ​

将式(5)的系数选为 0,…,p−1,代入修正式,乘积误差至少被 pn+1 整除,次数和首一性保持。起点取 g¯,h¯ 的标准代表,归纳即得每一层。

任何另一对模 pn+1 因子降模后,按归纳假设必须等于 gn,hn;它们只能相差 pnu,pnv,而式(4)的解唯一。因此有限层唯一性已经包含所有可能系数,不依赖算法恰好选择了什么代表。

每个系数形成相容的 p 进数字列,分别收敛到 Zp。次数固定,乘积每个系数只含有限个乘积,故极限满足 f=gh。若完整因子还有另一对,降到每一层均相同,所有系数差都被每个 pn 整除,只能为零。这样才得到式(2)的完整存在与唯一性。

例子与边界

把三进三次式分成二次块与一次块 ​

取

f=X3−X2−3X+30,g¯=X2,h¯=X+2于 F3[X].

两块互素,即使 X2 自身有重因子也无妨。初始 g1=X2,h1=X+2,有

f−g1h1=3(−X2−X+10),e=2X2+2X+1.

模 X2 的逆元可取 A=2+2X,因为 (2+2X)(X+2)=1+2X2 于 F3[X]。式(5)给 u=2,v=2,故

g2=X2+6,h2=X+8.

下一步得到 g3=X2+24,h3=X+26。再下一步的误差为 e=2X2+2X+2,修正变成 u=1+2X,v=0,因此 g4=X2+54X+51,h4=X+26。完整前六层为:

精度 3n gn hn
3 X2 X+2
9 X2+6 X+8
27 X2+24 X+26
81 X2+54X+51 X+26
243 X2+135X+132 X+107
729 X2+378X+375 X+350

最后一行有逐系数证书

(6)f−(X2+378X+375)(X+350)=−729(X2+182X+180).

一次因子的根为 −350≡379(mod729)。二次因子上的 375、378 分别是常数与一次项的系数,不能把其中某个数当成另一个近似根。

互素条件失败时,存在与唯一都可能失去 ​

X2−p 模 p 分解成 X⋅X,但它在 Qp 中没有根:平方根会要求整数赋值等于 1/2。因此这两块无法提升成两个一次因子。

X2−p2 同样降为 X⋅X,却有 (X−p)(X+p) 和交换次序后的两对有序提升。它们具有同样的两个剩余块,却不再唯一。假设失败并不自动说明无解,说明的是本页的存在唯一保证已经不适用。

此外,模 pN 的非零零因子不是域元素,不能在那里直接把每个非零多项式首项都取逆。算法中的逆元与除余在 Fp[X] 中进行;较高精度只用整系数加乘与已知整除的误差除以 pn。

推论与应用

怎样证明例子已找全所有基域根 ​

把上述完整一次因子记为 X−ρ。系数比较给二次因子

(7)g=X2+(ρ−1)X+(ρ2−ρ−3).

由第二层的唯一因子已知 ρ≡1(mod9),因此

v3(ρ−1)≥2,ρ2−ρ−3≡−3(mod9).

二次因子的常数项赋值恰为1,首项赋值为0,一次项在连线之上。Newton多边形的单边分母判据给出唯一斜率 −1/2,其分母等于次数2,故 g 在 Q3 上不可约。于是原三次式在整个 Q3 中恰有一个根 ρ,并非只在某个有限余数表中找到一个。

这里的局部二次不可约性由有限精度已固定的赋值证书决定。无需先知道 ρ 的所有数字,也无需把扩域中另两根写成根式。

与简单根和有限域分解如何衔接 ​

若指定块 g¯=X−a¯,另一个块与它互素等价于 f¯′(a¯)≠0。提升后 g=X−α,因此简单根Hensel就是这个因子接口在一次块上的情形。对于模 p 的重根,旧页的强Hensel条件可能仍能在更小的球中认证根;不能把它等同于式(1)的互素分块。

Berlekamp或Cantor–Zassenhaus先在有限域中找因子。若 f¯ 有重复因子,可将每个不可约因子的全部幂保持在同一块,再对不同块提升。各块之间仍互素;块内部可能需要进一步的局部方法,而不是把重复副本强行分开。

成本与验收 ​

设两个块均非常数,使用普通稠密乘除,预先求一次Bézout系数需 O(d2) 次有限域运算。逐位提升至 pN 有 N−1 轮,每轮包含 O(d2) 次系数环运算与有限域乘除,所以可用保守预算 O(Nd2);它不是位复杂度。工作系数有至多 O(Nlog⁡p) 位,读取输入的成本及整数加乘成本必须另计。复用数组时,工作存储为 O(d) 个模 pN 系数;若保存全部中间证书,还需另计其输出大小。

验收者可核初始互素Bézout等式、每层式(4)及次数约束、最终乘积同余。仅有最终乘积同余能证明输出合法,但唯一性仍依赖模 p 的互素前提。二次块是否已不可约则另由式(7)的赋值证书认证,不能从“算法返回了两个块”自行推断。

参考资料
  • Kiran S. Kedlaya,Notes for Math201A: Arithmetic of Local Fields,2010,§3,Proposition3.3,印刷p.8:互素因子提升及系数修正;本页固定首一与两个次数,另给每层唯一性与Bézout显式算法。
  • Andrew V. Sutherland,Local fields and Hensel’s lemmas,2025-10-09,Lemma9.19,印刷p.7:完全离散赋值环上的互素因子版本。本页直接证明 Zp 输入的有限精度与极限结论。
关系图谱17 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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