李華介 基礎數論 http://math.ntnu.edu.tw/~li/ent-html/node30.html
Squares Modulo p http://www.math.brown.edu/~jhs/MA0042/FRINTNewCh2324.pdf
Proofs of quadratic reciprocity http://en.wikipedia.org/wiki/Proofs_of_quadratic_reciprocity
Gauß, Eisenstein, and the "third'' proof of the Quadratic Reciprocity Theorem: Ein kleines Schauspiel
http://math.nmsu.edu/~history/schauspiel/schauspiel.html
在上一篇,我們在文章最後提到了利用 Legendre symbol 去判別二次剩餘的存在性。
二次剩餘定義
For x,m≠0, a is a quadratic residue mod m if x2=a (mod m). Otherwise, a is a quadratic nonresidue.
Legendre symbol定義
令 p 是奇質數,a 是整數,(a,p)=1。 Legendre Symbol (ap)def=ap−12(modp).
我們利用 Legendre symbol 是完全積性函數的特性,「把 a 拆解成較小的數字相乘,再去計算其 Legendre Symbol 的值」。下面將說明完整的拆解及計算流程。
首先,對 a 做質因數分解。為了不失一般性,我們寫成 a=(−1)2k0⋅qk21qk22...qknn,其中 q1 到 qn 都是質數。
其次,將 a 代入 Legendre symbol,得到 (ap)=(−1p)(2p)(qk11p)(qk22p)...(qknnp)
對於 (qkiip),利用 Legendre symbol 完全積性函數的特性,我們只需計算 (qip) 的值,將此值乘上 ki 次,就是 (qkiip) 了。 因此對於 a 的計算,底下我們分成三種情況討論,(−1p)、(2p)、(qp),其中 gcd(q,p)=1。
情況一、計算 (−1p)
判別 (−1p) 的值是不是 1,相當於尋找哪些質數 p,能使 x2≡−1(modp) 有解。
根據 Euler's Criterion,a 是模 p 的平方剩餘的充分必要條件是 ap−12≡1(modp)。
這裡我們的 a=−1。代入 Euler's Criterion 後,得到 (−1)p−12≡1(modp)。顯然 p−12 必須是偶數,故 p−12=2k,k∈Z。整理後得到 p=4k+1,這就是我們要的結果!
情況二、計算 (2p)
這回我們無法用 Euler's Criterion 去證明。為了要製造出 (−1) 的次方,我們會利用之前這篇、證明 Euler's theorem 的技巧。
考慮下面 p−12 個同餘式。
p−1≡1⋅(−1)(modp)
2≡2⋅(−1)2(modp)
p−3≡3⋅(−1)3(modp)
4≡4⋅(−1)4(modp)
...
r≡(p−12)⋅(−1)p−12(modp)
對於第 r 個,也就是第 p−12 個,p−12 可能是奇數或偶數。若 p−12 是偶數,表示 p−12=2k,k∈Z,此時 p=4k+1;同理,若 p−12 是奇數,則 p=4k+3。換句話說,
將上面 p−12 個同餘式兩端相乘。得到 2⋅4⋯(p−3)⋅(p−1)≡(p−12)!(−1)1+2+⋯+p−12(modp)
左端重新整理,得到 2⋅4⋯(p−3)⋅(p−1)=2p−12⋅(p−12)!。
右端 (−1) 的次方數 1+2+⋯+p−12=(1+p−12)⋅(p−12)2=p2−18。
把整理後的項目代入上面相乘後的同餘式,得到 2p−12⋅(p−12)!≡(p−12)!⋅(−1)p2−18(modp)。
因為 (p−12)! 是偶數,gcd((p−12)!,p)=1,所以兩端可以消去 (p−12)!,得到 2p−12≡(−1)p2−18(modp)。根據 Euler's Criterion,(2p)≡2p−12(modp)。因為兩端的絕對值等於 1,且 p 是奇質數,故同餘的符號可改為等號,也就是說,(2p)=(−1)p2−18。
當 p 等於多少時,p2−18 會是偶數呢?答案有兩個:p=8k+1 及 p=8k−1,解 p 過程可用奇偶數性質去判斷,建議一定要自己練習去解出 p=8k±1。
根據 Gauss's Lemma(文末會證明),我們可以有 (qp)=(−1)n,其中 n 是數列 q,2q,⋯,(p−12)q 中、對模 p 的最小正剩餘裡大於 p2 的個數。當 n 是奇數時,(−1)n=−1;當 n 是偶數時,(−1)n=1。Gauss's Lemma 的重要性在於我們不用去算 ap−12,而是改算最小正剩餘裡大於 p2 的個數,降低了計算的工作量。
要如何找出 n?或者說,如何判別 n 是奇數或偶數?目前看過最多人用的是 Eisenstein 的方法,又稱 Eisenstein's Lemma,因為較為直覺且可用幾何圖形表示。
Eisenstein's Lemma:假設 q 是奇數,p 是奇質數,gcd(q,p)=1,對於 (qp)=(−1)n 中的 n,有 n=∑p−12k=1⌊qkp⌋。這裡 ⌊⌋ 是 floor function 符號,例如 ⌊4.7⌋=4,⌊−3.7⌋=−4。
這裡不證明 Eisenstein's Lemma,我們直接用例子了解。例如我們要計算 (711),先求出 n=∑11−12k=1⌊7k11⌋=∑51⌊7k11⌋。
但如果 n 很大,計算 n 個 floor function 的值就很頭痛了。此時有一個很重要的定律就派上用場了,叫做「二次互反律(Quadratic Reciprocity Law)」。
二次互反律(Quadratic Reciprocity Law)
定義:若 p,q 都是奇質數,p≠q,則 (qp)(pq)=(−1)p−12⋅q−12。或者說,
分析完上述三種情況:計算 (−1p)、計算 (2p)、計算 (qp),計算 (ap) 就簡單多了。
Gauss's Lemma(高斯引理)
Gauss's Lemma 定義:
設 a∈Z,p 是奇質數,gcd(a,p)=1。則 (ap)=(−1)n,其中 n 是數列 a,2a,⋯,(p−12)a 中、對模 p 的最小正剩餘裡大於 p2 的個數。
從 (−1)n 來看,當 n 是奇數時,(−1)n=−1;當 n 是偶數時,(−1)n=1。
例如我們要判別 (317) 的值,也就是 x2≡3(mod17) 是否有解。這裡的 a=3,p=17,而 p−12=17−12=8。數列 3,6,9,12,15,18,21,24 ,對模 17 的最小正剩餘依序為 3,6,9,12,15,1,4,7,大於 p2,也就是大於 172 的個數有三個:9,12,15,因此 n=3。(317)=(−1)3=−1,3 是模 17 的二次非剩餘,所以同餘式 x2≡3(mod17) 無解。
Gauss's Lemma 證明
已知 (a,p)=1,令 k∈{1,2,⋯,p−12},有 (ka,p)=1。
設 a,2a,3a,⋯,p−12a 對模 p 的最小正剩餘為 r1,r2,⋯,rp−12,且 0<r1<r2<⋯<rp−12<p。假設大於 p2 的最小正剩餘有 n 個,小於 p2 的有 m 個,其中 m+n=p−12,於是我們把原本的 r1,r2,⋯,rp−12 改寫為
r1,r2,⋯,rm⏟<p2,rm+1,⋯,rp−12⏟>p2。
對於 rm+1,⋯,rp−12⏟>p2,為了使每一項都小於 p2,我們對每一項都減去 p,變成 p−rm+1,p−rm+2,⋯,p−rm+n。
對於下面的數列
r1,r2,⋯,rm,p−rm+1,p−rm+2,⋯,p−rm+n,
我們接著要證明,這 p−12 個數恰好是 1,2,⋯,p−12。這樣他們相乘時剛好會是 (p−12)!。
前面已經說明這 p−12 個數都小於 p2。只要證明這 p−12 個數皆不相同,就相當於證明了這 p−12 個數恰好是 1,2,⋯,p−12。
我們用反證法。假設有 rs=p−rt,移項得到 rs+rt=p,也就是 xsa+yta=(xs+yt)a≡0(modp)。因為 (a,p)=1,所以得到 xs+yt≡0(modp)。但是 1≤xs≤p−12,1≤yt≤p−12,相加後的範圍是 2≤xs+yt≤p−1,而 {2,3,⋯,p−1} 中的每個元素都無法被 p 整除,故原本的假設是錯誤的。因此這 p−12 個數恰好是 1,2,⋯,p−12。
所以 (p−12)!=r1r2⋯rm(p−rm+1)⋯(p−rm+n)
≡(−1)nr1r2⋯rp−12
≡(−1)na⋅2a⋅⋯p−12a
≡(−1)n(p−12)!ap−12(modp)
因為 ((p−12)!,p)=1,故同餘式兩端除以 (p−12)!,得到 1≡(−1)nap−12(modp)。於是有
ap−12≡(−1)n(modp)。
根據 Legengre symbol 定義,(ap)≡ap−12≡(−1)n(modp),也就是 (ap)≡(−1)n(modp)。
對於 (ap)≡(−1)n(modp),因為 p 是奇質數,所以 (ap)=(−1)n,證明完畢。