Loading [MathJax]/jax/output/HTML-CSS/fonts/TeX/fontdata.js

mod Pにおける平方根 その2

一つ前のエントリで8N+1型以外の素数についての平方根の計算方法を解説しました。8N+1については同じような考えで求めようとしてもなかなかうまくいきません。
an=±a n
の形になかなか持ち込めないのがその要因です。今まで考えきた演算はpでの剰余をもって演算するもので代数学的にはFpで演算と呼ばれるものです。Fpp個の元からなる有限の集合で、その元同士に加減乗除が定義されているものです。この空間で演算をしている限りこの問題をクリアすのはどうも不可能なようです。そこで発想をちょっと変えてFpではなくFqで考えることにします。FqとはFpの世界で既約な方程式の根を追加した体(加減乗除がうまく定義された集合)です。Fpp個の元からなる体ですが、Fqq個の元からなるのでFqと表現します。今回はちなみにq=p2なので、Fp2と記述するのが正確なのかもしれませんが、とりあえずFqと表現しておきます。なんか難しいこと言ってますが発想としては簡単でFpでの平方根が存在しない数の平方根があると仮定してそれを追加したもの・・とゆるく考えておけばよいかと思います。

例えば有理数においても2の平方根は存在しませんが、仮にそれを2と書くとすれば
x+y2
という数の集合を考えることができてその集合に対して加減乗除が定義できます。例えば上記の数は二乗することが可能で二乗した結果は

(x2+2y2)+(2xy)2

であってその結果もまた x+y2の形に書けることがわかります。詳細は書きませんが割る場合も同様です。つまりx+y2の形の集合を考えれば全ての加減乗除はその内部で閉じておりまた完結していることになります。

Fqもそれと同じ原理を用います。Fpから平方非剰余の数をT1つ選びその平方根があると仮定してそれをTと表すことにし、この数をFpに追加します。この集合に対して加減乗除が成立するためには
x+yTと表すことができる数全てに対して加減乗除が閉じていることを示す必要がありますが証明は割愛します。xの選び方はp通りyの選び方はp通りですからこの体はp2個の元からなることになります。
 
q=p2
 
とします。するとこのFqに対してもフェルマーの小定理が成立して

xq=x

が成立することが知られています。つまりFqではq乗すると元に戻ります。ところでFpでは

xp=x

が成立しました。FpFqに含まれていると考えられますから、FqにおいてもFpに属する元ははその位置を変えません(固定される)。しかしFpに含まれない数はそうではなく、別な数に移動します。
この移動先は共役元になることが知られています。つまり
 
(x+yT)p=(xyT)
です。となればFqでは任意の元をp+1乗すると

(x+yT)p+1=(x+yT)(xyT)=x2y2T

となりその数がなんでありFpに属することになります。よって

x2y2T=a
となるようにうまくx,yを選ぶことができればp+1は偶数ですから

(x+yT)p+12

がその平方根になります。
 
仮にyを1として探してみます。このとき

T=x2a
が成立するのでxを適当に変えてみてその値からaを引いたもとのが非平方剰余である数をTとして選べば良いことになります。

例)
p=41とし8の平方根を考えます。xを色々変えて見ると、528=17は非平方剰余であることがわかります。よってF1681で考えることにより
(5+17)21
が答えになります。

実際計算をしてみると
(5+17)2=(1+1017)(5+17)4=(20+2017)(5+17)8=(25+2117)(5+17)16=(4+2517)
ですので
(5+17)16(5+17)4(5+17)1=34

となります。実際
 
\[
34^2=8\pmod{41}
\]
です。


余談)
Fpのような体を有限体(要素の数が有限なので)と言いますがその要素の数(位数とよぶ)は必ずpの冪であり、またpの冪の有限体は必ず存在することがわかっています。
Posted by issei

カテゴリ : 数学