代数数论——复数域上的数论
会写这个是因为前几天看到了 2019 年的集训队论文,于是学习了一下
这是前两天写的每日一题的具体解答:
给出两个复数 \(x,y\in\mathbb Z[i]\),请求出一对复数 \(a,b\in\mathbb Z[i]\),使得 \(|ax+by|\) 非零且最小,输出这个最小值。\(1\leq|x|,|y|\leq 10^9\)。
sol.
这是一道论文题。题目来源:国家集训队 2019 论文集 ——「算法竞赛中一些数论问题的推广与高斯整数初探」李佳衡。
我们将说明如下的两个事实:在环 \(\mathbb Z[i]\) 上贝祖(Bezout)定理成立;在环 \(\mathbb Z[i]\) 上可以使用辗转相除法求得公约数。
若未声明,以下所有运算均在环 \(R=(M,\oplus,\otimes)\) 上进行,且不区分集合 \(M\) 与建立在 \(M\) 上的代数系统。
定义 1(公约数). 设 \(\alpha,\beta\in M\),若 \(\delta\in M,\delta\mid\alpha,\delta\mid\beta\),则称 \(\delta\) 为 \(\alpha\) 与 \(\beta\) 的公约数。
定义 2(最大公约数). 设 \(\alpha,\beta\in M\) 且不全为零元 \(\omicron\),若存在 \(\Delta\in M\) 满足 \(\Delta\mid\alpha,\Delta\mid\beta\),且对于任意 \(\alpha,\beta\) 的公约数 \(\delta\) 都有 \(\delta\mid\Delta\),那么称 \(\Delta\) 为 \(\alpha,\beta\) 的最大公约数,记做 \(\Delta=\gcd(\alpha,\beta)\)。
注意到两个数的最大公约数可能有多个,它们都是相伴的(即互相等价)。
若未声明,以下所有运算均在环 \(R=(\mathbb Z[i],+,\times)\) 上进行,且不区分集合 \(M\) 与建立在 \(M\) 上的代数系统。
定义 3(范数). 称 \(x\in\mathbb Z[i]\) 的范数(norm)为 \(N(x)=\Re^2x+\Im^2x=|x|^2\)。
定理 1. 设 \(\alpha,\beta\in\mathbb Q[i]\),则 \(N(\alpha\beta)=N(\alpha)N(\beta)\),若 \(\alpha\mid\beta\) 则 \(N(\alpha)\mid N(\beta)\)。
定理 2. 设 \(n\in \mathbb N\),则 \(\mathbb Z[i]\) 中范数等于 \(n\) 的元素只有有限个。
以上两个定理的证明十分简单,这里略去。
定理 3(带余除法). 设 \(\alpha,\beta\in\mathbb Z[i]\) 且 \(\alpha\neq 0\),那么存在 \(\eta,\gamma\in\mathbb Z[i]\),使得
Proof.
设 \(\tau=\frac\beta\alpha=r+si\in\mathbb Q[i]\),取 \(u,v\in\mathbb Z\) 为 \(\tau\) 的实部和虚部四舍五入的结果,即使得 \(|u-r|\leq \frac 12,|v-s|\leq \frac 12\)。
记 \(\eta=u+vi\in\mathbb Z[i]\),则
又有 \(\gamma=(\tau-\eta)\alpha\),故而
以下记满足 \(N(\gamma)\leq\frac 12N(\alpha)\) 的 \(\gamma\) 为 \(\beta\bmod\alpha\)。
定理 4(贝祖定理). 对于不全为 \(0\) 的 \(\alpha,\beta\in\mathbb Z[i]\),\(\Delta=\gcd(\alpha,\beta)\) 存在且存在 \(x,y\in\mathbb Z[i]\) 满足方程
Proof.
设 \(S=\{\alpha x+\beta y\mid x,y\in\mathbb Z[i]\}\),设其中范数最小的非零元素为 \(\delta\),于是由 \(\delta\in S\) 推知对于任意 \(\eta\mid\alpha,\eta\mid\beta\) 都有 \(\eta\mid\delta\)。
再设 \(\nu\in S\),由定理 3,将 \(\nu\) 表示为
现在假定 \(N(\gamma)\neq 0\),于是 \(\gamma=\nu-\eta\delta\in S\),且 \(0\neq N(\gamma)<N(\delta)\),这与 \(N(\delta)\) 最小矛盾,于是一定有 \(\gamma=0\)。故而 \(\delta\mid\nu\)。现在注意到 \(\alpha,\beta\in S\),于是 \(\delta\mid\alpha,\delta\mid\beta\),根据定义, \(\delta=\gcd(\alpha,\beta)\)。
定理 5(辗转相除法). 对于 \(\alpha,\beta\in\mathbb Z[i]\),有
证明是显然的,这里略去。
那么本题的做法就很显然了:直接求出 \(\gcd(x,y)\) 就是答案,这可以使用辗转相除法。因为每一次的余数都会严格下降一半,于是总复杂度是 \(\mathcal O(\log N(xy))\)。
Quite Easily Done.
以及一种特殊的模 \(4\) 意义下的狄利克雷特征函数:
这个函数有个性质:
定理 6. 设 \(n\in\mathbb N\),\(\mathbb Z[i]\) 中范数等于 \(n\) 的元素个数为:
证明可以参考另一篇论文「《整点计数》命题报告以及对高斯整数的若干研究」徐翊轩。