誰かが全部まぼろしだと教えてくれたら、わたしはどこへ行くだろう
2003年度
10月1日 符号の消失を復元する
10月8日 ユークリッド互除法。最大公約数
10月15日 多項式環、ユークリッド互除法と最大公約多項式
10月22日ガロア体の表現(既約多項式の根による巡回群としての表現同じことだが べき表現)
10月29日 べき表現、多項式表現、ベクトル表現
11月5日 パリティ検査行列、正しく復号される確率
11月12日 ハミング符号、RM符号
11月19日 巡回符号、多項式による符号化
11月26日 最小多項式、1文字まで訂正(BCH)
12月3日 2文字まで訂正(BCH)
12月10日 Reed−Solomon符号
12月17日 代数的復号法
1月14日
符号代数練習帳 pdf版
目次:
第1部 ガロアが考えたことガロアが知らなかったこと
第2部
ガロア拡大体の理論(気合入れて書いたよ。だれか読んでね。)
第3部 リードソロモン符号
第1部 ガロアが考えたことガロアが知らなかったこと
公開鍵暗号・共通鍵暗号(under consruction)
:整数 …-4,-3,-2,-1,0,1,2,3,4,…
:
をmで割ったあまりの空間
ものがたり:
mが素数なら
は都合が良い。そのときは、
は体になる。
有限な体を考察したいから。
コンピュータは有限。
でも、2進数0,1だけでできぬか?
2は素数だ、つまり
で考えよう。
しかし、記号のバラエティが少なすぎる。
は・・・
これは絶望的?
いや演算規則を変えればいいのだ
、
・・・
で演算規則をうまくやるとできる。
一般に
p:素数でうまくできる理論。
それが
というものがロア体
ぼくらはやがて
で物事を考えるだろう。
そこへいたる道程は長い。
しかし、若干20歳のガロアがそこまで見通したのか・・・
じゃ行こう
整数環
![]()
足し算表
|
+ |
0 |
1 |
|
0 |
0 |
1 |
|
1 |
1 |
0 |
掛け算表
|
・ |
0 |
1 |
|
0 |
0 |
0 |
|
1 |
0 |
1 |
べき乗表
|
・ |
1 |
2 |
|
0 |
0 |
0 |
|
1 |
1 |
1 |
は体である。
足し算表
|
+ |
0 |
1 |
2 |
|
0 |
0 |
1 |
2 |
|
1 |
1 |
2 |
0 |
|
2 |
2 |
0 |
1 |
かけ算表
|
・ |
0 |
1 |
2 |
|
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
2 |
|
2 |
0 |
2 |
1 |
べき乗表
|
・ |
2 |
3 |
4 |
|
0 |
0 |
0 |
0 |
|
1 |
1 |
1 |
1 |
|
2 |
1 |
2 |
1 |
は体である
![]()
足し算表
|
+ |
0 |
1 |
2 |
3 |
|
0 |
0 |
1 |
2 |
3 |
|
1 |
1 |
2 |
3 |
0 |
|
2 |
2 |
3 |
0 |
1 |
|
3 |
3 |
0 |
1 |
2 |
かけ算表
|
・ |
0 |
1 |
2 |
3 |
|
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
2 |
3 |
|
2 |
0 |
2 |
0 |
2 |
|
3 |
0 |
3 |
2 |
1 |
べき乗表
|
・ |
2 |
3 |
4 |
5 |
|
0 |
0 |
0 |
0 |
0 |
|
1 |
1 |
1 |
1 |
1 |
|
2 |
0 |
0 |
0 |
0 |
|
3 |
1 |
3 |
1 |
3 |
は環でない:掛け算が群になっていない(掛け算表で1が現れない行がある)
0でないもので逆元がないものがある(2は冪零)
体でない:
を体にする方法――>
の拡大体を考える
足し算表
|
+ |
0 |
1 |
2 |
3 |
4 |
|
0 |
0 |
1 |
2 |
3 |
4 |
|
1 |
1 |
2 |
3 |
4 |
0 |
|
2 |
2 |
3 |
4 |
0 |
1 |
|
3 |
3 |
4 |
0 |
1 |
2 |
|
4 |
4 |
0 |
1 |
2 |
3 |
かけ算表
|
・ |
0 |
1 |
2 |
3 |
4 |
|
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
2 |
3 |
4 |
|
2 |
0 |
2 |
4 |
1 |
3 |
|
3 |
0 |
3 |
1 |
4 |
2 |
|
4 |
0 |
4 |
3 |
2 |
1 |
べき乗表
|
|
2 |
3 |
4 |
5 |
|
0 |
0 |
0 |
0 |
0 |
|
1 |
1 |
1 |
1 |
1 |
|
2 |
4 |
3 |
1 |
2 |
|
3 |
4 |
2 |
1 |
3 |
|
4 |
1 |
4 |
1 |
4 |
は体である。
2,3は原始元である。
=![]()
![]()
足し算表
|
+ |
0 |
1 |
2 |
3 |
4 |
5 |
|
0 |
0 |
1 |
2 |
3 |
4 |
5 |
|
1 |
1 |
2 |
3 |
4 |
5 |
0 |
|
2 |
2 |
3 |
4 |
5 |
0 |
1 |
|
3 |
3 |
4 |
5 |
0 |
1 |
2 |
|
4 |
4 |
5 |
0 |
1 |
2 |
3 |
|
5 |
5 |
0 |
1 |
2 |
3 |
4 |
かけ算表
|
・ |
0 |
1 |
2 |
3 |
4 |
5 |
|
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
2 |
3 |
4 |
5 |
|
2 |
0 |
2 |
4 |
0 |
2 |
4 |
|
3 |
0 |
3 |
0 |
3 |
0 |
3 |
|
4 |
0 |
4 |
2 |
0 |
4 |
2 |
|
5 |
0 |
5 |
4 |
3 |
2 |
1 |
2、4に逆元なし
べき乗表
|
べき |
2 |
3 |
4 |
5 |
6 |
7 |
|
2 |
4 |
2 |
4 |
2 |
4 |
2 |
|
3 |
3 |
3 |
3 |
3 |
3 |
3 |
|
4 |
4 |
4 |
4 |
4 |
4 |
4 |
|
5 |
1 |
5 |
1 |
5 |
1 |
5 |
3、4は冪等
は体ではない
には原始元がない(巡回群でない)
![]()
足し算
|
+ |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
|
0 |
0 |
1 |
2 |
3 |
4 |
5 |
6 |
|
1 |
1 |
2 |
3 |
4 |
5 |
6 |
0 |
|
2 |
2 |
3 |
4 |
5 |
6 |
0 |
1 |
|
3 |
3 |
4 |
5 |
6 |
0 |
1 |
2 |
|
4 |
4 |
5 |
6 |
0 |
1 |
2 |
3 |
|
5 |
5 |
6 |
0 |
1 |
2 |
3 |
4 |
|
6 |
6 |
0 |
1 |
2 |
3 |
4 |
5 |
掛け算
|
・ |
1 |
2 |
3 |
4 |
5 |
6 |
|
1 |
1 |
2 |
3 |
4 |
5 |
6 |
|
2 |
2 |
4 |
6 |
1 |
3 |
5 |
|
3 |
3 |
6 |
2 |
5 |
1 |
4 |
|
4 |
4 |
1 |
5 |
2 |
6 |
3 |
|
5 |
5 |
3 |
1 |
6 |
4 |
2 |
|
6 |
6 |
5 |
4 |
3 |
2 |
1 |
すべて逆数があることがわかる(掛け算で群になっている)
|
べき |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
|
2 |
2 |
4 |
1 |
2 |
4 |
1 |
2 |
|
3 |
3 |
2 |
6 |
4 |
5 |
1 |
3 |
|
4 |
4 |
2 |
1 |
4 |
2 |
1 |
4 |
|
5 |
5 |
4 |
6 |
2 |
3 |
1 |
5 |
|
6 |
6 |
1 |
6 |
1 |
6 |
1 |
6 |
3,5が原始元である。
原始元![]()
=![]()
![]()
∖{0}は巡回群である。
![]()
![]()
ユークリッド互除法
a,bの最大公約数![]()
となる整数
の存在。
を素数とするといつも
になり、
![]()
すなわち
勝手なゼロでない整数
が与えられると、
を満たす、
が存在する。
つまり、素数
に対して、
は有限体(ガロア体)
となる事を意味してる。
要するに、
は
が素数だと有限体(ガロア体)になるが素数でなければ体にならない。
は 体でないと上で述べた。しかし、掛け算の規則を次のように変更してみる
かけ算表
|
・ |
0 |
1 |
2 |
3 |
|
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
2 |
3 |
|
2 |
0 |
2 |
3 |
1 |
|
3 |
0 |
3 |
2 |
1 |
これは
と書かれるガロア体とよばれるものになる。
かけ算表
|
・ |
0 |
1 |
|
|
|
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
|
|
|
|
0 |
|
|
1 |
|
|
0 |
|
|
1 |
において
、
、
、
としたもので、多項式の掛け算をして、![]()
でわったあまりを取ったものになっている。一般に素数
をとって
が多項式環
は、
を係数とする多項式
を適当な多項式
を使って構成することができる。
ここで、多項式
は既約、あるいは因数分解できないものを選ぶことによって、体に出来る。
これは、
と表現される。
を
でわったあまりが等しいものを同一視(同じ類に属する集合を要素とする集合、商空間という)
したものをあらわす。
メモ
多項式環:
のように多項式の空間で、和、積について閉じているもの。
ユークリッド互除法:多項式環において2つの多項式の最大公約多項式などを整数の場合とまったく同様に計算できる。
体の拡大:
から、
をつくったように、
から
を作ること。
を作る為の既約多項式
=0の根
を用いれば、
とあらわされ、ここで
は
においてベクトル空間として
一次独立であり
の基底になっていることを示すことができる。
を原始元
を原始多項式という。
![]()
これは
と同じ
![]()
係数が0か1の2次式は
、
、
、![]()
ですべてだがこのうち因数分解できないのは
だけである。
なぜなら、
だし、
などとなる。
そこで係数が0か1の多項式全体の空間
において
で割ったあまりを同一視する
空間
を考えると上で寛上げた
と書かれるガロア体とよばれるものになる。
かけ算表
|
・ |
0 |
1 |
|
|
|
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
1 |
|
|
|
|
0 |
|
|
1 |
|
|
0 |
|
|
1 |
であった。このとき、
の根
は
をみたし、
とかける。
が原始元である。掛け算表では
をこの元と同一視しても見かけ上かわらない。
のとき
係数が0か1の3次式は
、
、
、
、
、
、
、![]()
だけあるが、このうち既約なのは
と
の二つだけである。
をかんがえることにすると次の表を得る。読者は
を考えてみよ。
|
|
1 |
|
|
|
|
|
|
|
1 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
1 |
|
|
|
これをみると当然だが、対角線で対称になっていること、各行には必ず1がある(これは逆元の存在を保証する)。このようにできたのは
が既約であるからである。
ハミング符号
巡回符号
BCH符号
リードソロモン符号
暗号理論
楕円暗号
参考文献
平澤茂一・西島利尚 符号理論入門 培風館
岩永恭雄 代数学の基礎 日本評論社
硲 文夫 初等代数学 森北出版
硲 文夫 代数学 森北出版
硲 文夫 代数幾何学 森北出版
第2部 ガロア拡大体の理論
拡大体
四則演算(+、−、×、
/ )が定義されている代数を体という。
登場人物:
、
、
、
、![]()
整数。これは割り算すると整数でないものがあるから体ではない。
例:
だが
はできない。
。整数で
で割ったあまりは同一のものと考える。
が素数のときは体になる。ここで、整数論や素数理論が必要である。
(素数入門 芹沢 講談社 Blue Backs 参照。 暗号も書いてあり面白い)
![]()
と書いて、ガロア体と呼ぶ。
これは
0+0=0,0+1=1+0=1,1+1=0という足し算と
0×0=0,0×1=1×0=0,1×1=1なる掛け算があり、
1/1=1 なる割り算がある。
よって体である。
有限要素からなる体をガロア体と呼ぶ。
や![]()
、
や
があり、
は、
個の要素からなっている体で、
を満足する。
体が3つあり
と記号をきめると
なる関係があるとき
は
の拡大体、
は
の拡大体、
は
の拡大体などという。
は
の部分体、
は
の部分体、
は
の部分体などという。
は
と
の中間体、この3つの関係で一番小さい
は基礎体という。
この言い方すると
![]()
のようになり、どれが拡大体、部分体、中間体と呼んでいいかは明白であろう。
ハミング符号は0と1 だけから成る符号で基礎体
だけの演算の範囲での線形代数を考える。しかし、ハミング符号では1文字の誤りは訂正できるが、2文字以上の誤りがあるものは訂正できない。そこで、拡大体
や
を考えるとBCH符号、リードソロモン符号といった、
という記号を追加しながら、2文字以上の誤り訂正可能な符号を考えることが出来る。基本的には、2文字の誤り訂正には2次方程式が
3文字には3次方程式が、4文字には4次方程式がでてきて、これら方程式の根(=0となる解)を計算することにより、誤り位置を検出しこれを訂正できることになる。
話を拡大体の説明に戻す。
整数
の割り算
全体を考えるとこれらの要素は、四則演算してもまた整数の割り算として表されている。これを有理数といって
とあらわす。(有理数はrationalの日本語訳でrational には「合理的な」という意味と、「比率ratio」という意味が含まれていて明治時代の日本人が後者とするべきところを前者と間違えて翻訳し、間違えられたまま使われ続けているばかばかしい例ではないかとぼくは考えた)。
は体である。
は実数全体。
は体である。
は複素数全体。
は体である。
![]()
は
の拡大体、
は
の拡大体。
は
と
の中間体。
は
の拡大体。
拡大体にはいつも
を係数に持つ方程式を考えることから定義される。この場合
![]()
という方程式を考えると、この方程式には
には解がない。そこでこの方程式を満たす数
を導入して
というもの全体を考える。
足し算、引き算は
![]()
![]()
掛け算は
![]()
でここで、
が
の根であることから
をもちいて、
![]()
となり、通常は
という記号をもちいて、複素数
と書く。
この
全体を複素数全体
になり、
は
の拡大体であるという。
と
の中間体も考えることが出来る。
方程式
は
のなかに解を持たない。(多分
はしってるだろうけどこれは
整数の比、分数ではかけない。証明は高校で習った?)
の解を
と書いて、
全体を考え、
足し算、引き算は
![]()
![]()
掛け算は
![]()
でここで、
が
の根であることから
をもちいて、
![]()
となる。この
全体は、
と
の中間拡大体になる。
―――――
ガウスは
などというものを考え、これを整数とよび、普通の整数を有理整数といったんだ(わけわかんないけどね)
さて本題に戻ろう:
体
を体
の拡大
とする。
体
を体
の有限拡大とする。つまり、
は
上のベクトル空間である。
どんな
が与えられても、
の基底
をもちいて(
次元としておこう)、これに対して
を見つけることが出来、
![]()
とあらわせることである。(拡大体においての足し算と掛け算を定義の仕方からこうなるのだけど一次独立とか、線形空間とかの概念はいる。線形代数のことを思い出しておこう)
例:
は
の有限拡大である。基底を
、
とする。2次元ベクトル空間と考えられる。実際、複素数は2次元平面上の点として表される。
定義:
を
の拡大体であるとする。
はある多項式
(
を係数とする多項式)の根
となっているとき、
は
上代数的という。
定義:
を
の拡大体であるとする。
の要素がすべて
上代数的のとき、
を
の代数拡大という。多項式の根だけをつかって拡大できる場合代数拡大というのである。
自明だが:
定理:
は
の代数的拡大である。
証明:
は
の根である。
定理:
が
の有限拡大なら
は
の代数的拡大である。
証明:
なる任意要素は、ある多項式
の根
となることを示す。
は
上有限次元=
次元であるから、
は一次従属である。よって、あるすべてはゼロでない
が存在して
。
これは、
が
の根
となることを意味している。
証明おわり。
因数分解:
のように多項式を、いくつかの多項式の掛け算として表すことを因数分解という。
は因数分解できるだろうか?
実数の範囲で考えるとこれは出来ないが複素数の範囲で考えると![]()
![]()
と因数分解できる。拡大というのは
上で根を持たない多項式をゼロにする要素を導入して拡大(代数拡大)するので、
上因数分解できても
上で因数分解できないことが起きる。因数分解というのは根
を用い
という因子でくくりだすということでもあるから。うえでは、
は
の代数拡大であることを説明している。
因数分解できない多項式を既約多項式(これ以上、約せないもの)という。
ただし、この場合「
上」で因数分解できないというように、考えている体
をいちいち
明記する必要がある。また、最高次数の係数が1の多項式をモニック多項式という。
つまり、
![]()
となってる多項式である。
定理
が
上代数的ならば、
で
となる、既約なモニック多項式がひとつだけ存在する。
証明:
となる
。
が既約なら、最高次数の係数で割ったものを
とすればよい。
と因数分解されたら
と出来るはずで
次数が一番小さいものはひとつしかないことがユークリッド互除法を使えば証明できる。
この多項式を
の最小多項式と呼ぶ。
定義:
が
上代数的で、
を
の最小多項式とする。最小多項式は、モニック
の係数が1であることに注意しておく。
次のような集合を考える。
![]()
の要素 ![]()
と![]()
の足し算は
![]()
=![]()
と定義されるし、掛け算については
が
の根であることから、
を変数とみなして普通に計算して、
次より大きな
のべきは![]()
を用いて、掛け算の結果を、
だけの一次結合で表される。
の要素どうしの掛け算したものはまた
の要素となる。これが割り算をゆるすことすなわち、逆元が存在することは
が既約であることがその理由である。
このようにして
は
の拡大体で、
の部分体である。
このような方法で、
を拡大することを単純拡大という。
定理
は体である。
証明
をゼロでない元として、この元の逆元を求めてやろう。
その存在が示せれば、
が体であることがいえる。
次以下の多項式
をとると、
である。さもなければ、最小多項式
の次数が
であることとつじつまがあわなくなる。
多項式環におけるユークリッドの互除法により、
と
が互いに素だと、2つ多項式
、
をみつけて、
とできる。(一般に右辺は、
と
の最大公約関数だが
は既約である)
この式に
を代入すれば、
となり、
となるように
を変形しておけば、
が
の逆元であり、証明できたことになる。
おわり。
定理
は
の拡大で
と
を含む拡大体のなかでは最小のものである。
巡回符号の理論
符号全体の集まりを
と書く。
の要素つまり0か1を元とするベクトル
が巡回符号とは
![]()
![]()
![]()
と定義する。これは多項式の空間で考えると、
つまり多項式全体を
でわったあまりは同一視する。今の場合、
は1とおきかえる、
-------
たとえば、
とすると
は
となり
は
となる。1+1=0を使った。
---------
を考えるとき、
![]()
と表せる。言い直せば符号多項式
の全体は
のなかのイデアルとなっている。
符号を次のように構成する。
という送りたい情報ベクトルがあるとき
の因子で
次の多項式
をとり、
として符号を作る。
は生成多項式と呼ばれる。
を満たす
次以下の多項式を考え
パリティ検査行列という。すると、
![]()
となる。
以下教科書
符号理論 平澤、西島 培風館
4章以下を参照されたい。
第3部 リードソロモン符号
で考える。
送信符号。

注意:
も
もその要素は拡大体であることに注意する。
問題
をたしかめよ。
をみたす
はリードソロモン符号と呼ばれる。
(1)誤りが1個の場合:
桁目が
に化けたとする。
![]()
![]()

これから、2番目を1番目で割り
を求める。次に、1番目を
で割り
を求める。
(2)誤りが2個の場合:
![]()
![]()

、
とおき、上の4つの要素を
とする。
、
、
、![]()
つぎに、自明な式を2つ考える。
、
![]()
はじめの式に
をかけ2番目に
をかけて加えると
![]()
はじめの式に
をかけ2番目に
をかけて加えると
![]()
この連立方程式から、
と
が得られ、
の2次方程式を解くことにより
が得られる。
![]()
![]()
の連立一次方程式より、
と
が得られる。たとえば、
のときを考えると、
![]()
これから、
、
、
、
となり
![]()
![]()
これから
、
。
なる
は
。よって、![]()
。
つぎに、
、
より
はじめの式に
をかけてこれら2つを加えると
。つまり、
。よって、
。
また、
より
。
![]()
が答え。