本文仅考虑域(Field)$mathbb{F}$上的一元$N$次多项式
$$ f(x) = sum_{n=0}^N a_n x^n, $$
其中$x$是形式参数,$a_n in mathbb{F}$。我们把多项式$f(x)$简记作$f$。记
$$ mathbb{F}[x] = left{\, f(x) = sum_{n=0}^N a_n x^n mid a_0, a_1, dots, a_N in mathbb{F}, N geq 0 \, ight} $$
表示域$mathbb{F}$上的所有一元多项式。
给定多项式$F in left(mathbb{F}[x] ight)[x]$,求多项式$f in mathbb{F}[x]$,使得$F(f) equiv 0 pmod {x^N}$。
设$f_0 equiv f pmod {x^n}$,其中$n leq N$。考虑$F(f)$在$f=f_0$处的Taylor展开,
$$ F(f) = sum_{k=0}^infty (k!)^{-1} F^{(k)}(f_0) (f-f_0)^k. $$
当$k geq 2$时,我们有$(f-f_0)^k equiv 0 pmod {x^{2n}}$。若$2n leq N$,则上式在模$x^{2n}$意义下化为
$$ F(f_0)+F'(f_0) (f-f_0) equiv 0 pmod {x^{2n}}. $$
解得
$$ f equiv f_0 - left[F'(f_0) ight]^{-1} F(f_0) pmod {x^{2n}}, $$
其中$f^{-1}$表示$f$在模$x^{2n}$意义下的逆元,即$f^{-1} f equiv 1 pmod {x^{2n}}$。
如此迭代即可求得多项式$f$,称之为牛顿迭代法。
多项式求逆
已知多项式$g in mathbb{F}[x]$,求$g$在模$x^N$意义下的逆$f equiv g^{-1} pmod {x^N}$,即$fg equiv 1 pmod {x^N}$。令
$$ F(f) = f^{-1} - g, $$
则$ F'(f) = -f^{-2} $。设$f equiv f_0 pmod {x^n}$,应用牛顿迭代法可得递推式
$$ f equiv f_0 - (-f_0^{-2})^{-1} (f_0^{-1}-g) equiv f_0(2-f_0g) pmod {x^{2n}}. $$
多项式开根
已知多项式$g in mathbb{F}[x]$,求$g$在模$x^N$意义下的二次方根$f equiv g^{frac 1 2} pmod {x^N}$,即$f^2 equiv g pmod {x^N}$。令
$$ F(f) = f^2 - g, $$
则$ F'(f) = 2f $。设$f equiv f_0 pmod {x^n}$,应用牛顿迭代法可得递推式
$$ f equiv f_0 - (2f_0)^{-1} (f_0^2-g) equiv 2^{-1}(f_0+f_0^{-1}g) pmod {x^{2n}}. $$
多项式的对数和指数
设$f in mathbb{F}[x]$。若$[x^0]f = 0$,则定义$f$的指数为
$$ exp f = sum_{n=0}^infty (n!)^{-1} f^n. $$
若$[x^0]f = 1$,则定义$f$的对数为
$$ ln f = sum_{n=1}^infty (-1)^{n+1}n^{-1}(f-1)^n. $$
多项式的对数
设$f in mathbb{F}[x]$且$[x^0]f = 1$,则求$ln f$的方法为
$$ ln f = int mathrm{d} ln f = int f^{-1}f' mathrm{d} x. $$
多项式的指数
已知多项式$g in mathbb{F}[x]$,求$g$在模$x^N$意义下的指数$f equiv exp g pmod {x^N}$。
我们利用$ln exp g = g$。令
$$ F(f) = ln f - g, $$
则$ F'(f) = f^{-1} $。设$f equiv f_0 pmod {x^n}$,应用牛顿迭代法可得递推式
$$ f equiv f_0 - (f_0^{-1})^{-1} (ln f_0 - g) equiv f_0(1-ln f_0+g) pmod {x^{2n}}. $$
意外收获
若$[x^0]g=1$,则$g$的$k$次幂$g^k$可由
$$ g^k = exp left( k ln g ight) $$
导出。而除此之外的一般情形都可设法化为如上情形。