Pebble Coding

ソフトウェアエンジニアによるIT関連技術の備忘録

体の拡大

拡大体

体とは大雑把に言って、加法と乗法に対して演算が閉じている数の集合のことを指します。

有理数Q, 実数体R, 複素数体Cは全て加法と乗法において演算が閉じているので体と呼べます。

これらは数の集合としては数の存在の密度が高すぎますね。
整数Zと複素数体Cの中間くらいの数の密度の体って作れないものでしょうか。

例えば、a,bを整数として、a + b \sqrt {2}の集合を考えてみると、
整数よりちょっとしか密度が高くなっていないですし、なにか面白い性質があるかもしれません。
他にも、c,dを有理数として、 c + d \sqrt {2}の集合なんかも良さそうです。
ちょっとひねって、e, fを整数として、 e + f \sqrt {-1}の集合を考えることができます。

さらにひねって、 g,hを整数とし、 \alpha = \frac {-1 \pm \sqrt {3} i} {2} とすると、 g + \alpha hの集合を考えることもできます。

これらは全て体となります。

b, d, f, hを0とすれば、元になる体に戻ります。

このように既存の体に要素を追加しても体になっており、かつ元の体の元を全て含んでいる体を拡大体と呼びます。

これらは全て、元の数が無限個で複雑です。

有限体の拡大

元の数が有限個の体も考えたいですね。
整数に対して素数pで割った余りの集合{0, 1, 2, …, p-1}は加法、乗法に対して演算が閉じており、体となることが知られています。
素数でない場合は乗算が閉じないので体とはなりません。

これを素体と呼びF_p (pは素数) と表します。
素体も拡大してみましょう。

a, b を素体 F_pの元、 \alpha = \frac {-1 + \sqrt {3} i} {2}として  a + \alpha bの集合を考えます。
このとき \alphaに対しては素数で割った余りという概念が使えませんので、剰余演算の対象外とします。
ただし、この \alpha
 {\alpha}^{2} = { ( \frac {-1 + \sqrt {3} i} {2} ) }^{2} = \frac {-1 - \sqrt {3} i} {2} = - {\alpha} - 1
の関係を満たしますので、
 {\alpha}の2乗が現れたらこの値に置き換えるという規則を設けることにします。

p=2の場合は、a,bは2で割った余りなので、0または1しかありません。
なので、拡大体の元は
 0 + \alpha 0 = 0
 1 + \alpha 0 = 1
 0 + \alpha 1 = \alpha
 1 + \alpha 1 = 1 + \alpha
の4つとなります。

一般にa,bは0からp-1までp通りあるので、 元の数は p^{2}となります。

このように拡大した体をF_{ p^{2}}と表します。
ここでは {\alpha} ^2 + {\alpha} + 1 = 0を満たす値\alphaを使って拡大しました。

さらに、 {\beta} ^ 3 + {\beta} ^2 + {\beta} + 1 = 0を満たす値\betaを使って
 a + b {\beta} + c {\beta}^2の集合に対して、
 \betaが3乗以上になった時、 {\beta} ^3 = - {\beta} ^2 - {\beta} - 1を使って置き換えることにします。
この拡大の元の数は p^{3}となります。 この拡大体をF_{ p^{3}}と表します。

同じようにして拡大体F_{ p^{n}}を作れます。
このnのことを素体の拡大次数と呼びます。

素体を拡大した体は代数的にはこれしかないことが知られています。

例えば、
 {\alpha} ^2 + {\alpha} + 1 = 0を満たす\alpha
 {\beta} ^ 3 + {\beta} ^2 + {\beta} + 1 = 0を満たす\beta
を使って、
 a + b {\alpha} + c {\beta}^{2} + d {\beta} + e {\alpha} {\beta}^{2} + f {\alpha} {\beta} 式(A)
を2で割った余りを考えた時のこの体の元の数はどうなるでしょうか?
元は
0
1
 {\alpha}
 {\beta}^2
 {\beta}
 {\alpha} {\beta}^2
 {\alpha} {\beta}
 1 + {\alpha}
 1 + {\beta}^2
 1 + {\beta}
 1 + {\alpha} {\beta}^2
 1 + {\alpha} {\beta}

 1 + {\alpha} + {\beta}^{2} + {\beta} + {\alpha} {\beta}^2 + {\alpha} {\beta}
のようになります。
量が多いので途中を省略しましたが、この元の数を数えることは、式(A)の6つの項の2種類の組み合わせ
を列挙することです。つまり元の数は 2^{6} = 64となります。
これは、
 1 + {\alpha} + {\alpha}^{2}+ {\alpha}^{3}+ {\alpha}^{4}+ {\alpha}^{5}+ {\alpha}^{6} = 0
を満たす {\alpha}を使った場合と同じと考えられます。
(厳密にはこの式ではダメかもしれません。重解を持たない多項式を使う必要があります。)
なのでどうやら素体を拡大したものはF_{ p^{n}}の形のものしかないと考えて良さそうです。