logo

数論におけるp-進数 📂整数論

数論におけるp-進数

定義 1

素数 pp と整数 aZa \in \mathbb{Z} に対して次のように定義された vpv_{p}aapp-進付値と言う。 vp(a):=sup{eZ:pea} v_{p} (a) := \sup \left\{ e \in \mathbb{Z} : p^{e} \mid a \right\}

定理 2

  • [0]: すべての素数 pp に対して vp(0)= v_{p} (0) = \infty
  • [1]: vp(xy)=vp(x)+vp(y)v_{p} (xy) = v_{p}(x) + v_{p}(y)
  • [2]: vp(x+y)min{vp(x),vp(y)}v_{p} (x+y) \ge \min \left\{ v_{p} (x) , v_{p} (y) \right\}
  • [3]: nNn \in \mathbb{N}x,yZx , y \in \mathbb{Z}、素数 ppgcd(n,p)=1p(xy)pxpy \gcd (n,p) = 1 \\ p \mid (x \mp y) \\ p \nmid x \\ p \nmid y を満たすならば vp(xn±yn)=vp(x±y) v_{p} \left( x^{n} \pm y^{n} \right) = v_{p} \left( x \pm y \right)
  • [4]: x,yZx , y \in \mathbb{Z}、素数 p2p \ne 2p(xy)pxpy p \mid (x - y) \\ p \nmid x \\ p \nmid y を満たすならば vp(xpyp)=vp(xy)+1 v_{p} \left( x^{p} - y^{p} \right) = v_{p} \left( x - y \right) +1

  • bab \mid abbaa約数であることを示す。
  • 付値という言葉は値を与えるという意味で、直接韓国語に訳すと値付けともなるが、両方ともあまりに不十分なので、英語のValuationを使うことを推奨する。

説明

大学の暗号理論を学んでいた時、教科書が pp の整数環ではなく、わざわざ商環の形を使っているのを見て、なぜそうなのか教授に質問したことがある。その時、教授はそれが数論では主に使われる pp-進の研究と区別するためだと答えた。pp-進の数を学ぶということは、数論の大きなカーテンを開くことになるかもしれない。

簡単に言えば、pp-進付値というのは、与えられた自然数で pp の冪乗が何乗で掛けられているかを見ることと変わりない。例えば、素数 p=3p = 3 に対して 63=327163 = 3^{2} \cdot 7^{1}33-進付値は v3(63)=2v_{3} (63) = 2 であり、v7(63)=1v_{7} (63) = 1 だ。他方で、素因数分解した時に見えない数、例えば 22-進付値は自明に 20632^{0} \mid 63 なので、v2(63)=0v_{2} (63) = 0 である。

証明

[0]

bbaa約数である、つまり bab \mid a であることは、ak=ba k = b を満たす整数 kZk \in \mathbb{Z} が存在することを意味する。すべての eZe \in \mathbb{Z} に対して、pek=0p^{e} \cdot k = 0 を満たす k=0 k = 0 が存在するので、sup{eZ:pe0}=\sup \left\{ e \in \mathbb{Z} : p^{e} \mid 0 \right\} = \infty である。

[1]

vp(a)v_{p}(a)aapp の冪乗を数えることなので、自然に vp(xy)=vp(x)+vp(y)v_{p} (xy) = v_{p}(x) + v_{p}(y) が成立する。

[2]

ある X,YX,Y \in に対して x,yx,y を次のように表してみよう。 x:=pvp(x)Xy:=pvp(y)Y x := p^{v_{p} (x) } X \\ y := p^{v_{p} (y) } Y 一般性を失わずに vp(x)vp(y)v_{p} (x) \ge v_{p} (y) とすると x+y=pvp(y)(pvp(x)vp(y)X+Y) x+y = p^{v_{p}(y) } \left( p^{v_{p}(x) - v_{p}(y)} X + Y \right) 従って、少なくとも vp(x+y)vp(y)v_{p} (x+y) \ge v_{p}(y) を得る。

[3]3

パート1.

xnynx^{n} - y^{n} を因数分解すると xnyn=(xy)(xn1+xn2y+xyn2+yn1) x^{n} - y^{n} = (x-y) \left( x^{n-1} + x^{n-2} y + \cdots x y^{n-2} + y^{n-1} \right) vpv_{p} の定義により、二番目の因数 t=0n1x(n1)tyt\sum_{t = 0}^{n-1} x^{(n - 1)-t} y^{t}pp の約数を持たなければ、vp(xnyn)v_{p} \left( x^{n} - y^{n} \right)vp(xy) v_{p} \left( x - y \right) も同じである。これを式で書けば、以下のようになる。 vp(xnyn)=vp(xy) v_{p} \left( x^{n} - y^{n} \right) = v_{p} \left( x - y \right)


パート2. vp(xnyn)=vp(xy)v_{p} \left( x^{n} - y^{n} \right) = v_{p} \left( x - y \right)

p(xy)p \mid (x-y) だと仮定すると、xy0(modp)x - y \equiv 0 \pmod{p} であり、つまり xy(modp)x \equiv y \pmod{p} なので t=0n1x(n1)tytt=0n1x(n1)txtnxn1(modp) \begin{align*} \sum_{t = 0}^{n-1} x^{(n - 1)-t} y^{t} \equiv& \sum_{t = 0}^{n-1} x^{(n - 1)-t} x^{t} \\ \equiv& n\cdot x^{n-1} \pmod{p} \end{align*} しかし、pxp \nmid x であり、gcd(n,p)=1\gcd (n,p) = 1 だと仮定すると t=0n1x(n1)tyt≢0(modp) \sum_{t = 0}^{n-1} x^{(n - 1)-t} y^{t} \not\equiv 0 \pmod{p} したがって、次を得る。 vp(xnyn)=vp(xy) v_{p} \left( x^{n} - y^{n} \right) = v_{p} \left( x - y \right)


パート3. vp(xn+yn)=vp(x+y)v_{p} \left( x^{n} + y^{n} \right) = v_{p} \left( x + y \right)

パート2で得た等式から、符号が変わるだけである。y-y 代わりに yy を代入すると vp(xn(y)n)=vp(x(y)) v_{p} \left( x^{n} - (-y)^{n} \right) = v_{p} \left( x - (-y) \right) つまり、次を得る。 vp(xn+yn)=vp(x+y) v_{p} \left( x^{n} + y^{n} \right) = v_{p} \left( x + y \right)

[4]

パート1.

vp(xpyp)=vp(xy)+1 v_{p} \left( x^{p} - y^{p} \right) = v_{p} \left( x - y \right) +1 これは、(xy)(x-y)(xpyp)\left( x^{p} - y^{p} \right) を素因数分解した時、pp が正確に 11 だけさらに掛けられていることと同値である。これを示すために**証明[3]**と同じように xpypx^{p} - y^{p} を因数分解してみる。 xpyp=(xy)(xp1+xp2y+xyp2+yp1) x^{p} - y^{p} = (x-y) \left( x^{p-1} + x^{p-2} y + \cdots x y^{p-2} + y^{p-1} \right) pp が正確に 11 だけ掛けられていることは、二番目の因数 t=0p1x(p1)tyt\sum_{t = 0}^{p-1} x^{(p - 1)-t} y^{t}pp の倍数として表れるが、p2p^{2} の倍数としては表れないことを意味する。 pt=0p1x(p1)tytp2t=0p1x(p1)tyt p \mid \sum_{t = 0}^{p-1} x^{(p - 1)-t} y^{t} \\ p^{2} \nmid \sum_{t = 0}^{p-1} x^{(p - 1)-t} y^{t}


パート2. pt=0p1x(p1)tytp \mid \sum_{t = 0}^{p-1} x^{(p - 1)-t} y^{t}

p(xy)p \mid (x-y) だと仮定すると、xy0(modp)x - y \equiv 0 \pmod{p} であり、つまり xy(modp)x \equiv y \pmod{p} なので t=0p1x(p1)tytt=0p1x(p1)txtpxp10(modp) \begin{align*} \sum_{t = 0}^{p-1} x^{(p - 1)-t} y^{t} \equiv& \sum_{t = 0}^{p-1} x^{(p - 1)-t} x^{t} \\ \equiv& p\cdot x^{p-1} \\ \equiv& 0 \pmod{p} \end{align*} 従って、pt=0p1x(p1)tytp \mid \sum_{t = 0}^{p-1} x^{(p - 1)-t} y^{t} である。


パート3. p2t=0p1x(p1)tytp^{2} \nmid \sum_{t = 0}^{p-1} x^{(p - 1)-t} y^{t}

xy(modp)x \equiv y \pmod{p} なので、y=x+kpy = x + kp としてkZk \in \mathbb{Z} を設定できる。t=1,,p1t = 1, \cdots , p-1 としてインデックスを固定し、x(p1)tytx^{(p - 1)-t} y^{t}xx に対して展開してみると (modp2)\pmod{p^{2}} から x(p1)tytx(p1)t(x+kp)tx(p1)t(xt+txt1kp+t(t1)2xt2k2p2+)x(p1)t(xt+txt1kp)+O(p2)xp1+tkpxp2(modp2) \begin{align*} x^{(p - 1)-t} y^{t} \equiv& x^{(p - 1)-t} \left( x + kp \right)^{t} \\ \equiv& x^{(p-1)-t} \left( x^{t} + t x^{t-1} kp + {{ t(t-1) } \over { 2 }} x^{t-2} k^{2} \cdot p^{2} + \cdots \right) \\ \equiv& x^{(p-1)-t} \left( x^{t} + t x^{t-1} kp \right) + O \left( p^{2} \right) \\ \equiv& x^{p-1} + tkpx^{p-2} \pmod{p^{2}} \end{align*} 元の級数に戻って見ると t=0p1x(p1)tytt=0p1[xp1+tkpxp2]pxp1+p(p1)2kpxp2pxp1+p12kxp2p2pxp1(modp2)≢0(modp2) \begin{align*} \sum_{t = 0}^{p-1} x^{(p - 1)-t} y^{t} \equiv& \sum_{t = 0}^{p-1} \left[ x^{p-1} + tkpx^{p-2} \right] \\ \equiv& p x^{p-1} + {{ p(p-1) } \over { 2 }} kpx^{p-2} \\ \equiv& p x^{p-1} + {{ p-1 } \over { 2 }} k x^{p-2} \cdot p^{2} \\ \equiv& p x^{p-1} \pmod{p^{2}} \\ \not \equiv& 0 \pmod{p^{2}} \end{align*} 従って、p2t=0p1x(p1)tytp^{2} \mid \sum_{t = 0}^{p-1} x^{(p - 1)-t} y^{t} である。