「情報理論 - ガロア体」の版間の差分

 
(同じ利用者による、間の10版が非表示)
64行目: 64行目:
そして、体F上の多項式間の演算は、実数体上の多項式と同様に行う。<br>
そして、体F上の多項式間の演算は、実数体上の多項式と同様に行う。<br>
<br>
<br>
==== 原始多項式 ====
<math>f(x) \in R[X]</math> の全ての係数の最大公約元が単元である時、<math>f(x)</math> は原始多項式(primitive polynomial)という。<br>
<br>
例 :<br>
<math>f(x) = 2x^{3} + 2x^{2} + 2x + 2 \in Z[x]</math> は全ての係数が2で除算できるため原始多項式ではない。<br>
<math>f(x) = 6x^{2} + 3x + 4 \in Z[x]</math> は原始多項式である。<br>
<br>
原始多項式の特徴<br>
* 全ての最小多項式は既約であるから,原始多項式は既約である。
* 原始多項式の定数項の係数は、非零でなければならない。<br>そうでないと,多項式xで因数分解できてしまうからである。
* <math>GF(2)</math> においては、<math>x + 1</math> は原始多項式であるが、それ以外の全ての原始多項式は奇数個の項を持つ。<br>なぜなら、偶数個の項を持つ多項式は、<math>\mod{2}</math> では必ず多項式 <math>(x + 1)</math> で因数分解できてしまうからである。<br>(すなわち、<math>x = 1</math> を根として持つ)
<br>
==== 既約多項式 ====
==== 既約多項式 ====
体F上の多項式で、それよりも次数の低い体F上多項式に因数分解できない多項式を既約多項式という。<br>
体F上の多項式で、それよりも次数の低い体F上多項式に因数分解できない多項式を既約多項式という。<br>
227行目: 240行目:
|-
|-
| style="background-color:#66CCFF;" | <math>\omega</math>  
| style="background-color:#66CCFF;" | <math>\omega</math>  
| 0 || <math>\omega</math> || <math>\omega + 1</math> || <math>\omega</math>
| 0 || <math>\omega</math> || <math>\omega + 1</math> || 1
|-
|-
| style="background-color:#66CCFF;" | <math>\omega + 1</math>  
| style="background-color:#66CCFF;" | <math>\omega + 1</math>  
233行目: 246行目:
|}
|}
</center>
</center>
<br>
また、これらは商に関しても閉じている。<br>
上表より、<math>\omega (1 + \omega) = 1</math>であるから、<math>\omega = (\omega + 1)^{-1}</math>である。<br>
これは、<u><math>1 + \omega</math>の逆元<math>(1 + \omega)^{-1}</math>は、<math>1 + \omega</math>との積が1となる元である</u>ことを意味する。<br>
<math>\frac{\omega}{1 + \omega} = \omega (1 + \omega)^{-1} = \omega \times \omega = \omega^2 = \omega + 1</math><br>
<br>
以上のように、集合<math>\{0, 1, \omega, \omega + 1 \}</math>は、四則において閉じており、体である。<br>
この体のことをGF(2<sup>2</sup>)と表し、<u>GF(2)の2次の拡大体</u>という。<br>
<br>
GF(2<sup>2</sup>)の要素の累乗表示において、<math>\omega^2 = \omega + 1, \quad \omega^3 = \omega \times \omega^2 = \omega (\omega + 1) = 1</math>より、<br>
<math>GF(2^2) = \{ 0, 1, \omega, \omega^2 \}</math>となる。<br>
すなわち、集合GF(2<sup>2</sup>)は、以下の2つの表示をすることができる。<br>
* 線形表示
*: <math>GF(2^2) = \{ 0, 1, \omega, \omega + 1 \}</math> まとめて <math>\{ a + b \omega; a, b \in GF(2) \}</math>
* 累乗表示
*: <math>GF(2^2) = \{ 0, 1, \omega, \omega^2 \}</math> まとめて <math>\{ 0, \omega^{i}; i = 0, 1, 2 \}</math>
<br>
累乗表示の性質から、ωをGF(2<sup>2</sup>)の原始根といい、ωを根にもつ<math>f(x) = x^2 + x + 1</math>をGF(2<sup>2</sup>)の原始多項式という。<br>
さらに、<math>(x - \omega)(x - \omega^2) = x^2 - x(\omega + \omega^2) + \omega^3 = x^2 + x + 1 = f(x)</math>であるから、原始多項式f(x)はGF(2<sup>2</sup>)で<math>f(x) = (x - \omega)(x - \omega^2)</math>と因数分解される。<br>
<br>
==== GF(2)の3次の拡大体 ====
GF(2)の2次の拡大体の構成法にならって、GF(2)の3次の拡大体を構成する。<br>
<br>
まず、GF(2)上の3次の既約多項式を求める。<br>
GF(2)上の3次の多項式<math>f(x) = x^3 + ax^2 + bx + c \quad (a, b, c \in GF(2))</math>がGF(2)上で既約であるとは、<br>
<math>f(0) = c \ne 0</math> かつ <math>f(1) = 1 + a + b + c \ne 0</math>であるから、<math>(a, b, c) = (1, 0, 1) \quad (0, 1, 1)</math>となる場合である。<br>
したがって、GF(2)上の既約多項式は、以下の2つとなる。<br>
<math>f(x) = x^3 + x^2 + 1, \quad f(x) = x^3 + x + 1</math><br>
<br>
GF(2)の3次の拡大体GF(2<sup>3</sup>)を構成するには、まず、GF(2)の3次の既約多項式<math>f(x) = x^3 + x + 1</math>を取り上げる。<br>
f(x) = 0の根をωとする時、<math>\omega^3 + \omega + 1 = 0</math>となり、したがって、<math>\omega^3 = - \omega - 1 = \omega + 1</math><br>
また、<math>\omega \ne 0, \quad \omega \ne 1</math>であるから、ωはGF(2)に含まれない。<br>
<br>
このωを用いて集合<math>\{ a + b \omega + c \omega^2; a, b, c \in GF(2) \}</math>を作る。<br>
この集合の要素を全て書くと、<math>\{ 0, 1, \omega, \omega + 1, \omega^2, \omega^2 + 1, \omega^2 + \omega, \omega^2 + \omega + 1 \}</math>となる。<br>
この8個の要素のどの2つを加算しても、この集合の要素となる。<br>
ちなみに、3次の既約多項式<math>f(x) = x^3 + x + 1</math> を用いる場合、<math>\omega^3 + \omega + 1 = 0, \quad \omega^3 = - \omega - 1, \quad \omega^3 = \omega + 1</math>となる。<br>
<br>
すなわち、この集合の和は閉じている。差においても閉じていることは明らかである。<br>
<br>
下表に、この集合(GF(2)の3次の拡大体GF(2<sup>3</sup>))の積の演算を示す。<br>
<center>
{| class="wikitable" | style="text-align: center; background-color:#fefefe;"
|-
! style="background-color:#66CCFF;" | 積
! style="background-color:#66CCFF;" | 1
! style="background-color:#66CCFF;" | <math>\omega</math>
! style="background-color:#66CCFF;" | <math>\omega + 1</math>
! style="background-color:#66CCFF;" | <math>\omega^2</math>
! style="background-color:#66CCFF;" | <math>\omega^2 + 1</math>
! style="background-color:#66CCFF;" | <math>\omega^2 + \omega</math>
! style="background-color:#66CCFF;" | <math>\omega^2 + \omega + 1</math>
|-
| style="background-color:#66CCFF;" | 1
| 1 || <math>\omega</math> || <math>\omega + 1</math> || <math>\omega^2</math> || <math>\omega^2 + 1</math> || <math>\omega^2 + \omega</math> || <math>\omega^2 + \omega + 1</math>
|-
| style="background-color:#66CCFF;" | <math>\omega</math>
| <math>\omega</math> || <math>\omega^2</math> || <math>\omega^2 + \omega</math> || <math>\omega + 1</math> || 1 || <math>\omega^2 + \omega + 1</math> || <math>\omega^2 + 1</math>
|-
| style="background-color:#66CCFF;" | <math>\omega + 1</math>
| <math>\omega + 1</math> || <math>\omega^2 + \omega</math> || <math>\omega^2 + 1</math> || <math>\omega^2 + \omega + 1</math> || <math>\omega^2</math> || 1 || <math>\omega</math>
|-
| style="background-color:#66CCFF;" | <math>\omega^2</math>
| <math>\omega^2</math> || <math>\omega + 1</math> || <math>\omega^2 + \omega + 1</math> || <math>\omega^2 + \omega</math> || <math>\omega</math> || <math>\omega^2 + 1</math> || 1
|-
| style="background-color:#66CCFF;" | <math>\omega^2 + 1</math>
| <math>\omega^2 + 1</math> || 1 || <math>\omega^2</math> || <math>\omega</math> || <math>\omega^2 + \omega + 1</math> || <math>\omega + 1</math> || <math>\omega^2 + \omega</math>
|-
| style="background-color:#66CCFF;" | <math>\omega^2 + \omega</math>
| <math>\omega^2 + \omega</math> || <math>\omega^2 + \omega + 1</math> || 1 || <math>\omega^2 + 1</math> || <math>\omega + 1</math> || <math>\omega</math> || <math>\omega^2</math>
|-
| style="background-color:#66CCFF;" | <math>\omega^2 + \omega + 1</math>
| <math>\omega^2 + \omega + 1</math> || <math>\omega^2 + 1</math> || <math>\omega</math> || 1 || <math>\omega^2 + \omega</math> || <math>\omega^2</math> || <math>\omega + 1</math>
|}
</center>
<br>
例.1<br>
<math>\omega^2 (1 + \omega + \omega^2) = \omega^2 + \omega^3 + \omega^4 = \omega^2 + \omega + 1 + \omega (\omega + 1) = 1</math>
<br>
例.2<br>
<math>\omega^2 + \omega + 1</math>の逆元は、積が1となる元<math>\omega^2</math>である。
<math>\omega^2 (\omega^2 + \omega + 1) = 1</math>より、<math>\omega^2 = \frac{1}{\omega^2 + \omega + 1}</math>である。
例えば、<math>\frac{\omega}{\omega^2 + \omega + 1} = \omega \times \omega^2 = \omega^3 = \omega + 1</math>となる。
<br>
上式のように、ωを<math>\omega^2 + \omega + 1</math>で割った結果もこの集合の要素となる。<br>
同様に、商に関しても閉じていることが分かる。<br>
<br>
以上のように、集合<math>\{ 0, 1, \omega, \omega + 1, \omega^2, \omega^2 + 1, \omega^2 + \omega, \omega^2 + \omega + 1 \}</math>は、四則に関して閉じているため、体である。<br>
<u>この体をGF(2<sup>3</sup>)と表し、GF(2)の3次拡大体という。</u><br>
<br>
GF(2<sup>3</sup>)の累乗表示において、<math>\omega^3 = \omega + 1, \quad \omega^4 = \omega^2 + \omega, \quad \omega^5 = \omega^2 + \omega + 1, \quad \omega^6 = \omega^2 + 1</math>となる。<br>
このように、GF(2<sup>3</sup>)の要素は、ωの累乗で表されることがわかる。<br>
したがって、GF(2<sup>3</sup>)は、以下の2つの表示をすることができる。<br>
* <math>GF(2^3) = \{ 0, 1, \omega, \omega + 1, \omega^2, \omega^2 + 1, \omega^2 + \omega, \omega^2 + \omega + 1 \}</math><br><math>\Rightarrow \{ a + b \omega + c \omega^2; a, b, c \in GF(2) \}</math>
* <math>GF(2^3) = \{ 0, 1, \omega, \omega^2, \omega^3, \omega^4, \omega^5, \omega^6 \}</math><br><math>\Rightarrow \{ 0, \omega^{i}; 0, 1, 2, \cdots, 6 \}</math>
<br>
ωはGF(2<sup>3</sup>)の原始根、<math>f(x) = x^3 + x + 1</math>はGF(2<sup>3</sup>)の原始多項式である。<br>
<br>
GF(2<sup>3</sup>)の原始多項式<math>f(x) = x^3 + x + 1</math>の因数分解は、<math>f(x) = (x - \omega)(x - \omega^2)(x - \omega^4)</math>となる。<br>
また、GF(2)上のもう1つの3次の既約多項式<math>g(x) = x^3 + x^2 + 1</math>は、<math>g(x) = (x - \omega^3)(x - \omega^5)(x - \omega^7)</math>と因数分解される。<br>
したがって、GF(2)では3次の既約多項式として、<math>f(x) = x^3 + x + 1</math>の代わりに<math>g(x) = x^3 + x^2 + 1</math>を用いても、同じ3次の拡大体GF(2<sup>3</sup>)が得られる。<br>
<br>
例.3
上表(GF(2)の3次の拡大体GF(2<sup>3</sup>)の積の演算表)を用いて、GF(2<sup>3</sup>)内の次の要素の逆元を求める。
<math>\omega^2 + 1</math>の逆元
上表から、<math>\omega (\omega^2 + 1) = 1, \quad \omega = (\omega^2 + 1)^{-1}</math>となり、逆元は<math>\omega</math>である。
<math>\omega^2 + \omega</math>の逆元
上表から、<math>(\omega + 1)(\omega^2 + \omega) = 1, \quad \omega + 1 = (\omega^2 + \omega)^{-1}</math>となり、逆元は<math>\omega + 1</math>である。
<math>\omega^5</math>の逆元
<math>\omega^5 = \omega^2(\omega + 1) = \omega^3 + \omega^2 = \omega^2 + \omega + 1</math>である。
上表から、<math>\omega^2 (\omega^2 + \omega + 1) = 1, \quad \omega^2 = (\omega^2 + \omega + 1)^{-1}</math>となり、逆元は<math>\omega^2</math>である。
<br>
例.4
ωを<math>x^3 + x + 1 = 0</math>の根とする時、次の値を<math>a + b \omega + c \omega^2 \quad (a, b, c \in GF(2))</math>の形で表す。
1. <math>\frac{\omega^2}{\omega^2 + \omega}</math>
<math>\frac{1}{\omega^2 + \omega}</math>は、<math>(\omega + 1)(\omega^2 + \omega) = 1</math>より、<math>\frac{1}{\omega^2 + \omega} = \omega + 1 \quad \cdots (1)</math>
(1)式より、<math>\frac{\omega^2}{\omega^2 + \omega} = \omega^2 (\omega + 1) = \omega^3 + \omega^2 = \omega^2 + \omega + 1</math>となる。
2. <math>\frac{\omega^2 + \omega + 1}{\omega^4}</math>
<math>\frac{1}{\omega^4} = \frac{1}{\omega^2 + \omega}</math>は、<math>(\omega + 1)(\omega^2 + \omega) = 1</math>より、<math>\frac{1}{\omega^2 + \omega} = \omega + 1 \quad \cdots (2)</math>
(2)式より、<math>\frac{\omega^2 + \omega + 1}{\omega^4} = (\omega^2 + \omega + 1)(\omega + 1) = \omega^3 + \omega^2 + \omega + \omega^2 + \omega + 1 = \omega^3 + 1 = \omega</math>
<br><br>
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:情報理論]]
[[カテゴリ:情報理論]]

2023年12月30日 (土) 16:36時点における最新版

概要

誤り検出能力や誤り訂正能力を高めるための基礎的な理論には、体と拡大体の考え方が用いられる。
ここでは、体と拡大体の基本的な考え方を記載する。


有理数の全体を とする時、 は四則で閉じている。
すなわち、  とすると、以下が成り立つ。
 

同様に、実数の全体を とする時、 も四則で閉じている。

集合 に限らず、四則で閉じている集合を体という。
特に、集合 を有理数体、集合 を実数体という。

下図に、群環体の定義を示す。



ガロア体

体には、要素数が有限のものもあり、これをガロア体(有限体)といい、要素数がq個であるガロア体をGF(q)で表す。
特に、GF(2)は0と1の要素から成り、加法と乗法の演算は下表のようになる。
GF(2)のことを、Z/2Zで表すこともある。

GF(2)の加法演算では、1 + 1 = 0となることに注意すること。

また、加法についての単位元は0、乗法についての単位元は1である。

GF(2)の加法演算
+ 0 1
0 0 1
1 1 0


GF(2)の乗法演算
× 0 1
0 0 0
1 0 1



多項式

体F上の多項式

体Fの要素を係数とする多項式を、体F上の多項式と呼ぶ。
そして、体F上の多項式間の演算は、実数体上の多項式と同様に行う。

原始多項式

  の全ての係数の最大公約元が単元である時、  は原始多項式(primitive polynomial)という。

例 :
  は全ての係数が2で除算できるため原始多項式ではない。
  は原始多項式である。

原始多項式の特徴

  • 全ての最小多項式は既約であるから,原始多項式は既約である。
  • 原始多項式の定数項の係数は、非零でなければならない。
    そうでないと,多項式xで因数分解できてしまうからである。
  •   においては、  は原始多項式であるが、それ以外の全ての原始多項式は奇数個の項を持つ。
    なぜなら、偶数個の項を持つ多項式は、  では必ず多項式   で因数分解できてしまうからである。
    (すなわち、  を根として持つ)


既約多項式

体F上の多項式で、それよりも次数の低い体F上多項式に因数分解できない多項式を既約多項式という。
特に、次数がmである時、m次既約多項式という。

例.1
多項式 は、全ての係数がGF(2)の要素0、1であるから、GF(2)上の多項式である。
 

 

例.2
多項式   は、GF(2)上の3次の既約多項式である。

例.3
5次多項式  は、 と因数分解できるため、既約多項式ではない。

GF(2)の既約多項式の求め方

m次の既約多項式を求めるには、まず、m次の次数が存在する必要がある。(例. 3次既約多項式ではx3、5次既約多項式ではx5等)

  のため、係数は0、 1のいずれかである。
もし、係数が2以上の値の時は、係数に を用いて計算する。

  • 1次既約多項式

GF(2)上の1次既約多項式を求めるには、 において、因数分解できないため、1次既約多項式は、 の2つである。

2次以降の既約多項式では、必ず定数項を含むことに注意する。
なぜなら、定数項が存在しない場合、 となり、また、f(x)は1次既約多項式xで可約だから(因数分解できるから)である。

  • 2次既約多項式

2次既約多項式を求めるには、 とする時、  (床関数)だから、
f(x)が1次既約多項式で因数分解できなければよく、かつ、剰余定理から ならばよい。
(床関数とは、 を満たす整数nのことを と記述する。 は、xを超えない最大の整数とも言える。)

 
 
したがって、2次既約多項式は、 となる。

  • 3次既約多項式

3次既約多項式を求めるには、 とする時、 だから、
f(x)が1次既約多項式で因数分解できなければよく、かつ、剰余定理から ならばよい。
 
 
したがって、3次既約多項式は、  の2つとなる。

  • 4次既約多項式

4次既約多項式を求めるには、 とする時、 だから、
f(x)が2次以下の既約多項式で因数分解できなければよく、かつ、剰余定理から ならばよい。
 
 

f(x)を2次の既約多項式 で割った剰余は、 

 が同時に0になってはならないため、 
 
 

 
したがって、4次既約多項式は、  の3つとなる。

5次既約多項式を、以下に示す。

  • x
  • 1 + x

  • 1 + x + x2

  • 1 + x + x3
  • 1 + x + x3

  • 1 + x3 + x4
  • 1 + x + x2 + x3 + x4
  • 1 + x + x4

  • 1 + x3 + x5
  • 1 + x2 + x5
  • 1 + x + x2 + x3 + x5
  • 1 + x + x3 + x4 + x5
  • 1 + x2 + x3 + x4 + x5
  • 1 + x + x2 + x4 + x5



拡大体

体Kが体F上を含む時、体Kを体Fの拡大体という。
実数体 は、有理数体 の拡大体である。
体F上の既約多項式f(x)がある時、方程式f(x) = 0の根ωを用いて、体Fの拡大体Kを作ることができる。

GF(2)の2次の拡大体

GF(2)上の2次の既約多項式は、 だけである。

f(x) = 0の根をωとすると、 が成り立つ。
このωを用いて、集合 を作ると、この集合は体となる。

a、bは0か1であるから、この集合の要素は となる。
この集合の任意の2要素の和もこの集合に属する。
また、この集合の任意の2要素の積もこの集合に属する。

例.1
 より、 である。
これは、GF(2)では、加えることと減ずることは同じことを意味する。

例.2
 

例.3
2次の既約多項式 において、f(x) = 0の根をωとすると、 より、 
また、 より、 
したがって、  

例.4
 

下表に、GF(2)の2次の拡大体の演算を示す。

0 1    
0 0 1    
1 1 0    
      0 1
      1 0


0 1    
0 0 0 0 0
1 0 1    
  0     1
  0   1  


また、これらは商に関しても閉じている。
上表より、 であるから、 である。
これは、 の逆元 は、 との積が1となる元であることを意味する。
 

以上のように、集合 は、四則において閉じており、体である。
この体のことをGF(22)と表し、GF(2)の2次の拡大体という。

GF(22)の要素の累乗表示において、 より、
 となる。
すなわち、集合GF(22)は、以下の2つの表示をすることができる。

  • 線形表示
      まとめて  
  • 累乗表示
      まとめて  


累乗表示の性質から、ωをGF(22)の原始根といい、ωを根にもつ をGF(22)の原始多項式という。
さらに、 であるから、原始多項式f(x)はGF(22)で と因数分解される。

GF(2)の3次の拡大体

GF(2)の2次の拡大体の構成法にならって、GF(2)の3次の拡大体を構成する。

まず、GF(2)上の3次の既約多項式を求める。
GF(2)上の3次の多項式 がGF(2)上で既約であるとは、
  かつ  であるから、 となる場合である。
したがって、GF(2)上の既約多項式は、以下の2つとなる。
 

GF(2)の3次の拡大体GF(23)を構成するには、まず、GF(2)の3次の既約多項式 を取り上げる。
f(x) = 0の根をωとする時、 となり、したがって、 
また、 であるから、ωはGF(2)に含まれない。

このωを用いて集合 を作る。
この集合の要素を全て書くと、 となる。
この8個の要素のどの2つを加算しても、この集合の要素となる。
ちなみに、3次の既約多項式  を用いる場合、 となる。

すなわち、この集合の和は閉じている。差においても閉じていることは明らかである。

下表に、この集合(GF(2)の3次の拡大体GF(23))の積の演算を示す。

1            
1 1            
          1    
            1  
              1
    1          
      1        
        1      


例.1
 


例.2
 の逆元は、積が1となる元 である。  より、 である。 例えば、 となる。


上式のように、ωを で割った結果もこの集合の要素となる。
同様に、商に関しても閉じていることが分かる。

以上のように、集合 は、四則に関して閉じているため、体である。
この体をGF(23)と表し、GF(2)の3次拡大体という。

GF(23)の累乗表示において、 となる。
このように、GF(23)の要素は、ωの累乗で表されることがわかる。
したがって、GF(23)は、以下の2つの表示をすることができる。

  •  
     
  •  
     


ωはGF(23)の原始根、 はGF(23)の原始多項式である。

GF(23)の原始多項式 の因数分解は、 となる。
また、GF(2)上のもう1つの3次の既約多項式 は、 と因数分解される。
したがって、GF(2)では3次の既約多項式として、 の代わりに を用いても、同じ3次の拡大体GF(23)が得られる。

例.3
上表(GF(2)の3次の拡大体GF(23)の積の演算表)を用いて、GF(23)内の次の要素の逆元を求める。

 の逆元
上表から、 となり、逆元は である。

 の逆元
上表から、 となり、逆元は である。

 の逆元
 である。
上表から、 となり、逆元は である。


例.4
ωを の根とする時、次の値を の形で表す。

1.  
 は、 より、 
(1)式より、 となる。


2.  
 は、 より、 
(2)式より、