牛顿迭代
已知 \(f(x)\),求 \(g(x)\),其中 \(g(x)\) 满足:\(f(g(x))\equiv 0 \pmod{x^n}\)。
结论
\[g(x)\equiv g_0(x)-\frac{f(g_0(x))}{f'(g_0(x))} \pmod{x^n}
\]
推导过程
我们还是先假设一个新的多项式 \(g_0\),满足:
\[f(g_0(x))\equiv 0\pmod {x^{\lceil \frac{n}{2}\rceil}}
\]
把 \(g_0(x)\) 作为 \(x_0\),将 \(f\) 泰勒展开,得到:
\[\sum_{i=0}^{+\infty}\limits \frac{f^{(i)}(g_0(x))}{i!}\cdot (g(x)-g_0(x))^i \equiv 0\pmod {x^n}
\]
高次项不会对低次项产生影响,也就是说,\(g(x)\) 和 \(g_0(x)\) 的前 $\lceil \frac{n}{2} \rceil $ 项相同。
会发现当 \(i\ge 2\) 的时候,\((g(x)-g_0(x))^i\) 这一项中,最低的有系数的一项,在 \(x^n\) 之上, \(\equiv 0 \pmod{x^n}\)
因此 \(\sum_{i=0}^{\infty}\limits \to \sum_{i=0}^{1}\limits\)
\[f(g(x))\equiv f(g_0(x))+f'(g_0(x))\cdot (g(x)-g_0(x)) \pmod{x^n}
\]
\[g(x)\equiv g_0(x)-\frac{f(g_0(x))}{f'(g_0(x))} \pmod{x^n}
\]
于是可以递归求解。
$$\texttt{Dirty Deeds Done Dirt Cheap}$$