2023.10.1 闲话

大家,国庆节快乐!

看了东方人气排行,魔理沙很强。

唉,QQ 在开学日整了个「放假啦」的掉落字母特效。我看的时候 CF 刚结束,我看掉下来一个「假啦」吓我一跳,仔细一看原来是「放假啦」。

有人说,人的有三次死亡。被人遗忘之后,就幻想入了吧。在幻想的世界里,死亡可是被良定义的哦?

推歌:からくれなゐに恋してるのは - inno feat. 初音ミク。

但是最近那个羽衣的歌挺萌的。

想起了 yspm 闲话。难道这就是 bobo 说的「等你到……就会想起我说的……」???

无论你是通过什么渠道点进来的,希望你能在这篇闲话中获得愉悦。

我可能需要改进一下 Windows 下我博客的阅读体验,主要是那个 NOI Linux 的 sans-serif 太好看了(

发布时间是 1:54 哦!

高斯整数整除理论的一些说明

本文源码约 29K,可能需要一定时间加载 \(\rm\LaTeX\) .

我想对于这类体系还是需要整理一下结构 .

若无特殊说明,不展开证明的定理都是显然的 .

预备知识

二元运算与代数系统

\(\textbf{定义 1.1.1}\text{ (二元运算)}\)

\(X\) 为一给定集合,称映射 \(f:X^2\to X\) 为集合 \(X\) 上的一个二元运算 . 即对于任意 \((a,b)\in X^2\),存在唯一的 \(h\in X\) 与其对应,记作 \(h=f(a,b)\)\(h=a\circ b\) .

\(\textbf{定义 1.1.2}\text{ (交换律、结合律)}\)

对于定义在 \(X\) 上的二元运算 \(\circ\),如果对任意 \(a,b\in X\)\(a\circ b=b\circ a\),则称这个二元运算是交换的 . 若对任意 \(a,b,c\in X\)\((a\circ b)\circ c=a\circ(b\circ c)\),则称这个二元运算是结合的 .

\(\textbf{定义 1.1.3}\text{ (封闭性)}\)

\(S\subseteq X\)\(\circ\)\(X\) 上的二元运算,若对任意 \(a,b\in S\) 都有 \(a\circ b\in S\),则称集合 \(S\) 对运算 \(\circ\) 封闭 .

\(\textbf{定义 1.1.3}\text{ (代数系统)}\)

在其上定义了若干二元运算 \(\circ,\star,\cdots\) 的集合 \(X\) 称为一个代数系统 . 如上述代数系统可记作 \((X,\circ,\star,\cdots)\)

如无特殊说明,我们不对集合 \(X\) 和建立在 \(X\) 上的代数系统加以区分 . 其具体含义可以根据语境推知 .

半群、群和环

\(\textbf{定义 1.2.1}\text{ (半群、交换半群)}\)

称代数系统 \((X,\circ)\) 是一个半群,当且仅当 \(\circ\) 是结合的 . 特别地,如果 \(\circ\) 是交换的,则称 \((X,\circ)\) 为交换半群 .

\(\textbf{定义 1.2.2}\text{ (半群的幺元素、幺半群)}\)

半群 \((X,\circ)\) 中的元素 \(e\) 如果满足对任意 \(a\in X\)\(a\circ e=e\circ a=a\),则称 \(e\) 为 半群 \((X,\circ)\) 的幺元素 . 存在幺元素的半群称作幺半群 .

\(\textbf{定理 1.2.1}\)

半群中的幺元素要么不存在,要么有且仅有一个 .

\(\textbf{定义 1.2.3}\text{ (可逆元素)}\)

设幺半群 \((X,\circ)\) 的幺元素位 \(e\),对于 \(a\in X\),若存在 \(b\in X\) 使得 \(a\circ b=b\circ a=e\),则称 \(a\) 为可逆元素(或单位元素),\(b\)\(a\) 的逆元素,记作 \(b=a^{-1}\) .

\(\textbf{定理 1.2.1}\)

对于半群中的每一个可逆元素,其逆元素唯一 .

\(\textbf{定义 1.2.4}\text{ (群、交换群)}\)

称半群 \((X,\circ)\) 是一个群,当且仅当它的每一个元素都可逆 . 特别地,如果 \(\circ\) 是交换的,则称 \((X,\circ)\) 为交换群 .

\(\textbf{定义 1.2.5}\text{ (环、交换环)}\)

代数系统 \((X,\oplus,\odot)\) 称为环当且仅当:

  • \((X,\oplus)\) 是一个交换群,通常称作环的加法群 .
  • \((X,\odot)\) 是一个半群,通常称作环的乘法半群 .
  • 对于任意 \(a,b,c\in X\),有:

    \[\begin{aligned}&a\odot(b\oplus c)=(a\odot b)\oplus(a\odot c)\\&(b\oplus c)\odot a=(b\odot a)\oplus(c\odot a)\end{aligned} \]

特别的,如果 \(\odot\) 是交换的,那么称 \((X,\oplus,\odot)\) 为交换环 .

\(\textbf{定义 1.2.6}\text{ (零元素)}\)

如果环 \((X,\oplus,\odot)\) 的加法群 \((X,\oplus)\) 有幺元素 \(o\),则称 \(o\) 为环 \(X\) 的零元素 .

\(\textbf{定义 1.2.7}\text{ (幺元素)}\)

如果环 \((X,\oplus,\odot)\) 的乘法半群 \((X,\odot)\) 有幺元素 \(e\),则称 \(e\) 为环 \(X\) 的幺元素 .

\(\textbf{定义 1.2.8}\text{ (单位元素)}\)

\((X,\oplus,\odot)\) 的乘法半群 \((X,\odot)\) 的单位元素 \(\varepsilon\) 称作环 \(X\) 的单位元素 .

\(\textbf{定义 1.2.9}\text{ (相伴数)}\)

\(\varepsilon\) 为环 \((X,\oplus,\odot)\) 的单位元素,对于 \(a,b\in X\),若 \(a\odot\varepsilon=b\),则称 \(a,b\) 互为相伴数,记作 \(a\sim b\) .

\(\textbf{定理 1.2.3}\)

相伴关系是等价关系 .

\(\textbf{定义 1.2.10}\text{ (零因子)}\)

\((X,\oplus,\odot)\) 零元素为 \(o\),若 \(o\neq a,b\in X\) 满足 \(a\odot b=o\),则称 \(a\)\(X\) 的左零因子,\(b\)\(X\) 的右零因子 . 显然在交换环中,左右零因子是一致的 .

\(\textbf{定义 1.2.11}\text{ (整环)}\)

\(X\) 是至少有两个元素的交换环,若 \(X\) 有幺元素,无零因子,则称 \(X\) 为整环 .

为了叙述简洁,在不引起歧义的情况下,用 \(o, e, \varepsilon\) 分别表示对应代数系统中的零元、幺元和单位元 .

高斯整数 \(\Z[\mathrm i]=\{a+b\mathrm i\mid a,b\in\Z\}\),类似的定义有 \(\mathbb Q[\mathrm i]\) .

为了不引起混淆,下文叙述中,可能将 \(\Z\) 称为有理整数,\(\Z\) 中的素数称为有理素数等 .

整除理论

\(\Z\) 中的整除理论

\(\textbf{定义 2.1.1}\text{ (整除)}\)

\(a,b\in\Z\)\(a\neq 0\),若存在 \(x\in\Z\) 使得 \(b=ax\),则称 \(a\) 整除 \(b\),记作 \(a\mid b\) . 同时称 \(a\)\(b\) 的约数,\(b\)\(a\) 的倍数 .

对于 \(0\neq b\in\Z\),称 \(\pm1,\pm b\)\(b\) 的平凡约数,其他因数称为非平凡约数 .

\(\textbf{定义 2.1.2}\text{ (不可约数)}\)

\(p\in\Z\setminus\{0,\pm1\}\),若 \(p\) 没有非平凡约数,则称 \(p\)\(\Z\) 中的不可约数 .

\(\textbf{定义 2.1.3}\text{ (素数)}\)

\(p\in\Z\) 对于任意 \(a,b\in Z\)\(p\mid ab\)\(p\mid a\)\(p\mid b\),则称 \(p\)\(\Z\) 中的素数 .

\(\textbf{定理 2.1.1}\)

\(\Z\) 中的不可约数和素数是一致的 .

\(\textbf{定理 2.1.2}\text{ (带余除法)}\)

对于 \(a,b\in\Z\)\(a\neq 0\),存在唯一的 \(q,r\in Z\) 满足 \(b=qa+r\),其中 \(0\le r\le|a|\) .

\(\textbf{定义 2.1.4}\text{ (公约数)}\)

对于 \(a,b\in\Z\),若 \(d\in\Z,\,d\mid a,\,d\mid b\),则称 \(d\)\(a,b\)的公约数 .

\(\textbf{定义 2.1.5}\text{ (最大公约数)}\)

对于不全为 \(0\)\(a,b\in Z\)\(a,b\) 的公约数中的最大者称为最大公约数,记作 \(\gcd(a,b)\) .

\(\textbf{定理 2.1.3}\text{ (Bezout 定理)}\)

对于任意 \(a,b\in\Z\),存在 \(x,y\in\Z\) 使得 \(ax+by=\gcd(a,b)\) .

\(\textbf{定理 2.1.4}\text{ (算术基本定理)}\)

对于 \(a\in\Z\setminus\{0,\pm1\}\)\(a\) 一定可以唯一地表示为:

\[a=\pm1\cdot p_1^{\alpha_1}p_2^{\alpha_2}\cdots p_r^{\alpha_r} \]

其中 \(p_1<p_2<\cdots<p_r\) 是不同的正素数 .

由于相伴关系是一个等价关系,因此可以将 \(\Z\) 中的全体元素按相伴关系划分成两两不相交的等价类,并在每个等价类中指定一个元素为代表,这样就得到 \(\Z\) 的一个代表集合 . 由于相伴元素具有相同的整除性质,在讨论仅和整除有关的性质时,可以只在某个代表集合中考虑(比如 \(\N\)).

整除理论体系的数论结构

\((M,\oplus,\odot)\) 是一个整环 .

为了方便,对于 \(\alpha,\beta\in M\),用 \(\alpha\beta\) 表示 \(\alpha\odot\beta\) .

\(\textbf{定义 2.2.1}\text{ (整除)}\)

\(\alpha,\beta\in M\)\(\alpha\neq o\),若存在 \(\tau\in\Z\) 使得 \(\beta=\alpha\tau\),则称 \(\alpha\) 整除 \(\beta\),记作 \(\alpha\mid \beta\) . 同时称 \(\alpha\)\(\beta\) 的约数,\(\beta\)\(\alpha\) 的倍数 .

对于 \(0\neq \beta\in M\),称 \(\varepsilon,\varepsilon\beta\)\(\beta\) 的平凡约数,其他因数称为非平凡约数 .

\(\textbf{定义 2.2.2}\text{ (不可约数)}\)

\(\xi\in\Z\setminus\{o,\varepsilon\}\),若 \(\xi\) 没有非平凡约数,则称 \(p\)\(M\) 中的不可约数 .

\(\textbf{定义 2.2.3}\text{ (素数)}\)

\(\xi\in M\) 对于任意 \(\alpha,\beta\in M\)\(\xi\mid \alpha\beta\)\(\xi\mid \alpha\)\(\xi\mid \beta\),则称 \(\xi\)\(M\) 中的素数 .

\(\textbf{定理 2.2.1}\)

所有素数都是不可约数 .

证明

若素数 \(\xi=\alpha\beta\) 不是不可约数,其中 \(\alpha\beta\neq\varepsilon\),则由素数的定义有 \(\xi\mid\alpha\)\(\xi\mid\beta\) .

不妨令 \(\xi\mid\alpha\),又 \(\alpha\mid\xi\),从而 \(\xi\sim\alpha\),进而 \(\beta=\varepsilon\),矛盾 .

从而命题得证 .

\(\textbf{定义 2.2.4}\text{ (公约数)}\)

对于 \(\alpha,\beta\in\Z\),若 \(\delta\in\Z,\,\delta\mid \alpha,\,\delta\mid \beta\),则称 \(\delta\)\(\alpha,\beta\)的公约数 .

\(\textbf{定义 2.2.5}\text{ (最大公约数)}\)

对于不全为 \(o\)\(a,b\in M\),若存在 \(\Delta\in M\) 满足 \(\Delta\mid\alpha,\Delta\mid\beta\) 且对于 \(\alpha,\beta\) 的任意公约数 \(\delta\)\(\delta\mid\Delta\),则称 \(\Delta\)\(\alpha,\beta\) 的最大公约数,记作 \(\gcd(\alpha,\beta)\) .

Remark 这样定义的 \(\gcd\) 不需要 \(M\) 上存在一个偏序 \(<\) . 另外,值得注意的是这个定义没有保证 \(\Delta\) 的存在性,但是,可以证明,如果 \(\Delta\) 存在,那么它必然在相伴意义下唯一 .

\(\textbf{定义 2.2.6}\text{ (可分解整环)}\)

如果对于任意 \(a\in M\setminus\{o,\varepsilon\}\)\(a\) 一定可以唯一地表示为 \(M\) 中有限个不可约数的乘积,则称 \(M\) 是可分解整环 .

\(\textbf{定理 2.2.2}\)

如果对任意 \(o\neq\alpha\in M\)\(\alpha\) 的互不相伴约数只有有限个,那么 \(M\) 是可分解整环 .

证明

\(d(\alpha)\) 表示 \(\alpha\) 的不相伴约数个数 . 显然当 \(\alpha\neq o,\varepsilon\) 时总有 \(d(\alpha)\ge 2\) .

用数学归纳法:

  • \(d(\alpha)=2\) 时,\(\alpha\) 为不可约数,结论成立 .
  • 假设当 \(2\le d(\alpha)<k\) 时结论都成立,那么当 \(d(\alpha)=k\) 时,\(\alpha\) 一定不是不可约数,也即存在 \(\alpha=\beta\gamma\)\(\beta,\gamma\neq\varepsilon\) . 显然 \(d(\alpha)>d(\beta),d(\gamma)\),由归纳假设知 \(\beta,\gamma\),都可表为不可约数的乘
    积,因此 \(\alpha\) 也可表为不可约数的乘积,结论成立 .

命题获证 .

对于可分解整环,有如下命题:

  • \(\textbf{命题 1}\) 对于不全为 \(o\)\(\alpha,\beta\in M\)\(\Delta=\gcd(\alpha,\beta)\) 存在,且存在 \(x,y\in M\) 使得 \(ax\oplus by=\Delta\) .
  • \(\textbf{命题 2}\)\(M\) 中的不可约数都是素数 .
  • \(\textbf{命题 3}\) 设 \(M_0\)\(M\) 的一个代表集合,则 \(\alpha\) 一定可以唯一的表为(不计次序):

    \[\alpha=\varepsilon\eta_1^{n_1}\eta_2^{n_2}\cdots\eta_r^{n_r} \]

    其中 \(\eta_i\in M_0\) 是两两不同的不可约数 .

\(\textbf{定义 2.2.7}\text{ (唯一分解整环)}\)

称命题 3 成立的可分解整环为唯一分解整环 .

\(\textbf{定理 2.2.3}\)

\(M\) 中命题 \(2\) 成立,\(\xi_1,\xi_2\in M\) 是不同的素数,\(\alpha\in M\)\(\xi_1\mid\alpha,\xi_2\mid\alpha\),则 \(\xi_1\xi_2\mid\alpha\) .

\(\textbf{定理 2.2.4}\)

命题 \(1\)、命题 \(2\)、命题 \(3\) 两两等价 .

证明过繁,此处不展开叙述 .

\(\Z[\mathrm i]\) 中的整除理论

显然 \((\Z[\mathrm i],+,\times)\) 是一个整环,从而可以直接引入定义 \(2.2.1\sim 2.2.5\),此处不再重新描述 .

\(\textbf{定义 2.3.1}\text{ (范数)}\)

\(\alpha=a+b\mathrm i\in\mathbb Q[\mathrm i]\),称 \(N(\alpha)=a^2+b^2\)\(\alpha\) 的范数 .

\(\textbf{定理 2.3.1}\)

对于 \(\alpha,\beta\in\mathbb Q[\mathrm i]\),则 \(N(\alpha\beta)=N(\alpha\beta)\),若 \(a\mid\beta\)\(N(\alpha)\mid N(\beta)\) .

\(\textbf{定理 2.3.2}\)

对于 \(n\in\N\)\(\Z[\mathrm i]\) 中范数等于 \(n\) 的元素个数有限 .

\(\textbf{定理 2.3.3}\)

\(\Z[\mathrm i]\) 是可分解整环 .

(这可以由定理 2.3.2 和定理 2.2.2 直接导出)

\(\textbf{定理 2.3.4}\text{ (带余除法)}\)

对于 \(\alpha,\beta\in\Z[\mathrm i]\)\(\alpha\neq 0\),存在 \(\eta,\gamma\in\Z[\mathrm i]\) 使得:

\[\beta=\eta\alpha+\gamma\qquad 0\le N(\gamma)<N(\alpha) \]

证明

考察 \(\frac{\beta}{\alpha}=a+b\mathrm i\),取 \(c,d\) 满足 \(|a-c|,|b-d|\le\frac 12\),令 \(\eta=c+d\mathrm i\),则:

\[\gamma=\beta-\eta\alpha=\alpha((a-c)+(b-d)\mathrm i) \]

从而

\[N(\gamma)=N(\beta)((a-c)^2+(b-d)^2)\le N(\beta)((\tfrac 12)^2+(\tfrac 12)^2)<N(\beta) \]

命题获证 .

\(\textbf{定理 2.3.5}\)

\(\Z[\mathrm i]\) 中命题 1 成立 .

证明

\(S=\{\alpha x+\beta y\mid x,y\in\Z[\mathrm i]\}\),其中范数最小的非零元素为 \(\delta\),则对于任意 \(\eta\mid\alpha,\eta\mid\beta\) 都有 \(\eta\mid\delta\),对于任意 \(u\in S\),由带余除法将 \(u\) 表示为:

\[u=\eta\delta+\gamma\qquad 0\le N(\gamma)<N(\beta) \]

\(N(\delta)\) 的最小性可推出 \(N(\gamma)=0\)\(\gamma=0,\,\delta\mid\gamma\) . 从而 \(\delta=\gcd(\alpha,\beta)\) . 进而可以证得原命题 .

\(\textbf{定理 2.3.6}\)

\(\Z[\mathrm i]\) 是唯一分解整环 .

(这可以由定理 2.3.5 和定理 2.2.4 直接导出)

\(\textbf{定理 2.3.7}\)

对于 \(n\in\N\)\(\Z[\mathrm i]\) 中范数等于 \(n\) 的个数:

\[E(n)=4\sum_{d\mid n}\chi(d) \]

其中 \(\chi(n)=(-1)^{\frac{(d-1)}2}[2\nmid d]\) .

关于这个定理的证明可以参考参考文献 [2] [3](注意这意味可能需要导出对下一个定理的其他证明).

\(\textbf{定理 2.3.8}\)

\(\xi\in\Z[\mathrm i]\) 是素数,当且仅当 \(\xi\) 满足下列条件之一:

  1. \(N(\xi)=2\) .
  2. \(N(\xi)=p\),其中 \(p\equiv1\pmod 4\) 是正有理素数 .
  3. \(\xi\sim p\),其中 \(p\equiv3\pmod 4\) 是正有理素数 .
证明

充分性:前两个显然,对于 3,设 \(\xi=\alpha\beta\) 其中 \(\alpha,\beta\neq\varepsilon\)\(p^2=N(\xi)=N(\alpha)N(\beta)\),那么 \(N(\alpha)=N(\beta)=p\),这与定理 2.3.7 矛盾 .

必要性:由算术基本定理可知存在 \(\{q\}\) 满足:

\[\xi\overline{\xi}=N(\xi)=q_1q_2\cdots q_r \]

其中 \(q_i\) 是正有理素数 . 由 \(\xi\) 是素数可得存在 \(q_i\) 使得 \(\xi\mid q_i\),进而 \(N(\xi)\mid N(q_i)=q_i^2\),即 \(N(\xi)=q_i\)\(N(\xi)=q_i^2\) .

\(N(\xi)=q_i\) 则必然前两个有一个成立,否则可以和 \(\xi\mid q_i\) 共同推出 \(\xi\sim q_i\) . 根据定理 2.3.7 可以得出 \(q_i\equiv 3\pmod 4\) .

命题得证 .

\(\Z[\mathrm i]\) 上的基本数论算法

Euclid 算法

问题:计算不全为零的 \(\alpha,\beta\in\Z[\mathrm i]\) 的最大公约数 .

\(\textbf{引理 3.1.1}\)

对于 \(\alpha,\beta\in\Z[\mathrm i]\)\(\alpha\neq 0\),有 \(\gcd(\alpha,\beta)=\gcd(\beta\bmod\alpha,\alpha)\) .

证明

写成带余除法形式:

\[\beta=\eta\alpha+\gamma\qquad 0\le N(\gamma)\le\tfrac{N(\alpha)}2 \]

\(\Delta=\gcd(\alpha,\beta)\),则由定义和带余除法的式子可知 \(\Delta\mid\gamma\) .

另一方面对于任意 \(\delta\mid\alpha,\delta\mid\gamma\),根据带余除法的式子可以得到 \(\delta\mid\beta\),所以 \(\delta\mid\Delta\) .

从而根据定义可以得到 \(\gcd(\gamma,\alpha)=\Delta=\gcd(\alpha,\beta)\) .

命题得证 .

按上式递归处理,每次递归较小的范数至少减少一般,所以 \(\Z[\mathrm i]\) 上的 Euclid 算法的时间复杂度为 \(O(\log(N(\alpha)+N(\beta)))\) .

标准分解

问题:对于非零数 \(\alpha\in\Z[\mathrm i]\),将其表示为若干高斯素数的乘积 .

试除法:很容易得到时间复杂度为 \(\Theta(\sqrt{N(\alpha)})\) .

改进:令 \(\alpha=a+b\mathrm i\),记 \(d=\gcd(a,b)\),显然 \(d\mid\alpha\),记 \(\alpha_1=\tfrac{\alpha}d=a_1+b_1\mathrm i\) .

不难导出 \(\alpha_1\) 没有非平凡有理整数因子 .

考虑分解 \(\alpha_1\),这等价于寻找一个 \(\alpha_1\) 的素因子 \(\beta\) .

\(N(\alpha_1)\) 的标准分解为(\(\{p\}\) 是升序序列):

\[N(\alpha_1)=\prod_{i=1}^kp_i^{r_i} \]

讨论:

  • \(p_1=2\) 时,取 \(\beta=1+\mathrm i\) 即可 .

  • \(p_1\equiv 1\pmod 4\) 时,记 \(\gamma_1,\gamma_2\) 时满足范数等于 \(p_1\) 的两个互不相伴的高斯整数,不难得到 \(\gamma_1,\gamma_2\) 中至少有一个满足条件 .

  • \(p_1\equiv 3\pmod 4\) 时,令 \(\alpha_2=\tfrac{\alpha_1}{\beta}\),则 \(p_1\mid N(\alpha_1)=N(\beta)N(\alpha_2)\) .

    \(p_1\) 为有理素数可知 \(p_1\mid N(\beta)\)\(p_1\mid N(\alpha_2)\) . 根据定理 2.3.8,这表明 \(\beta=p_1\)\(\alpha_2=p_1\),这与 \(\alpha_1\) 没有非平凡有理整数因子矛盾 .

从而不断进行过程可以把问题转为在 \(\Z[\mathrm i]\) 中分解有理素数 \(p\equiv 1\pmod 4\) .

\(\textbf{引理 3.2.1}\)

对于有理素数 \(p\equiv 1\pmod 4\),在 \([0,p)\) 间的有理整数 \(z^2\equiv-1\pmod p\),记 \(\xi=\gcd(p,z+\mathrm i)\),则 \(\xi\overline\xi=p\) .

证明

只需要证明 \(N(\xi)=p\) .

因为 \(\xi\mid p\)\(\xi\mid z+\mathrm i\),所以:

\[N(\xi)\mid\gcd(N(p),N(z+\mathrm i))=p \]

由题设知存在 \(x,y\in\Z\) 使得 \(p=x^2+y^2\)(费马平方和定理,证明可见参考文献 [2] [4]),由此 \(\gcd(x,y)=\gcd(x,p)=1\) 以及:

\[0\equiv x^2+y^2\equiv x^2-z^2y^2\equiv(x+yz)(x-yz)\pmod p \]

分别考虑 \(p\mid x-yz\)\(p\mid x+yz\) 的情况,做法类似,此处以 \(p\mid x-yz\) 为例 . 设 \(x=yz+kp\) 其中 \(k\in\Z\),则:

\[x+y\mathrm i=(yz+kp)+y\mathrm i=y(z+\mathrm i)+kp \]

\((x+y\mathrm i)\mid p\)\(\gcd(x+y\mathrm i,y)=1\),从而 \((x+\mathrm yi)\mid(z+\mathrm i)\),进而 \((x+y\mathrm i)\mid\xi\),从而 \(N(\xi)=p\) .

命题得证 .

所以每次分解 \(p\) 只需要找出 \(p\) 的一个二次非剩余 \(c\)(随的话期望随两次),取 \(z=c^{\frac{p-1}4}\pmod p\) 即可,然后只需要算出 \(\xi\) 就可以完成对 \(p\) 的分解,这部分使用 Euclid 算法即可 .

显然这部分的总时间复杂度为 \(O(\log^2N(\alpha))\)

从而算法的时间复杂度为 \(\Theta(\operatorname{factor}(N(\alpha)))\),其中 \(\operatorname{factor}(n)\)\(\Z\) 上的素因数分解复杂度 .

\(\Z[\mathrm i]\) 上数论函数的相关问题

基本定义

为了方便,记:

\[\begin{aligned}&D^+=\{a+b\mathrm i\mid a\in\N_+,b\in\N\}\\&D=D^+\cup\{0\}\end{aligned} \]

显然 \(D\)\(\Z[\mathrm i]\) 的一个代表集 .

再记:

\[\begin{aligned}&T(n)=\{\alpha\in D\mid N(\alpha)=n\}\\&S(n)=\{\alpha\in D\mid 1\le N(\alpha)\le n\}\end{aligned} \]

\(\textbf{定义 4.1.1}\text{ (数论函数)}\)

称函数 \(f:D^+\to\mathbb C\)\(\Z[\mathrm i]\) 上的数论函数 .

\(\textbf{定义 4.1.2}\text{ (积性函数)}\)
对于 \(\Z[\mathrm i]\) 上的数论函数 \(f\),如果对于任意 \(\alpha,\beta\in D^+\)\(\gcd(\alpha,\beta)=1\) 都有 \(f(\alpha\beta)=f(\alpha)f(\beta)\),则称 \(f\)\(\Z[\mathrm i]\) 上的积性函数 .

\(\textbf{定义 4.1.3}\text{ (完全积性函数)}\)

对于 \(\Z[\mathrm i]\) 上的数论函数 \(f\),如果对于任意 \(\alpha,\beta\in D^+\) 都有 \(f(\alpha\beta)=f(\alpha)f(\beta)\),则称 \(f\)\(\Z[\mathrm i]\) 上的完全积性函数 .

\(\textbf{定义 4.1.4}\text{ (Dirichlet 卷积)}\)

对于 \(\Z[\mathrm i]\) 上的数论函数 \(f,g\),定义其 Dirichlet 卷积:

\[(f*g)(\alpha)=\sum_{\delta\mid\alpha}f(\delta)g\left(\dfrac{\alpha}{\delta}\right) \]

\(\textbf{定理 4.1.1}\)

对于任意 \(\alpha\in D^+\),对于 \(\beta\in S(n)\)\(\alpha\beta\) 遍历所有 \(S(N(\alpha)n)\)\(\alpha\) 的倍数 .

常见数论函数

对于 \(\alpha,\beta\in\Z[\mathrm i]\),称 \(\gcd(\alpha,\beta)\)\(\alpha,\beta\) 的最大公约数在 \(D\) 中的相伴数 .

\(\textbf{定义 4.2.1}\text{ (同余)}\)

\(\alpha,\beta,\gamma\in\Z[\mathrm i]\)\(\gamma\neq 0\)\(\alpha\)\(\beta\) 同余当且仅当 \(\gamma\mid(\alpha-\beta)\),记作 \(\alpha\equiv\beta\pmod{\gamma}\) .

\(\textbf{定义 4.2.2}\text{ (剩余类)}\)

\(0\neq\gamma\in\Z[\mathrm i]\),将 \(\Z[\mathrm i]\) 按照模 \(\gamma\) 是否同余分为两两不相交的等价类,这些等价类称作模 \(\gamma\) 的剩余类,其个数记作 \(R(\gamma)\) .

\(\textbf{定义 4.2.3}\text{ (完全剩余系)}\)

\(0\neq\gamma\in\Z[\mathrm i]\),对 \(\gamma\) 的每一个剩余类取一个元素作为代表,得到的 \(R(\gamma)\) 个元素称作模 \(\gamma\) 的一个完全剩余系 .

\(\textbf{定理 4.2.1}\)

对于范数不为 \(0\)\(\gamma=a+b\mathrm i\in\Z[\mathrm i]\),记录 \(g=\gcd(a,b)\),则:

\[x_{m,n}=m+n\mathrm i\qquad0\le m<\frac{N(\gamma)}g,\,0\le n\le g \]

是模 \(\gamma\) 的一个完全剩余系 .

证明

先证明 \(x_{m,n}\) 两两不同余,假设 \(x_{m,n}\equiv x_{m',n'}\pmod{\gamma}\),则设

\[n\gamma=x_{m,n}-x_{m',n'}=(m-m')+(n-n')\mathrm i \]

\(g\mid\gamma\) 可知 \(g\mid(m-m')+(n-n')\mathrm i\),进而 \(g\mid n-n'\),由 \(n\) 的范围知 \(n=n'\) .

再设 \(\eta=c-d\mathrm i\),则 \(\eta\gamma=(ac+bd)+(bc-ad)\mathrm i\),因此:

\[\dfrac ag\cdot d=\dfrac bg\cdot c\qquad\gcd\left(\dfrac ag,\dfrac bg\right)=1 \]

由整数的性质有 \(\frac ag\mid c\),因此 \(\frac{cg}a=\frac{dg}b=k\in\Z\),于是

\[m-m'=ac+bd=k\cdot\dfrac{a^2+b^2}g \]

\(\frac{N(\gamma)}g\mid(m-m')\),由 \(m\) 的范围知 \(m=m'\) . 因此可得 \(x_{m,n}=x_{m',n'}\) .

再证明对于任意 \(\alpha=x+y\mathrm i\in\Z[\mathrm i]\),都存在 \(x_{m,n}\)\(\alpha\) 同余 .

由带余除法:

\[\begin{aligned}&y=q_2g+n& q_2\in\Z,\,0\le n<g\\&x-q_2(ax_0-by_0)=q_1\cdot\frac{N(\gamma)}g+m&q_1\in\Z,\,0\le m<\frac{N(\gamma)}g\end{aligned} \]

其中 \((x_0,y_0)\)\(ay_0+bx_0=g\) 的一组整数解 . 于是

\[\alpha=m+n\mathrm i+q_1\cdot\dfrac{N(\gamma)}g+q_2\theta \]

其中 \(\theta=(ax_0-by_0)+g\mathrm i\) .

\[\begin{aligned}\theta&=(ax_0-by_0)+g\mathrm i\\&=(ax_0-by_0)+(ay_0+bx_0)\mathrm i\\&=(a+b\mathrm i)(x_0+y_0\mathrm i)\end{aligned} \]

于是 \(\alpha\equiv m+n\mathrm i\pmod\gamma\) .

命题得证 .

直接推论:\(R(\alpha)=N(\alpha)\) .

\(\textbf{定义 4.2.4}\text{ (既约剩余系)}\)

\(0\neq\gamma\in\Z[\mathrm i]\),模 \(\gamma\) 的一个完全剩余系中满足所有 \(\gcd(\alpha,\gamma)=1\) 的元素 \(\alpha\) 组成模 \(\gamma\) 的一个既约剩余系 .

下面定义一些常用数论函数:

  • 单位函数 \(\varepsilon(\alpha)=[\alpha=1]\) .
  • 幂函数 \(\mathrm{Id}_k(\alpha)=\alpha^k\),当 \(k=1\) 时也记作 \(\mathrm{Id}(\alpha)\) .
  • Mobius 函数:令 \(\alpha\) 的标准分解 \(\alpha=\prod_{i=1}^r\xi_i^{k_i}\),则:

    \[\mu(\alpha)=\begin{cases}0&\exists k_i>1\\(-1)^r&\text{otherwise.}\end{cases} \]

  • Euler 函数 \(\varphi(\gamma)\) 表示模 \(\gamma\) 的既约剩余系大小 .

\(\textbf{定理 4.2.2}\)

对于 \(\alpha\in D^+\)

\[\sum_{\delta\mid\alpha}\mu(\delta)=\varepsilon(\alpha) \]

\(\textbf{定理 4.2.3}\)

对于 \(\alpha\in D^+\)

\[\sum_{\delta\mid\alpha}\varphi(\delta)=N(\alpha) \]

证明

考虑 \(\alpha\) 的一个完全剩余系中的每个数 \(\beta\),取 \(\Delta=\gcd(\alpha,\beta)\),则 \(\gcd(\frac{\alpha}{\Delta},\frac{\beta}{\Delta})=1\) .

考虑 \(\alpha',\beta'\) 分别为 \(\frac{\alpha}{\Delta},\frac{\beta}{\Delta}\)\(D\) 中的相伴数,则所有这样的 \(\beta'\) 组成了 \(\alpha'\) 的一个既约剩余系,因此 \(\alpha\) 所有因数既约剩余系的大小之和与 \(\alpha\) 的完全剩余系大小相等 .

命题获证 .

\(\textbf{定理 4.2.4}\)

对于 \(\alpha\in D^+\) 且其标准分解 \(\alpha=\prod_{i=1}^r\xi_i^{k_i}\),有

\[\varphi(\alpha)=\prod_{i=1}^rN(\xi_i^{k_i})\left(1-\dfrac1{N(\xi_i)}\right) \]

证明

由定理 9.3 得 \(\varphi*1=N\),从而 \(\varphi\) 为积性函数,对于素数幂 \(\eta^c\) 处:

\[\varphi(\eta^c)=N(\eta^c)-N(\eta^{c-1})=N(\eta^c)\left(1-\dfrac1{N(\eta)}\right) \]

命题获证 .

线性筛

问题:

  • 求范数不超过 \(n\) 的所有高斯素数 .
  • 求一个积性函数在范数不超过 \(n\) 的所有高斯整数处的值 .

仿照 \(\Z\) 中的算法设计算法流程:按范数从小到大枚举高斯整数 \(\alpha\),如果 \(\alpha\) 未被更新,则记录 \(\alpha\) 为高斯素数,依次枚举 \(\alpha\) 及以前的高斯素数 \(\xi\),更新 \(\alpha\cdot\xi\),当 \(\xi\mid\alpha\) 时,停止枚举 .

每个高斯非素数 \(\alpha\) 只会被作为 \(\frac{\alpha}{\operatorname{lpf}(\alpha)}\cdot\operatorname{lpf}(\alpha)\) 更新一次,其中 \(\operatorname{lpf}(\alpha)\)\(\alpha\) 范数最小的素因子 . 从而时间复杂度为 \(\Theta(n)\) .

杜教筛

问题:对于数论函数 \(f\),存在容易计算块筛的函数 \(g,f*g\),计算 \(f\) 的块筛 .

对于函数 \(f\),设:

\[F(n)=\sum_{\alpha\in S(n)}f(\alpha) \]

\[\sum_{\alpha\in S(n)}(f*g)(\alpha)=\sum_{i=1}^n\sum_{\alpha\in T(i)}g(\alpha)F\left(\left\lfloor\dfrac ni\right\rfloor\right) \]

也就是

\[F(n)=\dfrac1{g(1)}\left(\sum_{\alpha\in S(n)}(f*g)(\alpha)-\sum_{i=2}^n\sum_{\alpha\in T(i)}g(\alpha)F\left(\left\lfloor\dfrac ni\right\rfloor\right)\right) \]

根据类似的分析可以得到其时间复杂度为 \(\Theta(n^{2/3})\) .

min25 筛

问题:对于数论函数 \(f\)\(f\) 在素数处可以快速求前缀和,计算 \(f\) 的前缀和 .

对于高斯整数的定序:按范数为第一关键字,实部为第二关键字排序 .

令:

\[\begin{aligned}&g_{n,m}=\sum_{\substack{2\le N(\alpha)\le n\cr\alpha\,不含\,\le m\,的素因子}}f(\alpha)\\&h_n=\sum_{\alpha\,是\,\le n\,的素数}f(\alpha)\end{aligned} \]

\[g_{n,m}=h_n-h_m+\sum_{\substack{\xi\in S(\sqrt n)\land N(\xi^e)\le n\cr \xi\,是\,\ge m\,的素数}}f(\xi^e)([e>1]+g_{\lfloor\frac n{N(\xi^e)}\rfloor,p}) \]

令完全积性函数 \(f'(\xi)=f(\xi)\)\(\eta_i\) 是第 \(i\) 个素数(只需要考虑范数不超过 \(\sqrt n\) 的),且

\[h'_{i,n}=\sum_{\substack{2\le N(\xi)\le n\cr \xi\,是素数或没有\,\le\eta_i\,的素因子}}f'(\xi) \]

\[h'_{i,n}=h'_{i-1,n}-f'(\eta_i)\left(h'_{i-1,\lfloor\frac n{N(\eta_i)}\rfloor}-h'_{i-1,N_{\eta_{i-1}}}\right) \]

递归计算即可 . 这里范数相同的高斯素数处要进行特殊处理 .

范数不超过 \(n\) 的高斯素数只有 \(O(\pi(n))\) 个,所以只要 \(h'_0\) 可以快速求出则可以在和 \(\Z\) 上的 min25 筛同样的时间复杂度内计算 \(f\) 的前缀和 . 也就是 \(n\) 较小时 \(O(\frac{n^{3/4}}{\log n})\) .

一些例子

Bezout 定理

GCD

给两个非零数 \(x,y\in\Z[\mathbb i]\),输出形如 \(ax+by\)(其中 \(a,b\in\Z[\mathrm i]\))的非零复数中模长最小的那个 .

\(x,y\) 实部虚部的绝对值均不超过 \(10^9\) .

根据 Bezout 定理,输出 \(\gcd(x,y)\) 即可 .

时间复杂度为 \(O(\log(N(x)+N(y)))\) .

Mobius 反演

于神之怒

给定正整数 \(k\),每次询问给定正整数 \(n,m\),求:

\[\sum_{\alpha\in S(n)}\sum_{\beta\in S(m)}\gcd(\alpha,\beta)^k \]

不超过 \(2000\) 次询问,\(n,m,k\le5\times10^5\),对素数取模 .

\[\begin{aligned}\mathrm{ans}&=\sum_{\alpha\in S(n)}\sum_{\beta\in S(m)}\sum_{\delta\mid\gcd(\alpha,\beta)}\delta^k\sum_{\tau\mid\delta}\mu(\tau)\\&=\sum_{\Delta\in S(n)}C\left(\left\lfloor\dfrac n{N(\Delta)}\right\rfloor\right)C\left(\left\lfloor\dfrac m{N(\Delta)}\right\rfloor\right)\sum_{\delta\mid\Delta}\delta^k\mu\left(\dfrac{\Delta}{\delta}\right)\\&=\sum_{i=1}^nC\left(\left\lfloor\dfrac ni\right\rfloor\right)C\left(\left\lfloor\dfrac mi\right\rfloor\right)\sum_{\Delta\in T(i)}\sum_{\delta\mid\Delta}\delta^k\mu\left(\dfrac{\Delta}{\delta}\right)\end{aligned} \]

其中 \(C(n)\) 表示 \(D^+\) 中范数不超过 \(n\) 的元素个数 .

那么可以 \(\Theta((n+m)\log k+q(\sqrt n+\sqrt m))\) 算 .

杜教筛

Sum

每次询问给定正整数 \(n\),求:

\[\sum_{\alpha\in S(n)}\mu(\alpha)\qquad \sum_{\alpha\in S(n)}\varphi(\alpha) \]

不超过 \(10\) 次询问,\(n\le 2^{32}-1\) .

杜教筛构造是熟知的:\(\mu*1=\varepsilon\)\(\varphi*1=N\) .

计算 \(1\)\(N\) 的前缀和时,对于 \(x^2+y^2\le n\),用 \(\Theta(\sqrt n)\) 的时间枚举 \(x\) 即可,总时间复杂度为 \(\Theta(n^{2/3})\) .

JZPTAB

给定正整数 \(n\),求:

\[\sum_{\alpha\in S(n)}\sum_{\beta\in S(n)}\dfrac{\alpha\beta}{\gcd(\alpha,\beta)} \]

\(n\le 10^{10}\) .

一个综合应用 . 仿照于神之怒的推法最终得到的式子是:

\[\sum_{i=1}^nC\left(\left\lfloor\dfrac ni\right\rfloor\right)^2\sum_{\Delta\in T(i)}\Delta^2\sum_{\delta\mid\Delta}\dfrac1{\delta}\mu\left(\dfrac{\Delta}{\delta}\right) \]

对于 \(f=\mathrm{Id}_2\cdot(\mathrm Id_{-1}*\mu)\),构造 \(f*\mathrm{Id}_2=\mathrm{Id}\) 即可 . 时间复杂度为 \(\Theta(n^{2/3})\) .

min25 筛

整点计数

\(f(x)\) 表示以原点为圆心,\(x\) 为半径的圆上整点的个数 . 给定 \(n,k,p\),计算:

\[\sum_{i=1}^nf(i)^k \]

答案对 \(p\) 取模 .

\(1\le n,k\le 10^{11}\) .

根据定理 2.3.7 可以知道的是:

\[f(n)=4\cdot\sum_{d\mid n^2}\chi(d) \]

因为 \(\chi\) 是完全积性函数,所以 \(\displaystyle\sum_{d\mid n^2}\chi(d)\) 是积性函数,那么也就意味着 \(\frac{f(n)}4\) 是积性函数 .

使用 min25 筛计算即可,需要对素因子模 4 的值进行讨论 . 时间复杂度为 \(\Theta(\frac{n^{3/4}}{\log n})\) .

另一方面,根据定理 2.3.8 可以转为高斯素数处的积性函数求和,这是 min25 筛能解决的 .

Reference

[1] 李佳衡《算法竞赛中一些数论问题的推广与高斯整数初探》

[2] 徐翊轩《〈整点计数〉命题报告以及对高斯整数的若干研究》

[3] 二次域 - OI Wiki

[4] 社论 22.10.20 高斯整数环 - joke3579

posted @ 2023-10-01 01:54  Jijidawang  阅读(35)  评论(1编辑  收藏  举报
😅​