牛顿迭代公式
多项式的牛顿迭代公式用来解决以下问题:
给出 G(x)G(x)G(x) 求解 f(x)f(x)f(x) 满足方程 G(f(x))≡0(modxn)G(f(x)) \equiv 0 \pmod {x^n}G(f(x))≡0(modxn)
先给出公式:
设 G(A0)≡0(modxm),G(A)≡0(modx2m)G(A_0) \equiv 0 \pmod {x^m},G(A) \equiv 0 \pmod {x^{2m}}G(A0)≡0(modxm),G(A)≡0(modx2m) ,则:
A(x)≡A0(x)−G(A0)G′(A0)(modx2m)A(x) \equiv A_0(x)-\frac{G(A_0)} {G'(A_0)} \pmod {x^{2m}}A(x)≡A0(x)−G′(A0)G(A0)(modx2m)
推导过程如下:
显然, G(A)−G(A0)≡0(modxm)G(A) - G(A_0) \equiv 0 \pmod {x^{m}}G(A)−G(A0)≡0(modxm) ,而 A(x)−A0(x)A(x)-A_0(x)A(x)−A0(x) 必为 G(A)−G(A0)G(A) - G(A_0)G(A)−G(A0) 的因式之一,因此我们取 A(x)−A0(x)≡0(modxm)A(x)-A_0(x) \equiv 0 \pmod {x^m}A(x)−A0(x)≡0(modxm) 的一解即可。
将 G(A)G(A)G(A) 在 A0(x)A_0(x)A0(x) 处泰勒展开:
G(A)=G(A0)+∑i=1∞(A(x)−A0(x))iG(i)(x)i!G(A)=G(A_0)+\sum_{i=1}^{\infty}\frac{(A(x)-A_0(x))^i G^{(i)}(x)} {i!}G(A)=G(A0)+i=1∑∞i!(A(x)−A0(x))iG(i)(x)
由于对 i≥2i\ge2i≥2 有 (A(x)−A0(x))i≡0(modx2m)(A(x)-A_0(x))^i\equiv 0 \pmod{x^{2m}}(A(x)−A0(x))i≡0(modx2m)
因此就有:
G(A)≡G(A0)+(A(x)−A0(x))G′(A0)≡0(modx2m)G(A)\equiv G(A_0)+{(A(x)-A_0(x)) G'(A_0)} \equiv 0\pmod {x^{2m}}G(A)≡G(A0)+(A(x)−A0(x))G′(A0)≡0(modx2m)
A(x)≡A0(x)−G(A0)G′(A0)(modx2m)A(x) \equiv A_0(x)-\frac{G(A_0)} {G'(A_0)} \pmod {x^{2m}}A(x)≡A0(x)−G′(A0)G(A0)(modx2m)
注意 G′(A0)G'(A_0)G′(A0) 指 GGG 对 A0A_0A0 的导数。
还有一点就是,由于 A(x)−A0(x)≡0(modxm)A(x)-A_0(x) \equiv 0 \pmod {x^m}A(x)−A0(x)≡0(modxm) ,因此只要知道 1G′(A0) mod xm\frac{1}{G'(A_0)} \bmod x^mG′(A0)1modxm 即可。
多项式常用函数的求法
元的线性变换
就是给定 F(x)F(x)F(x) 求 F(px+q)F(px+q)F(px+q) 。
先给出 F(x+q)F(x+q)F(x+q) 的求法:
设
F(x)=∑i=0maixiF(x)=\sum_{i=0}^{m}a_ix^i