高斯整数
定义
高斯整数是集合\(Z[i] = \{ a + bi | a,b \in Z\}, \ where \ i^2 = -1\),换言之,高斯整数是实部和虚部都为整数的虚数。由于高斯整数在乘法和加法下交换,它们形成了一个交换环。
在复平面上,高斯整数是二维复平面上的整点。
高斯整数的模是它和自己共轭复数的乘积,即\(N(a+bi) = (a+bi)(a-bi)=a^2+b^2\),它的模可以表示为两个数字的平方和,所以不能表示为\(4k+1, \ where \ k \in Z\)。
带余除法
也称欧几里得除法,高斯整环\(Z[i]\)是欧几里得环,所以它具有很多在整数域和多项式域上成立的特性,比如辗转相除,裴蜀定理,主理想,\(Euclid's\ lemma\) ,唯一分解定理,中国剩余定理。
\(Euclid's \ lemma:\)
如果将高斯整数\(a\)写为\(a=bq+r\),有$N(r) \le \frac{N(b)}{2} $。
\(Proof.\)
令 \(\frac{a}{b}=x+yi\),令\(- \frac{1}{2} \le x-m \le \frac{1}{2}, \ - \frac{1}{2} \le y - n \le \frac{1}{2}\),令\(q = m + ni\),由\(a=bq+r\),\(r = b(x - m + (y -n)i)\),故$N(r) \le \frac{N(b)}{2} $。
高斯素数
高斯整数形成了一个唯一分解域。高斯整数只有当且仅当它是一个素数时才不可约,高斯整数中\(Z[i]\)的素数称为高斯素数。
-
高斯素数的共轭复数依然为高斯素数。
-
高斯素数的相伴复数依然为高斯素数。
\[\forall a + bi \in Z[i], -a + bi \in Z[i] \] -
作为高斯素数的整素数\(p\)是\(4k+3\)型素数,其余的素数可以写为\(2\)个共轭高斯素数的乘积
-
一个高斯整数\(a+bi\)是高斯素数当且仅当以下两个条件之一成立:
-
\(a,b\)中一个为\(0\),且另一个数字为\(4k+3\)型素数
若\(p\)为\(4k+3\)型素数,存在\(d\),\(d\)不等于单位元,也不等于\(p\),满足\(d\ |\ p\),则\(d\bar d \ | \ p\),由于\(d\bar d\)为整数,有\(d \bar d = p\),得出\(p=a^2+b^2\),\(a^2+b^2 \equiv 0,1,2(mod \ 4)\),与\(p\)为\(4k+3\)型素数矛盾。
-
\(a,b\)都非\(0\),且\(a^2+b^2\)是一个\(4k+1\)型素数或者\(2\)
令\(u=a+bi\),则\(u\bar u=p\),\(p\)为一个\(4k+1\)型素数,若存在存在\(d\),\(d\)不等于单位元,也不等于\(u\),\(d \ | \ u\),则\(d\bar d \ | \ p\),由于\(d\bar d\)为整数,有\(d \bar d = p\),得出\(d=u\),与假设矛盾。
-
唯一分解
由于高斯整环是一个唯一分解域,所以每一个高斯整数都可以写为一个单位元和若干高斯素数的乘积,这种分解是唯一的(忽略共轭和相伴)。
最大公约数
两个高斯整数的最大公约数并不唯一,加入\(d\)是\(a\)与\(b\)的最大公约数,则\(a,b\)的最大公约数为\(d, -d, id, -id\)。
若\(a = i^k \prod p_m ^ {\nu_m}, \ b = i^n \prod p_m ^ {\mu_m}\),则其中一个最大公约数为
可以根据带余除法里的结论,进行辗转相除,时间复杂度为\(O(log(n))\)。
Complex div(Complex a, Complex b) {
long double mo = b.norm();
Complex c = a * b.conj();
long double r = 1. * c.r / mo, i = 1. * c.i / mo;
return Complex(round(r), round(i));
}
Complex gcd(Complex a, Complex b) {
if (b.r == 0 && b.i == 0) return a;
Complex c = div(a, b);
return gcd(b, a - b * c);
}
同余和剩余系
给定一个高斯整数\(z_0\),对于高斯整数\(z_1, z_2\),如果它们的差是\(z_0\)的整数倍,即\(z_1 - z_2 = k z_0, \ k \in Z\),那么称\(z_1\)与\(z_2\)模\(z_0\)同余,写作\(z_1 \equiv z_2 (mod \ z_0)\)。
模\(z_0\)同余是一种等价关系,它将高斯整数分成若干个等价类,称为剩余类,剩余类写作\(Z/z_0Z\),剩余类形成了一个交换环。
费马二平方和定理
\(p\)是一个素数,\(p\)可以写成两个平方数的和,当且仅当\(p=2\)或\(p \equiv 1 (mod 4)\)。
充分性:令\(p=a^2+b^2\),对任意一个整数\(x\),有\(x^2 \equiv 0,1,2(mod \ 4)\),故\(a^2+b^2 \equiv 0,1,2(mod \ 4)\),由于\(p\)是素数,所以\(p = 2\)或\(p \ equiv 1(mod \ 4)\)。
必要性:当\(p=2\),\(2=1^2+1^2\);当\(p\)为\(4k+1\)型素数,由于\(p\)不是高斯素数,所以可以进行分解,即\(p = u \bar u\), \(u=a+bi\),故 \(p=a^2+b^2\)。
分解\(4k+1\)型素数
\(p\)为\(4k+1\)型素数,如果存在\(k^2 \equiv -1(mod \ p)\),则\(p \ | \ (k + i)(k - i)\),由于\(p=u \bar u\),有\(u \ | (k+i)\),故\(u=(k+i,p)\),即可将\(p\)分解为两个平方数的和。
由于有一半的数在模\(p\)下存在平方剩余,随机一个\(t\),检验\(t^{\frac{p-1}{2}} \equiv -1(mod \ p)\),令\(k=t^{\frac{p-1}{4}}\),时间复杂度为\(O(Tlog(p))\),\(T\)为测试次数。
构造 \(a^2+b^2=n\)的方案
- 首先将\(n\)分解为\(n = \prod p_m^{e_m}\)的形式
- 将\(2\)分解为\((1+i)(1-i)\);将\(4k + 1\)型素数分解为\(u \bar u\),其中 \(u\) 为高斯素数;\(4k+3\) 型素数不可分解
-
\[n = \prod p_m ^{e_i}, \ \ 0 \le e_i$$,由$ n=u \bar u $,故需要将$n$中的高斯素数分成两部分,使得两部分共轭。考虑素数$p_m$,对于$4k+1$型素因子,分解为$u^{e_m} \bar u^{e_m}$,左边可以放$k$个$u$,$e_m- k$个$\bar u$;对于$4k+3$型素因子,因为不能进行分解,所以左右两边的数量应该一样多,即$4k+3$型的素数$p_m$出现的次数必须为偶数。 \]
令\(f(n)=\frac{1}{4}\sum_{x,y \in Z}[x^2+y^2=n]\),除以\(4\)是因为由\(4\)个单位元。由于素因子可以分开考虑,所以该函数为积性函数。
- \(f(2^k)=1\)
- \(f(p^e)=e+1\),当p为\(4k+1\)型素数
- \(f(p^{2e+1})=0\),\(f(p^{2e})=1\),当\(p\)为\(4k+3\)型素数