バイナリBCH符号の核心である「なぜ特定の根をセットで扱うのか」と「なぜ係数が0か1になるのか」について解説します。
1. なぜ α,α2,α4 はセットなのか?(共役元)
バイナリ体(特性2の体)において、ある多項式 f(x)の係数が 0か 1であるとき非常に特殊な性質が成り立ちます。
フロベニウス写像 (Frobenius Endomorphism)
特性 pの体において
(a+b)p=ap+bp
が成り立ちます。バイナリ体(p=2)では、これを**「1年生の夢 (Freshman's Dream)」**と呼びます。
この性質により、もし βが f(x)=0の根ならばその 2乗である β2も根になります。
これを繰り返すと、α1を根に持つためには自動的に以下の「共役元(Conjugate elements)」のセットをすべて根に持たなければなりません。
α→α2→α4→α8
ここで今回の符号長 n=7なので、α7=1です。したがって α8=α1となりループが閉じます。
結果として**{α,α2,α4}** という集合(これを共役類と呼びます)が導き出されます。
2. 具体的な計算:係数が 0, 1 になる仕組み
実際に
(x−α)(x−α2)(x−α4)
を展開して係数がどうなるか見てみましょう。
展開ステップ
まず
(x−α)(x−α2)
を計算します。
(x−α)(x−α2)=x2−(α+α2)x+α3
次にこれに (x−α4)を掛けます。
(x2−(α+α2)x+α3)(x−α4)
整理すると:
x3−(α+α2+α4)x2+(α3+α5+α6)x−α7
(※ GF(2)では −1=1であり、α7=1です)
有限体の値の代入
ここで、GF(23)の定義(原始多項式 x3+x+1=0⇒α3=α+1)を使って各係数を計算します。
-
x2 の係数: α4+α2+α
- α3=α+1
- α4=α(α+1)=α2+α
代入:
(α2+α)+α2+α=2α2+2α=0
-
x1 の係数: α6+α5+α3
- α3=α+1
- α5=α2+α+1
- α6=α2+1
代入:
(α2+1)+(α2+α+1)+(α+1)=2α2+2α+3≡1(mod2)
結果
(x−α)(x−α2)(x−α4)=x3+x+1
見事に係数が 0と 1だけになり、最初に定義した原始多項式と一致しました。