二次剩余学习笔记

二次剩余学习笔记

十月 11, 2020

精通多项式的大家一定见过以下一个问题(如果你实在要说不精通的话就去看 Imakf 的博客,看完就精通了)。

1.多项式开根(加强版)

给定一个 $n-1$ 次多项式 $A(x)$ ,求一个在  $\bmod {x^n}$ 意义下的多项式 $B(x)$ ,使得 $B^2(x)\equiv A(x)\pmod {x^n}$ ,答案取常数项更小的的 $\sqrt{A(x)}$。

多项式的系数在 $\bmod 998244353$ 的意义下进行运算。

不保证 $a_0=1$

先来一波多项式部分的推导:

不妨假设我们求出了 $H^2(x)\equiv A(x)$,现在要求 $G^2(x)\equiv A(x)$。

然后就可以递归求解了。

那么现在递归到常数项的时候有一个问题:如何求 $x_0^2\equiv y(\bmod 998244353)$。

那么就要用到一个新知识:二次剩余。

这个玩意使用来求解方程:

这里要求 $p$ 是奇质数,我们不妨在这里设 $p$ 的原根为 $g$。

  • 判定

判断一个数 $x$ 是不是二次剩余。

这个东西叫欧拉准则。

结论:

$x^{\frac{p-1}{2}}\equiv 1(\bmod p)$ 与 $x$ 是二次剩余等价。

推论:

$x^{\frac{p-1}{2}}\equiv -1(\bmod p)$ 与 $x$ 是非二次剩余等价。

根据费马小定理有 $x^{\frac{p-1}{2}}\equiv 1(\bmod p)\Leftrightarrow x^{2\cdot\frac{p-1}{2}}\equiv 1(\bmod p)\Leftrightarrow g^{k\cdot\frac{p-1}{2}}\equiv1(\bmod p)$ 。

可得 $k$ 一定为偶数,那么 $g^{\frac{k}{2}}$ 是 $x$ 开根的结果,所以 $x$ 是二次剩余,

由于$x^{\frac{p-1}{2}}\equiv 1 or-1(\bmod p)$ 。

  • 求解

判定完了以后可以开始求解了。

我们可以先找到一个 $a$ 使得 $a^2-n\equiv 0$ 且 $a^2-n$ 是非二次剩余。

至于怎么找,因为非二次剩余数量是 $n/2$ 级别的,所以可以随机。

现在找到一个 $b$ 使得 $b^2 \equiv a^2-n$。

因为实际上实数域上涨不到这样的 $b$ 所以可以到复数域上找,只不过为了计算方便我们定义 $i^2=a^2-n$。

那么可以通过计算得出 $(a+i)^{p+1}\equiv n$。

所以得到 $(a+1)^{\frac{p+1}{2}}$ 是一个解, $-(a+1)^{\frac{p+1}{2}}$ 是另一个解。