【符号理論 vol.8】原始既約多項式による拡大体の構成(その2):根の添加と巡回群
はじめに
こんにちは、TechBulkです。 前回は、既約多項式 で割った余りの世界 が「体」になる、という話をしました。
今回は、この拡大体の構成を「方程式の根(解)を付け足す」という、少し違った(でも本質的には同じ)視点から見ていきます。そして、拡大体の中にある「計算を劇的に簡単にする魔法の構造(巡回群)」について解説します。
1. 複素数とのアナロジー:解がなければ作ればいい
突然ですが、実数 の世界で方程式 を解くことはできますか? できませんよね。2乗してマイナスになる数は実数には存在しないからです。
そこで数学者たちは、「解がないなら、その解を新しい数として定義してしまおう!」と考えました。これが虚数単位 です。
- 実数 に、 の根である を添加する。
- 新しい世界(複素数体 )では、 という形で数を表す。
実は、符号理論で扱う有限体の拡大も、これと全く同じことをしています。
GF(2) に根を添加する
私たちの基礎となる世界は、0と1だけの です。 ここで、前回の成功例である多項式 を考えます。
実はこの式は、単なる既約多項式ではなく、「原始既約多項式(Primitive Polynomial)」と呼ばれる特別な多項式です。 この方程式の解(根)を (アルファ)と名付けて、 に付け足してみましょう。
つまり、 は以下の性質を持つ新しい「数」です。
ではマイナスはプラスと同じ()なので、移項すると次の重要な等式が得られます。
魔法の等式:次数の低下
この等式を使えば、 以上の次数が出てきても、必ず2次以下に書き換えることができます。
2. 拡大体 の要素を書き出す
を添加してできる拡大体 の要素は、 の2次以下の多項式(線形結合)で表されます。 係数は0か1しかないので、組み合わせは 通りです。
これですべての要素が出揃いました。これを「多項式表現」と呼びます。足し算をする時は、この形が便利です(係数同士を すればいいだけなので)。
3. 原始元と巡回群:掛け算を簡単にする仕組み
さて、ここからが今回のハイライトです。 先ほどの「多項式表現」で掛け算を行うのは少し面倒です。毎回 を使って次数を下げる計算が必要だからです。
そこで、 のべき乗()を順に計算して、リスト(表)を作ってみましょう。
| べき乗表現 | 多項式表現への変換 | 結果 |
|---|---|---|
次へ行って を計算すると…?
なんと、 (つまり )に戻りました!
巡回群(Cyclic Group)
この計算結果からわかる驚くべき事実は以下の2点です。
- から までの7個の要素は、すべて異なり、 以外のすべての要素と一致する。
- となり、以降はループする(巡回する)。
このように、ある要素(ここでは )のべき乗だけで、その体(を除く)のすべての要素が表現できるとき、その要素 を「原始元(Primitive Element)」と呼びます。 また、このような構造を「巡回群」と呼びます。
有限体 の 以外の要素の集合は、ある原始元 によって生成される巡回群となる。
⚠️ 注意:多項式の選び方
すべての既約多項式の根が「原始元」になるわけではありません。
その根が原始元となり、上記のような巡回群を生成できるのは、選んだ多項式が「原始既約多項式」である場合に限られます。
(符号理論で原始既約多項式が重視されるのは、この性質があるからです!)
なぜこれが嬉しいのか?
この「べき乗表現」を使うと、掛け算と割り算が圧倒的に簡単になります。 例えば、 を計算したいとき、多項式表現だと大変ですが、べき乗表現なら指数法則を使うだけです。
なので、 です。 一瞬で答えが出ました!
対数(log)を使って掛け算を足し算にするのと同じ感覚ですね。この性質は、誤り訂正符号(リード・ソロモン符号など)のエンコード・デコード計算でフル活用されます。
4. まとめ
2回にわたって拡大体の構成を見てきました。
- 多項式表現: と の係数を持つ多項式。加法(足し算)に便利。
- べき乗表現: 原始元 の 乗。乗法(掛け算)に便利。
コンピュータの中で計算する際は、この2つの表現を目的に応じて使い分けることで、複雑な演算を高速に処理しているのです。