社论 22.10.20 高斯整数环
二维圆周数点与高斯整数环
所以来水社论了(
给定 \(r\)。这给出了圆 \(C:x^2+y^2=r^2\)。求在 \(C\) 圆周上的整点个数。
\(r\leq 10^{14}\)。
数论题。
记 \(N = r^2\)。于是我们需要求的是数对 \((x,y) \text{ s.t. } x^2 + y^2 = N\) 的数量。
引入一个东西:高斯整数。高斯整数是形如 \(a+bi\) 的复数,满足 \(a,b\in \mathbb Z\) 。
在高斯整数集上定义 \(\{+,\times\}\):
- \((a+bi) + (c+di) = (a+b) + (c+d)i\)
- \((a+bi)\times (c+di) = (ac - bd) + (ad+bc)i\)
就得到了一个高斯整数环 \(\text Z[i]\)。
容易发现 \(\text Z[i]\) 是交换环,证明考虑复数运算的性质。但是 \(\text Z[i]\) 不是除环,证明考虑高斯整数和复数运算的性质。
非除环里有乘法逆元的元素称为环的单位。\(\text Z[i]\) 上的单位只有四个:\(\{\pm 1, \pm i\}\)。
证明: \(+1\) 为幺元。容易发现 \((-1)\times (-1) = 1,i\times (-i) = 1\)。因此得证。
定义一个高斯整数 \(z = a+bi\) 的范数 \(N(z) = z\times \bar z\),其中 \(\bar z\) 为 \(z\) 的共轭复数。其实 \(N(z) = ||z||\),只是换了一种表述,更方便了点。我一般会直接管它叫 norm
定理:\(N(ab) = N(a)N(b)\)。易证。
这表明了范数是积性的。
回到两段前。我们可以使用范数重新发现一遍单位。
假设 \(\alpha = a+bi\) 是一个单位。那就肯定存在一个 \(\beta = c+di\) 满足 \(\alpha \beta = 1\)。两边取范数得到
\(N(\alpha \beta ) = N(1) = 1\)。然后得到 \((a^2+b^2)(c^2+d^2) = 1\)。由于 \(a,b,c,d\in \mathbb Z\),因此 \(a^2+b^2 = 1\)。这个方程的解只有 \((\pm 1,0), (0,\pm1)\)。于是得到四个单位 \(\{\pm 1, \pm i\}\)。
然后定义一个高斯整数 \(\alpha = a + bi\) 是规范的,当且仅当 \(a > 0, b\ge 0\)。在之后的讨论中我们可以发现,规范的高斯整数的作用与正整数类似。
引入一个高斯素数:高斯素数在 \(\text Z[i]\) 上是乘法不可约的。也就是说你没法再找出两个 \(\in \text Z[i]\) 且非单位的元素的乘积表出一个高斯素数。
例如 \(2\) 在 \(\text Z[i]\) 上可以被表为 \((1+i)(1-i)\)。
现在我们有了一个很优美的刻画。关于它,有一个更优美的定理。
\(\text{Theorem 1}\) 高斯素数定理
可以用以下的方式描述高斯素数:
- \(1+i\) 为高斯素数。
- 设 \(p\) 为普通素数且 \(p\equiv 3 \pmod 4\),则 \(p\) 本身是高斯素数。
- 设 \(p\) 为普通素数且 \(p\equiv 1 \pmod 4\),则在将 \(p\) 表为两平方数之和 \(u^2+v^2\) 后,\(u + vi\) 是高斯素数。
任何高斯素数等于一个单位乘上形式 1. 2. 或 3. 中的素数。
证明:
对于 1. 和 3.,我们发现若 \(N(p)\) 为一个普通素数,则 \(p\) 必为一个高斯素数。这点可以由 \(p\equiv 1 \pmod 4\) 素数唯一表为两平方和的性质证明。
对于 2.,采用反证法。令 \(p\) 为一个如题设的素数,假设 \(p\) 可以表为两个高斯整数的乘积,即 \((a+bi)(c+di) = p\),则取范数得
为得到非平凡因式分解,我们需要解方程 \((a^2+b^2) = p,(c^2+d^2) = p\)。由于 \(p\equiv 3 \pmod 4\),因此 \(p\) 无法表为两平方数之和。故原设不成立,因此结论正确。
因此我们得到了充分性。现在需要推导必要性。这里使用引理。
\(\text{Lemma 1}\) 高斯整数的整除性引理
这里仍然记整除符号为 \(\mid\)。
设 \(\alpha = a+bi\) 为高斯整数。则有
- 若 \(2 \mid N(\alpha)\),则 \((1+i) \mid \alpha\)。
- 若 \(p\) 为形式 2. 的素数,并假设 \(p\mid N(\alpha)\),则 \(p\mid \alpha\)。
- 若 \(p = u+ vi\) 为形式 3. 的素数,假设 \(N(p) \mid N(\alpha)\),则 \(p \mid \alpha\) 和 \(\bar{p}\mid\alpha\) 中定有一个成立。
证明
1.
我们已知 \(2 \mid N(\alpha)\),即 \(2\mid (a^2 + b^2)\)。因此 \(a,b\) 具有相同的奇偶性。因此 \(a+b\) 和 \(-a+b\) 都可以被 \(2\) 整除。这表明
也是一个高斯整数。因此 \((1+i) \mid \alpha\)。
2.
我们已知 \(p \equiv 3 \pmod 4\) 且 \(p\mid (a^2+b^2)\)。这表明 \(a^2 \equiv -b^2 \pmod p\)。因此可以通过计算勒让德符号得知 \(p\mid a\) 且 \(p \mid b\):
由于 \(p \equiv 3 \pmod 4\),由二次互反律得到 \(\left(\frac{-1}{p}\right) = -1\) 。这表明
如果\(a,b\) 不满足 \(p\mid a\) 且 \(p \mid b\),则我们得到了 \(-1 = 1\)。这与事实相悖,因此我们证明了 \(p\mid a\) 且 \(p \mid b\) 。设 \(a = pa',b = pb'\),则 \(\alpha = a + bi = p(a' + b'i)\)。因此 \(p \mid \alpha\)。
3.
我们已知 \(N(p) \mid N(\alpha)\)。所以设 \(N(\alpha) = a^2 + b^2 = N(p)K \text{ s.t. } K\in N^+\)。
我们需要证明以下两个数中至少一个为高斯整数:
首先观察到 \((au+bv)(au-bv) = a^2u^2 + b^2v^2 = (a^2 + b^2)u ^2 - N(p)b^2 = N(p)(Ku^2 - b^2)\)。这表明了 \((au+bv)\) 和 \((au-bv)\) 中至少有一个可以被 \(N(p)\) 整除。同样的推导可以证明 \((av + bu)\) 和 \((-av + bu)\) 中至少有一个能被 \(N(p)\) 整除。
当其中一个分数对应的两个和式均能被整除时答案是平凡的,现在讨论当 \((au + bv)\) 和 \((av + bu)\) 均可被 \(N(p)\) 整除的情况,当另一种情况时可以平凡推广。
我们已经证明了 \(N(p)\) 整除 \((au + bv)\) 和 \((av + bu)\) ,因此 \(N(p)\) 整除 \((b^2 - a^2)v\)。由于 \(v^2 \le N(p)\),因此 \(N(p) \mid (b^2 - a^2)\)。然而我们知道 \(N(p) | (a^2 + b^2)\),因此 \(N(p) \mid 2a^2\),\(N(p) \mid 2b^2\) 。
由于 \(N(p)\neq 2\),因此我们最终能推出 \(N(p)\mid a\) 且 \(N(p)\mid b\)。
自然地,我们可以将 \(\alpha\) 表为 \(p \bar p(a' + b'i)\),其中 \(a = N(p)a',b = N(p)b'\)。
因此 \(p\mid\alpha\)。
这也就证明了 \(\text{Lemma 1}\)。\(\square\)
假设 \(\alpha = a+bi\),则我们需要证明的是 \(\alpha\) 必定属于 1. 2. 或 3. 中的一种。这里令 \(\alpha\) 不是单位,因此 \(N(\alpha) \neq 1\)。因此至少有一个素数 \(p\) 整除 \(N(\alpha)\)。
首先考虑 \(p\) 为 \(2\) 的情况。由 \(\text{Lemma 1}\) 的 1. 部分,\((1+i) \mid \alpha\)。但已经假设了 \(\alpha\) 为素数,因此 \(\alpha\) 必等于 \((1+i)\) 乘一个单位。因此 \(\alpha\) 属于形式 1.。
然后假设 \(p \equiv 3\pmod 4\)。由 \(\text{Lemma 1}\) 的 2. 部分,\(p \mid \alpha\)。但已经假设了 \(\alpha\) 为素数,因此 \(\alpha\) 必等于 \(p\) 乘一个单位。因此 \(\alpha\) 属于形式 2.。
最后假设 \(p \equiv 1\pmod 4\)。由两平方数之和定理,\(p\) 可以被表为两平方数之和 \(u^2 + v^2\)。又由 \(\text{Lemma 1}\) 的 3. 部分,\(\alpha\) 要么被 \(u + vi\) 整除,要么被 \(u - vi\) 整除,由于 \(\alpha\) 是素数,其必等于 \(p\) 乘一个单位。特别的, \(a^2 + b^2 = u^2 + v^2 = p\),因此 \(\alpha\) 属于形式 3.。
这就证明了必要性。
因此这证明了 \(\text{Theorem 1}\) 的充要性质。\(\square\)
既然已经有了高斯素数的详尽表示,我们的下一步就是用素数来表出高斯整数环上的每个元素。即,我们要证明高斯整数环上的唯一分解。
\(\text{Theorem 2}\) 高斯整数环的 \(\text{UFD}\) 性质
每个高斯整数 \(\alpha \neq 0\) 都可以被唯一分解为一个单位 \(u\) 乘以一系列规范的高斯素数的乘积:
\[\alpha = u\pi_1^{e_1}\pi_2^{e_2}\cdots\pi_r^{e_r} \]其中 \(\pi_1,\pi_2,\cdots,\pi_r\) 互不相同,\(\forall e_i > 0\)。特殊地,若 \(\alpha\) 是单位,则重写为 \(\alpha = u\)。
证明:我们采用反证法。
首先假设:至少存在一个非零的高斯整数不可分解为素数的乘积。
我们选取所有满足这个假设的高斯整数中范数最小的数,记作 \(\alpha\)。这里不妨令 \(\alpha\) 既不是高斯素数,也不是单位,因为这两种都不可能不可分解。
由于 \(\alpha\) 不是素数也不是单位,其一定可以被分解为两个不是单位的高斯整数 \(\beta\) 和 \(\gamma\) 的乘积。
现在考虑 \(N(\beta)\) 和 \(N(\gamma)\)。由于 \(\beta,\gamma\) 不是单位,因此 \(N(\beta) > 1,N(\gamma) > 1\)。由范数的积性与 \(\alpha = \beta \gamma\) 得到
而我们选择的 \(\alpha\) 是范数最小的不可分解数,因此 \(\beta\) 和 \(\gamma\) 都可以被分解为高斯素数的乘积,而这也表明 \(\alpha\) 同样能被分解为高斯素数的乘积。
这与假设矛盾,因此原命题成立。这给出了原命题的充分性。
随后假设:至少存在一个非零的高斯整数,存在两个及以上的素数分解。
我们选取所有满足这个假设的高斯整数中范数最小的数,记作 \(\alpha\)。由题设,我们有
其中所有素数都是规范的素数。
显然 \(\alpha\) 不可为单位,否则有 \(\alpha = u = u'\),因此这两个分解是相同的。这就表明了 \(r\ge 1\)。
取第一个分解中的第一个素数 \(\pi_1\),我们有 \(\pi_1 \mid u'\pi_1'\pi_2'\cdots \pi_s'\)。由于 \(\pi_1 \nmid u'\),我们不妨假设 \(\pi_1 \mid \pi_1'\)。然而 \(\pi_1 '\) 是高斯素数,因此有 \(\pi_1 = [单位] \times \pi_1'\)。由于这里的素数都是规范的,因此这个单位为 \(1\)。于是有 \(\pi_1 = \pi_1'\)。
设 \(\beta = \frac \alpha {\pi_1} = \frac \alpha {\pi_1 '}\)。这表明了
即 \(\beta\) 有两个不同的因子分解。然而 \(N(\beta) = \frac {N(\alpha)}{N(\pi_1)} < N(\alpha)\),这表明 \(\alpha\) 不是有两个不同的因子分解的范数最小的数。
这与假设矛盾,因此原命题成立。这给出了原命题的必要性。
综上,我们给出了 \(\text{Theorem 2}\) 的充要性。\(\square\)
到了这里,我们终于可以开始解决上面那道题了。
我们记 \(R(N) = 将 N 写成两平方数之和的方案数\) 。
\(\text{Lemma 2}\) 勒让德两平方数之和定理 第一部分
若整数 \(N\) 分解为普通素数的乘积
\[N = 2^t\times p_1^{e_1}\cdots p_r^{e_r}\times q_1^{f_1}\cdots q_s^{f_s} \]其中 \(p_1,\cdots, p_r\) 都是模 \(4\) 余 \(1\) 的,\(q_1,\cdots, q_s\) 都是模 \(4\) 余 \(3\) 的。
若 \(\ \forall\ 1\le i\le s,2\mid f_i\),则
\[R(N) = 4(e_1+1)(e_2+1)\cdots (e_r +1) \]其他情况 \(R(N) = 0\)。
证明:
现在要将 \(N\) 表为两平方数之和。设 \(N = A^2 + B^2\),这给出了
由高斯整数的唯一分解,\(A+Bi\) 为某些整除 \(N\) 的素数的乘积,\(A-Bi\) 是其余素数的乘积。
然而我们对高斯素数的选择并不完全自由,因为 \(A+Bi\) 和 \(A-Bi\) 互为共轭。也就是说,如果 \((a+bi)^e | (A + Bi)\),则 \((a-bi)^e | (A - Bi)\)。以上推理适用于任何高斯素数。
我们先将 \(N\) 分解为普通素数的乘积
随后将 \(N\) 分解为高斯整数的乘积。整数 \(2\) 分解为 \(-i(1+i)^2\),\(p_j\) 分解为 \((a_j + b_ji)(a_j - b_j i)\),\(q_j\) 本身为高斯素数。这给出了如下的分解:
若 \(f_i\) 为奇数,则 \(N\) 的分解两侧存在一个不平衡的质数 \(q_i\),因此 \(N\) 不可以被表为两平方数之和。现在假设所有的 \(f_i\) 都是偶数。我们现在只需着眼 \(p\) 的部分。
由于 \(p_j\) 对答案的贡献为 \(2e_j\),因此不妨假设 \((a_j + b_ji)\) 对 \(A+Bi\) 贡献了 \(x\) 个,对 \((A-Bi)\) 贡献了 \(e_j-x\) 个。由于 \(0\le x\le e_j\),对指数的不同选择方法计数导出了 \(p\) 部分的答案:
同时不难证明对于不同的质数,其导出的答案是不同的。因此计数不重不漏。
由于共有 \(4\) 个单位,因此我们有最终的结果
因此我们有 \(\text{Lemma 2}\) 的证明。\(\square\)
到这里似乎事情就告一段落了。我们要求的就是 \(R(N)\)。由于 \(N = r^2\),我们只需要将 \(r\) 进行质因子分解,每个质因子都可以对答案造成 \(2e_i+1\) 的贡献。又由于不可能存在不平衡的质数,因此答案一定不为 \(0\)。
code
#include <bits/stdc++.h>
using namespace std;
long long r, ans = 4;
signed main() {
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
cin >> r;
for (register int i = 2, cnt; i * i <= r; ++ i) {
if (r % i == 0) {
cnt = 0;
while (r % i == 0) cnt += 2, r /= i;
if (!(i >> 1 & 1)) ans *= cnt + 1;
}
} if (r > 1 and !(r >> 1 & 1)) ans *= 3;
cout << ans << endl;
}
到这里似乎事情就告一段落了……吗?
不。我们还可以走得更远些:
\(\text{Theorem 3}\) 勒让德两平方数之和定理
对给定的正整数 \(N\),设
- \(D_1\) = [整除 \(N\) 且满足 \(d\equiv 1\pmod 4\) 的正整数 \(d\) 的个数]
- \(D_3\) = [整除 \(N\) 且满足 \(d\equiv 3\pmod 4\) 的正整数 \(d\) 的个数]
则有
\[R(N) = 4(D_1 - D_3) \]
将 \(N\) 分解:
我们已经得到了 \(R(N)\) 的表示法,现在只需要验证
证明:对 \(s\) 采用归纳法。
当 \(s = 0\) 时,\(N = 2^t\times p_1^{e_1}\cdots p_r^{e_r}\)。因此 \(N\) 的所有素因子都是 \(d\equiv 1\pmod 4\) 的。于是 \(D_3 = 0\),\(D_1\) 是 \(N\) 的奇因子个数。
\(N\) 的奇因子是每个指数 \(u_i\) 满足 \(0\le u_i \le e_i\) 的数 \(p_1^{u_1}\cdots p_r^{u_r}\)。由计数,共有 \((e_1+1)(e_2+1)\cdots (e_r +1)\) 种可能。
这证明了 \(s = 0\) 时定理成立。
现在假设 \(q\) 模 \(4\) 余 \(3\),且 \(q \mid N\)。同时假设上述定理对所有 \(< N\) 的整数都成立。假设 \(N\) 中 \(q\) 的指数为 \(f\),这给出了 \(N = q^f n, f\ge 1, q\nmid n\)。分别讨论 \(f\) 的奇偶性。
首先考虑 \(2\nmid f\)。则 \(N\) 的奇因子形如 \(q^i d \ \text{ s.t. }\ 0\le i \le f, d \mid n\)。且对于 \(N\) 的每组 \((f+1)\) 个因子,它们都被平均地分在了 \(D_1\) 和 \(D_3\) 中。因此 \(D_1 = D_3\)。
这表明了 \(D_1 - D_3 = 0\)。
然后考虑 \(2\mid f\)。同样假设 \(N\) 的奇因子形如 \(q^i d\) 其中 \(0\le i \le f, d \mid n\)。对于 \(N\) 的每组 \((f+1)\) 个因子,当 \(i > 0\) 时,\(2 \mid i\) 和 \(2\nmid i\) 对应的两组因子被平均分在了 \(D_1\) 和 \(D_3\) 中,这部分的答案被抵消了。当 \(i=0\) 时,问题转化为对于 \(n\) 证明原定理,而这已经由归纳假设得证。
因此我们验证了 \(D_1 - D_3\) 的形式。由 \(\text{Lemma 2}\) 可以得到 \(\text{Theorem 3}\) 的最终证明。\(\square\)
例题:R(n)
是求 R(n) 的板子题。
本文内容是笔者在翻《数论概论》时写的
权当随笔 如有笔误等问题敬请指正
因为这篇有点长写的时候太卡了所以写到一半的时候转了vscode
到最后发现似乎是预览页面占的内存太大了
但是这证明的 \(\LaTeX\) 实在是太难打了啊啊啊
而且证明过程好长啊啊啊
以下是博客签名,与正文无关。
请按如下方式引用此页:
本文作者 joke3579,原文链接:https://www.cnblogs.com/joke3579/p/editorial221020.html。
遵循 CC BY-NC-SA 4.0 协议。
请读者尽量不要在评论区发布与博客内文完全无关的评论,视情况可能删除。