1. 程式人生 > >二次剩余學習筆記

二次剩余學習筆記

復數 方法 span 快速冪 復雜 omega 學習 如何 滿足

二次剩余學習筆記

前言

咕了很久,一直想學這算法來著,真是神仙算法。。。

問題:

求解\(x^2 \equiv n \pmod{p}(p為奇素數)\)

解析

定義1

\(n\)為模\(p\)意義下的二次剩余當且僅當\(x^2 \equiv n \pmod{p}\)有解,非二次剩余同理。

定理1

當且僅當\(n^{\frac{p-1}{2}} \equiv 1 \pmod{p}\)時,\(n\)為二次剩余,反之,若\(n^{\frac{p-1}{2}} \equiv -1 \pmod{p}\),則\(n\)為非二次剩余(不對\(n=0\)做考慮)。

證明1

先考慮\(n^{\frac{p-1}{2}}\)

的取值情況,有:

\[n^{p-1}-1 \equiv 0 \pmod{p}\]

即有:

\[(n^{\frac{p-1}{2}}+1)(n^{\frac{p-1}{2}}-1) \equiv 0 \pmod{p}\]

所以:

\[n^{\frac{p-1}{2}} \equiv 1或-1\pmod{p})\]

而當\(n\)為二次剩余時,有\(x^2 \equiv n \pmod{p}\),又\(x^{p-1} \equiv 1 \pmod{p}\),所以:\(n^{\frac{p-1}{2}} \equiv 1 \pmod{p}\),反之,若\(n\)為非二次剩余,那麽有:\(n^{\frac{p-1}{2}} \equiv -1 \pmod{p}\)

,得證。

定義2

類似復數的,我們對於模\(p\)意義下的非二次剩余\(x\),定義類似虛部的數\(i=\sqrt{x}\),當然,這樣得到一類數的表示方法\(a+bi\),我們類比復數定義這一類數的運算,那麽這一類數的四則運算具有自封閉性。

定理2

\(\omega=a^2-n\)為非二次剩余,那麽\((a+\sqrt{\omega})^{\frac{p+1}{2}}\)(其中\(\sqrt{w}\)即可看做虛根做運算)即為\(n\)二次剩余的根,另一個根即為相反數。

證明2

先考慮一個式子\((a+\sqrt{\omega})^{p}\),用二項式定理展開,有:

\[(a+\sqrt{\omega})^{p}=\sum_{i=0}^{p}{i \choose p}a^{p-i}{\sqrt{\omega}}^{i}\]

又因為在模\(p\)意義下,當\(i不為0或p\)時,\({i \choose p} \equiv 0 \pmod{p}\)(展開一下就是了),那麽有:

\[(a+\sqrt{\omega})^{p} \equiv a^p+{\sqrt{\omega}}^p \equiv a^p+w^{\frac{p-1}{2}}\sqrt{\omega} \equiv a-\sqrt{w}\pmod{p}\]

所以:

\[(a+\sqrt{\omega})^{{p+1}} \equiv (a+\sqrt{\omega})(a-\sqrt{\omega}) \equiv a^2-\omega \equiv n\pmod{p}\]

得證。

定理3

對於\(0 \lt n \leq p-1\),有\(\frac{p-1}{2}\)\(n\)為二次剩余。

證明3

很簡單,直接枚舉作為根的\(x\)\(x\)\(p-1\)中取值(不考慮0),而\(x^2 \equiv (p-x)^2\)
所以二次剩余只有\(\frac{p-1}{2}\)個取值,得證。

那麽現在的唯一問題就是如何找到合適的\(a\)使得\(\omega\)滿足條件,我們考慮隨機,由定理3可知,\(a^2-n\)在模\(p\)意義下為非二次剩余的概率為\(\frac{p-1}{2p}\),那麽這樣隨機的期望次數就接近於2,可以看做是\(O(1)\)求。自此,我們解決了這個具有特殊性的二次剩余,算法復雜度是多少呢?因為其中要快速冪,復雜度為\(O(\log{p})\)

二次剩余學習筆記