高斯整数

定义

高斯整数是集合(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:)

[forall a, b, p quad where p is a prime \ p | ab Rightarrow p|a or p | b ]

如果将高斯整数(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])的素数称为高斯素数。

  1. 高斯素数的共轭复数依然为高斯素数。

  2. 高斯素数的相伴复数依然为高斯素数。

    [forall a + bi in Z[i], -a + bi in Z[i] ]

  3. 作为高斯素数的整素数(p)(4k+3)型素数,其余的素数可以写为(2)个共轭高斯素数的乘积

  4. 一个高斯整数(a+bi)是高斯素数当且仅当以下两个条件之一成立:

    • (a,b)中一个为(0),且另一个数字为(4k+3)型素数

      (p)(4k+3)型素数,存在(d)(d)不等于单位元,也不等于(p),满足(d | p),则(dar d | p),由于(dar d)为整数,有(d ar 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),则(uar u=p)(p)为一个(4k+1)型素数,若存在存在(d)(d)不等于单位元,也不等于(u)(d | u),则(dar d | p),由于(dar d)为整数,有(d ar d = p),得出(d=u),与假设矛盾。

唯一分解

由于高斯整环是一个唯一分解域,所以每一个高斯整数都可以写为一个单位元和若干高斯素数的乘积,这种分解是唯一的(忽略共轭和相伴)。

[forall a in Z[i], a = u cdot (1+i)^{e_0} prod p_m ^{e_i}, where u in { 1, -1,i, -i}, 0 le e_i ]

最大公约数

两个高斯整数的最大公约数并不唯一,加入(d)(a)(b)的最大公约数,则(a,b)的最大公约数为(d, -d, id, -id)

(a = i^k prod p_m ^ { u_m}, b = i^n prod p_m ^ {mu_m}),则其中一个最大公约数为

[d = prod p_m ^ {lambda_m}, where lambda_m = min( u_i, mu_i) ]

可以根据带余除法里的结论,进行辗转相除,时间复杂度为(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 ar 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 ar 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)的方案

  1. 首先将(n)分解为(n = prod p_m^{e_m})的形式
  2. (2)分解为((1+i)(1-i));将(4k + 1)型素数分解为(u ar u),其中 (u) 为高斯素数;(4k+3) 型素数不可分解
  3. [n = prod p_m ^{e_i}, 0 le e_i$$,由$ n=u ar u $,故需要将$n$中的高斯素数分成两部分,使得两部分共轭。考虑素数$p_m$,对于$4k+1$型素因子,分解为$u^{e_m} ar u^{e_m}$,左边可以放$k$个$u$,$e_m- k$个$ar u$;对于$4k+3$型素因子,因为不能进行分解,所以左右两边的数量应该一样多,即$4k+3$型的素数$p_m$出现的次数必须为偶数。 ]

(f(n)=frac{1}{4}sum_{x,y in Z}[x^2+y^2=n]),除以(4)是因为由(4)个单位元。由于素因子可以分开考虑,所以该函数为积性函数。

  1. (f(2^k)=1)
  2. (f(p^e)=e+1),当p为(4k+1)型素数
  3. (f(p^{2e+1})=0)(f(p^{2e})=1),当(p)(4k+3)型素数
原文地址:https://www.cnblogs.com/tempestT/p/12288833.html