SSブログ

有限体の勉強 〜標数2の有限体の加算乗算表を作る〜 [数学]

 自分が有限体についてあまりに無知なので、改めて勉強してみました。

 有限体とは文字どおり、有限個の元で構成される体(四則演算が定義された代数系)のことですが、これについては、
 ① 有限体の位数(元の数)$q$は、ある素数$p$と正整数$n$によって $q=p^n$ で表されるものに限る。
 ② 位数 $p^n$ の有限体は同型を除いて唯一存在し、その標数は$p$である。
ということがどの本にも書いてあります。以下では位数$q$の有限体を $F_q$ で表します。
 では、例えば標数$2$の有限体を考えると、小さい方から $F_2, F_4, F_8, F_{16}, \cdots$ という有限体が存在することになりますが、これらがどのような構造をしているかについてはなかなかピンときません。なので、自分で手を動かして考えてみました。

(1) $F_2$ の構造

 まず一番簡単な $F_2$ から始めます。これは単に整数環 $\mathbb{Z}$ をイデアル $2\mathbb{Z}$ で割った剰余環がそのまま体になったもの、すなわち $F_2 = \mathbb{Z}/2\mathbb{Z}$ なので、その加算表と乗算表は次のようになります。

+ 0 1
0 0 1
1 1 0


× 0 1
0 0 0
1 0 1


(2) $F_4$ の構造

 $F_2$ に係数をもつ多項式環 $F_2[X]$ を考えます。$F_2$ 上の$2$次の多項式は、
\[ X^2, \quad X^2+1, \quad X^2+X, \quad X^2+X+1 \]
の$4$通りですが、このうち $X^2+X+1$ は$0$も$1$も根にならないので、$1$次の因子で分解できない既約多項式です(他の$3$つが可約であることはすぐわかります)。従って、$F_2[X]$ をイデアル $(X^2+X+1)$ で割った剰余環 $F_2[X]/(X^2+X+1)$ は体になり、拡大次数$2$の $F_2$ の拡大体です。これは位数 $2^2=4$ をもつので、これが $F_4$ に他ならないことになります。
 もっと直感的に考えると、$X^2+X+1$ の$1$つの根 $\alpha$ を考え、それを $F_2$ に添加した根体 $F_2(\alpha)$ が $F_4$ である、ということになります。
 この $\alpha$ を使うと、$F_4$ は基底 $(\alpha, 1)$ を持つ $F_2$ 上の$2$次元ベクトル空間なので、$F_4$ の元は、
\[ 0, \quad 1, \quad \alpha, \quad \alpha+1 \]
の$4$つになります。これらを簡単に
\[ 00, \quad 01, \quad 10, \quad 11 \]
と表し、「ベクトル表現」と呼びます。このベクトル表現を用いて加算表、乗算表を作ると、次のようになります。

+ 00 01 10 11
00 00 01 10 11
01 01 00 11 10
10 10 11 00 01
11 11 10 01 00


× 00 01 10 11
00 00 00 00 00
01 00 01 10 11
10 00 10 11 01
11 00 11 01 10


 ここで加算表を作るのは、単にベクトル空間における加算なので、それぞれの係数を $F_2$上で加算すればいいだけです。問題は乗算表ですが、普通に $\alpha$ 混じりの多項式と考えて乗算し、
\[ \alpha^2 = \alpha + 1 \]
を使って $\alpha^2$ の項を消せば答えが出ます(標数$2$なのでマイナスとプラスの違いはないことに注意)。少し面倒ですがここまでくらいは何とかなります。
 黄色で塗った部分は $F_2$ に相当し、$F_2$ が $F_4$ の部分体であることがわかります。
 ところで、$F_4$ 上の多項式として、
\begin{eqnarray*}
X^4-X &=& X(X-1)(X^2+X+1) \\
&=& X(X-1)(X-\alpha)(X-(\alpha+1))
\end{eqnarray*}
が成り立つので、$F_4$ は $F_2$ 上の多項式 $X^4-X$ の最小分解体として特徴づけられます。これは実際には一般の有限体 $F_q \ (q=p^n)$ についても成立し、$F_q$ は $F_p$ 上の多項式 $X^q-X$ の最小分解体となります。


(3) $F_8$ の構造

 $F_4$ でやったことと同じようにして $F_2$ から $F_8$ を構成します。$F_2$ 上の多項式 $X^8-X$ は、
\[ X^8-X = X(X-1)(X^3+X+1)(X^3+X^2+1) \]
と既約多項式に分解されるので、このうち$3$次の既約多項式の$1$つ $X^3+X+1$ をとります(これが既約になることは、もし可約ならば$1$次の因子を持つので、$X$に$0$または$1$を代入すると$0$になるはずですが、そうはならないことからわかります)。この多項式の$1$つの根 $\alpha$ を $F_2$ に添加した拡大体 $F_2(\alpha)$ を考えると、これは拡大次数$3$の $F_2$ の拡大体ですから位数が $2^3=8$ となって、$F_8$ と同型になります。
 $F_4$ と同じように、基底を $(\alpha^2, \alpha, 1)$ としたベクトル表現で加算表と乗算表を作ることを考えます。加算表は簡単で、次のようになります。

+ 000 001 010 011 100 101 110 111
000 000 001 010 011 100 101 110 111
001 001 000 011 010 101 100 111 110
010 010 011 000 001 110 111 100 101
011 011 010 001 000 111 110 101 100
100 100 101 110 111 000 001 010 011
101 101 100 111 110 001 000 011 010
110 110 111 100 101 010 011 000 001
111 111 110 101 100 011 010 001 000


 乗算表についても地道に計算して $\alpha^3 = \alpha+1$ を使って $\alpha$ の$3$次以上の項を消せばよいのですが、なにぶん埋めるべきマスの数が多いのでとても面倒です。もうちょっと楽をすることを考えます。
 実は $F_8$ の元のうち$0$を除いた$7$個については、$\alpha$ のべき乗との間に次の関係があります。

べき表現 ベクトル表現
$\alpha^0$ 001
$\alpha^1$ 010
$\alpha^3$ 011
$\alpha^2$ 100
$\alpha^6$ 101
$\alpha^4$ 110
$\alpha^5$ 111


これくらいの計算はまだ頑張る気になる範囲です。これを見ると、$\alpha$ は $F_8$ の乗法群 $F_8^\times$ の原始元になっていることがわかります。$F_8^\times$ の位数は$7$なので $\alpha^7 = 1 = \alpha^0$ です。すなわち $\alpha$ の指数は $\mod 7$ で計算すればよいわけです。
 べき表現だと $F_8^\times$ の乗算表はEXCELなどのスプレッドシートで簡単に作れます。指数を足し算して $\mod 7$ を取ればいいのです。指数だけ記載すると次の表になります。

× 0 1 3 2 6 4 5
0 0 1 3 2 6 4 5
1 1 2 4 3 0 5 6
3 3 4 6 5 2 0 1
2 2 3 5 4 1 6 0
6 6 0 2 1 5 3 4
4 4 5 0 6 3 1 2
5 5 6 1 0 4 2 3


 これをベクトル表現に置き換えて、$0$の行と列を付け加えると、次の乗算表が出来上がります。

× 000 001 010 011 100 101 110 111
000 000 000 000 000 000 000 000 000
001 000 001 010 011 100 101 110 111
010 000 010 100 110 011 001 111 101
011 000 011 110 101 111 100 001 010
100 000 100 011 111 110 010 101 001
101 000 101 001 100 010 111 011 110
110 000 110 111 001 101 011 010 100
111 000 111 101 010 001 110 100 011


 これで $F_8$ 加算表と乗算表が書けました。黄色で塗った部分は $F_2$ に相当し、$F_2$ が $F_8$ の部分体であることがわかります。一方で $F_4$ は $F_8$ の部分体にはなりません。なぜなら $4^n=8$ となる正整数$n$が存在しないからです。
 ところで、$F_2$ 上の多項式 $X^8-X$ の各既約因子の根をべき表現で表すと、
\begin{eqnarray*}
X \ &:& \ 0 \\
X-1 \ &:& \ \alpha^0 \\
X^3+X+1 \ &:& \ \alpha^1, \alpha^2, \alpha^4 \\
X^3+X^2+1 \ &:& \ \alpha^3, \alpha^6, \alpha^5
\end{eqnarray*}
となります。この場合、$2$つの$3$次の既約多項式のどちらをとっても、その根は $F_8^\times$ の原始元になり、同様な $F_8$ の加算表と乗算表が作れます。また既約多項式の根は$2$乗しても同じ既約多項式の根になっていることがわかります。これは偶然ではなく、比較的簡単に証明できる事実です。


(4) $F_{16}$ の構造

 $F_{16}$ の加算表と乗算表の作り方も、$F_8$ のやり方を踏襲できます。$F_2$ 上の多項式 $X^{16}-X$ は、
\[ X^{16}-X = X(X-1)(X^2+X+1)(X^4+X+1)(X^4+X^3+1)(X^4+X^3+X^2+X+1) \]
と既約多項式に分解されるので、このうち$4$次の既約多項式の$1$つ $X^4+X+1$ をとります(既約性の確認は$3$次と違って一手間かかります)。この多項式の$1$つの根 $\alpha$ を $F_2$ に添加した拡大体 $F_2(\alpha)$ を考えると、これは拡大次数$4$の $F_2$ の拡大体ですから位数が $2^4=16$ となって、$F_{16}$ と同型になります。
 基底を $(\alpha^3, \alpha^2, \alpha, 1)$ としたベクトル表現で、まず加算表を作ると次のようになります。

+ 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0000 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0001 0001 0000 0011 0010 0101 0100 0111 0110 1001 1000 1011 1010 1101 1100 1111 1110
0010 0010 0011 0000 0001 0110 0111 0100 0101 1010 1011 1000 1001 1110 1111 1100 1101
0011 0011 0010 0001 0000 0111 0110 0101 0100 1011 1010 1001 1000 1111 1110 1101 1100
0100 0100 0101 0110 0111 0000 0001 0010 0011 1100 1101 1110 1111 1000 1001 1010 1011
0101 0101 0100 0111 0110 0001 0000 0011 0010 1101 1100 1111 1110 1001 1000 1011 1010
0110 0110 0111 0100 0101 0010 0011 0000 0001 1110 1111 1100 1101 1010 1011 1000 1001
0111 0111 0110 0101 0100 0011 0010 0001 0000 1111 1110 1101 1100 1011 1010 1001 1000
1000 1000 1001 1010 1011 1100 1101 1110 1111 0000 0001 0010 0011 0100 0101 0110 0111
1001 1001 1000 1011 1010 1101 1100 1111 1110 0001 0000 0011 0010 0101 0100 0111 0110
1010 1010 1011 1000 1001 1110 1111 1100 1101 0010 0011 0000 0001 0110 0111 0100 0101
1011 1011 1010 1001 1000 1111 1110 1101 1100 0011 0010 0001 0000 0111 0110 0101 0100
1100 1100 1101 1110 1111 1000 1001 1010 1011 0100 0101 0110 0111 0000 0001 0010 0011
1101 1101 1100 1111 1110 1001 1000 1011 1010 0101 0100 0111 0110 0001 0000 0011 0010
1110 1110 1111 1100 1101 1010 1011 1000 1001 0110 0111 0100 0101 0010 0011 0000 0001
1111 1111 1110 1101 1100 1011 1010 1001 1000 0111 0110 0101 0100 0011 0010 0001 0000


 乗算表を作るために、$F_8$ でやったのと同様に、$\alpha$ のべき表現とベクトル表現との対応表を作ります。

べき表現 ベクトル表現
$\alpha^0$ 0001
$\alpha^1$ 0010
$\alpha^4$ 0011
$\alpha^2$ 0100
$\alpha^8$ 0101
$\alpha^5$ 0110
$\alpha^{10}$ 0111
$\alpha^3$ 1000
$\alpha^{14}$ 1001
$\alpha^9$ 1010
$\alpha^7$ 1011
$\alpha^6$ 1100
$\alpha^{13}$ 1101
$\alpha^{11}$ 1110
$\alpha^{12}$ 1111


 $F_{16}^\times$ の位数は$15$なので $\alpha^{15} = 1 = \alpha^0$ です。すなわち $\alpha$ の指数は $\mod 15$ で計算すればよいわけです。$F_8$ でやったのと同様にべき表現での乗算表をEXCELなどのスプレッドシートで作り、それをベクトル表現に置き換えて$0$の行と列を追加すると、次のように $F_{16}$ の乗算表が出来上がります。

× 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000
0001 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111
0010 0000 0010 0100 0110 1000 1010 1100 1110 0011 0001 0111 0101 1011 1001 1111 1101
0011 0000 0011 0110 0101 1100 1111 1010 1001 1011 1000 1001 1110 0111 0100 0001 0010
0100 0000 0100 1000 1100 0011 0111 1011 1111 0110 0010 1110 1010 0101 0001 1101 1001
0101 0000 0101 1010 1111 0111 0010 1101 1000 1110 1011 0100 0001 1001 1100 0011 0110
0110 0000 0110 1100 1010 1011 1101 0111 0001 0101 0011 1001 1111 1110 1000 0010 0100
0111 0000 0111 1110 1001 1111 1000 0001 0110 1101 1010 0011 0100 0010 0101 1100 1011
1000 0000 1000 0011 1011 0110 1110 0101 1101 1100 0100 1111 0111 1010 0010 1001 0001
1001 0000 1001 0001 1000 0010 1011 0011 1010 0100 1101 0101 1100 0110 1111 0111 1110
1010 0000 1010 0111 1001 1110 0100 1001 0011 1111 0101 1000 0010 0001 1011 0110 1100
1011 0000 1011 0101 1110 1010 0001 1111 0100 0111 1100 0010 1001 1101 0110 1000 0011
1100 0000 1100 1011 0111 0101 1001 1110 0010 1010 0110 0001 1101 1111 0011 0100 1000
1101 0000 1101 1001 0100 0001 1100 1000 0101 0010 1111 1011 0110 0011 1110 1010 0111
1110 0000 1110 1111 0001 1101 0011 0010 1100 1001 0111 0110 1000 0100 1010 1011 0101
1111 0000 1111 1101 0010 1001 0110 0100 1011 0001 1110 1100 0011 1000 0111 0101 1010


 これで $F_{16}$ の加算表と乗算表が書けました。黄色で塗ったのは $F_4$ に相当する部分で、$F_4$ が $F_{16}$ の部分体になることがわかります。もちろん $F_2$ も $F_{16}$ の部分体ですが、$F_8$ は $F_{16}$ の部分体にはなりません。
 ところで、$F_2$ 上の多項式 $X^{16}-X$ の各既約因子の根をべき表現で表すと、
\begin{eqnarray*}
X \ &:& \ 0 \\
X-1 \ &:& \ \alpha^0 \\
X^2+X+1 \ &:& \ \alpha^5, \alpha^{10} \\
X^4+X+1 \ &:& \ \alpha^1, \alpha^2, \alpha^4, \alpha^8 \\
X^4+X^3+1 \ &:& \ \alpha^{14}, \alpha^{13}, \alpha^{11}, \alpha^7 \\
X^4+X^3+X^2+X+1 \ &:& \ \alpha^3, \alpha^6, \alpha^{12}, \alpha^9
\end{eqnarray*}
となります。この場合、$3$つの$4$次の既約多項式のうち、$X^4+X+1$ と $X^4+X^3+1$ の根は $F_{16}^\times$ の原始元になりますが、$X^4+X^3+X^2+X+1$ の根は原始元にはなりません(もちろん $X^2+X+1$ の根も原始元にはなりません)。$X^4+X^3+X^2+X+1$ の根をもとにベクトル表現を考えると、乗算表を作るときに上での方法が使えずに苦労する羽目になります。
 既約多項式の根が$2$乗しても同じ既約多項式の根になっているのは、$F_8$ や $F_4$ など他の標数2の有限体と同様です。

 とりあえずここまで。

(本記事の加算表と乗算表は、LibreOfficeで作成したものをこのサイトを使用してHTMLに変換したものです。サイトの作成者様に感謝いたします。)

(続く)

nice!(0)  コメント(0) 
共通テーマ:学問

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。