BCH code

提供: tezos-wiki
移動先: 案内検索

[[codin15}}で)。我々は、}}の異なる値を考慮する その最小多項式は m_1(x)= x ^ 4 + x + 1である。 最初の14乗の最小多項式は次のとおりです。 (x)= m_4(x)= m_8(x)= x ^ 4 + x + 1、\、 (x)= m_ {12}(x)= x ^ 4 + x ^ 3 + x ^ 2 + x + 1、\、< / math> ; (x)= m_ {10}(x)= x ^ 2 + x + 1、\、 (x)= m_ {13}(x)= m_ {14}(x)= x ^ 4 + x ^ 3 + 1、m_ { ;

<math> d = 2,3 </ math>を有するBCHコードは、生成多項式を持つ

(x)= m_1(x)= x ^ 4 + x + 1、...、

最低3個の[Hamming distance]を持ち、1つのエラーを修正します。生成多項式は次数4であるため、このコードは11データビットと4チェックサムビットを持ちます。

<math> d = 4,5 </ math>のBCHコードは、生成多項式を持つ

(x ^ 4 + x + 1)(x ^ 4 + x ^ 3 + x ^ 2 + x + 1) 1)= x ^ 8 + x ^ 7 + x ^ 6 + x ^ 4 + 1 ^

最小ハミング距離が少なくとも5であり、最大2つのエラーを修正します。生成多項式は次数8であるため、このコードは7データビットと8チェックサムビットを持ちます。

<math> d = 6,7 </ math>を有するBCHコードは、生成多項式を持つ

<数学> \ begin {align} (x)、m_3(x)、m_5(x))\\ g(x) (x ^ 2 + x + 1)(x ^ 4 + x + 1) &{} = x ^ {10} + x ^ 8 + x ^ 5 + x ^ 4 + x ^ 2 + x + 1。 \ end {align} &lt; / math&gt;

最低7つのハミング距離があり、最大3つのエラーを修正します。生成多項式は次数10であるので、このコードは5データビットと10チェックサムビットを有する(この特定の生成多項式は、QRコードのフォーマットパターンで現実世界のアプリケーションを有する。)

<math> d = 8 </ math>のBCH符号は、それ以上は生成多項式を持つ

<数学> \ begin {align} (x)、m_3(x)、m_5(x)、m_7(x))\\ (x ^ 4 + x ^ 3 + 1)(x ^ 2 + x + 1)(x ^ 4 + x + 1) \\ &{} = x ^ {14} + x ^ {13} + x ^ {12} + \ cdots + x ^ 2 + x + 1。 \ end {align} &lt; / math&gt;

このコードは最小のハミング距離15を持ち、7つのエラーを修正します。それは1データビットと14チェックサムビットを持っています。実際、このコードには2つのコードワード、000000000000000と111111111111111しかありません。

一般的なBCHコード[編集]

一般的なBCHコードは、2つの点でプリミティブな狭センスBCHコードとは異なります。

まず、<math> \ alpha </ math>という条件は、 mathrm {GF}(q ^ m)の原始元である。リラックスすることができます。この要件を緩和することにより、符号長は以下のように変化する。【数1】ここで、 〜\ mathrm {ord}(\ alpha)、&lt; / math&gt;要素<alpha> </ math>の[[Order(group theory)| order]

第2に、生成多項式の連続的な根は、以下のように実行されてもよい:α1、α2、α3、α4、α5、α4、α5、 \ alpha \ {d-1}。&lt; / math&gt;の代わりに、\ alpha、\ ldots、

GF(q)、/ math&gt;を定義する。ここで、<math> q </ math>プライムパワーです。正の整数m、n、d、cを選択する。次のようになる。【数2】ここで、 (n、q)= 1、<math>、<math> math> m </ math>となる。は、<math> q </ math>のmultiplicative orderである。モジュロ&lt;数学&gt;

前と同様に、<math> \ alpha </ math> GF(q ^ m)、[math&gt;]の[[ユニティの原始的なn番目の根[原始的なn番目の根; m_i(x)</ math>とする。 (最小多項式(フィールド理論)|最小多項式)]であるとすると、GF(q)ここで、mは自然数であり、mは自然数である。すべての&lt; math&gt; i。&lt; / math&gt; BCHコードの生成多項式は、最小公倍数として定義される。【数1】【数2】【数3】 x))。&lt; / math&gt;

'注:' = q ^ m-1 </ math>単純化された定義の場合のように、<math> {\ rm gcd}(n、q)</ math>は1であり、qの次数はqである。モジュロ&lt; math&gt; n&lt; / math&gt;は、<math> mである。 したがって、簡略化された定義は実際には一般的な定義の特殊なケースです。

特殊なケース[編集]

  • <math> c = 1 </ math>を持つBCHコード。狭義のBCHコードと呼ばれています。
  • <math> n = q ^ m-1 </ math>を有するBCHコード。 「プリミティブ」と呼ばれています。

生成多項式g(x)/ mathは、 BCHコードの係数は、<math> \ mathrm {GF}(q)からの係数を有する。 一般的には、以下の式を用いて巡回符号を計算する。【数1】【数2】【数3】【数4】は、ここで、g(x)は、以下の式で表される。生成多項式がBCHコードと呼ばれるので、以下のようになる。【数1】【数2】ここで、 <math> \ mathrm {GF}(q ^ m)以上のBCH符号は、ここで、g(x)は、以下の式で表される。生成多項式をリードソロモン符号と呼ぶ。言い換えれば、リードソロモン符号は、復号アルファベットがチャネルアルファベットと同じBCH符号である。

プロパティ[編集]

BCH符号の生成多項式は、最大で次数(d-1)m / mathを有する。また、q = 2の場合には、 <math> c = 1 </ math>とすると、生成多項式の次数は最大でもdm / 2である。

各最小多項式m_i(x)/ mathは、多くても次数がm mである。 したがって、d-1 <math>の最小公倍数は、 (d-1)m </ math>の次数を有する。 また、<math> q = 2、<math> m_i(x)= m_ {2i}(x)</ math>すべての&lt; math&gt; i&lt; / math&gt;に対して。 したがって、g(x)</ math>は、最大でもd / 2の最小公倍数である。最小多項式m_i(x)</ math>奇数インデックスについては、<i、</ math>多くともm <math> m <math>の度合いである。

BCHコードは、少なくとも<math> d </ math>のハミング距離が最小である。

ここで、p(x)</ math>とする。は、<math> d </ math>より小さい符号語であり、非ゼロ項。その後、

:&LT;数学&GT; P(X)= b_1x ^ {K_1} + \ cdots + B_ {D-1} X ^ {K_ {D-1}}、\テキスト{} K_1&LT; K_2&LT; \ cdots&LT; K_ { d-1}となる。

ここで、α1、α2、α3、α4、α5、α5、は、g(x)、</ math>の根である。したがって、【数1】のp(x) これは、<数学> b_1、\ ldots、b_ {d-1} </ math> \ {c、\ dotsc、c + d-2 \} </ math>の各式について、以下の式を満たす。

:&LT;数学&GT; P(\アルファ^ I)= B_1アルファ^ {ik_1} + B_2 \アルファ^ {ik_2} + \ cdots + B_ {D-1} \アルファ^ \ {ik_ {D-1}} = 0である。

行列形式では、 :&lt;数学&gt; \ begin {bmatrix} \ alpha ^ {ck_1}&\ alpha ^ {ck_2}&\ cdots&\ alpha ^ {ck_ {d-1}} \\ \α^ {(c + 1)k_1}と\α^ {(c + 1)k_2} \ vdots&\ vdots && \ vdots \\ \α^ {(c + d-2)k_ {d-1}} \ \ \ end {bmatrix} \ begin {bmatrix} b_1 \\ b_2 \\\ vドット\\ b_ {d-1} \ end {bmatrix} = \ begin {bmatrix} 0 \\ 0 \\\ vドット\\ 0 \ end {bmatrix}。 &lt; / math&gt;

この行列の行列式は、 (右辺)\ det {begin {p-matrix}} \ left { 1&1&\ cdots&1 \\ \ alpha ^ {k_1}&\ alpha ^ {k_2}&\ cdots&\ alpha ^ {k_ {d-1}} \\ \ vdots&\ vdots && \ vdots \\ \ alpha ^ {(d-2)k_1}と\ alpha ^ {(d-2)k_2} \ end {pmatrix} = \ left(\ prod_ {i = 1} ^ {d-1} \ alpha ^ {ck_i} \ right)\ det(V)。&lt; / math&gt;

行列は以下の式で表される。 [Vandermonde行列]であるとみなされ、その行列式は次のようになります。 :&LT;数学&GT; \ DET(V)=​​ \ prod_ {1 \ルI&LT; J \ルD-1}(\アルファ^ {k_j} - \アルファ^ {K_I})、&LT;​​ /数学&GT。 これは非ゼロである。従って、以下の式が成り立つ。従って、b_1、l_ots、b_ {d-1} = 0、&lt; / math&gt;したがって、p(x)= 0である。

BCHコードは周期的です。 長さnの多項式符号n nは、その生成多項式が【数18】を除算する場合にのみ循環的である。 ここで、g(x)</ math>は、 \ alpha ^ {c + d-2}、</ math>は、以下のような最小多項式である。 <α>、<α>、<α>、<α>、<α>、<α>、<α>は、<math> x ^ n-1の根である。 これは、&lt; math&gt; \ alpha&lt; / math&gt;定義上、「和」の和は、「和」である。

エンコーディング[編集]

デコード[編集]

BCHコードを復号化するアルゴリズムは多数存在する。最も一般的なものは、この概要に従います。 #受信されたベクトル<! - d個のシンドロームがある - についてのシンドロームの「s&gt; j&lt; / sub&gt;」を計算する。 #シンドローム<! - Gillからエラー「t」およびエラーロケータ多項式「Λ(x)」の数を決定する.Gillは、実際のエラーに対してνを使用する。いくつかの参考文献は、訂正可能なエラーの最大数として t を使用しています。 - &gt; #エラー位置多項式の根を計算して、エラー位置「X&lt; sub&gt; i&lt; / sub&gt;」を見つける。 #e_iとしても知られるそれらのエラー位置でエラー値 Y i </ sub> を計算する。 #エラーを修正する

これらのステップのうちのいくつかの間に、復号化アルゴリズムは、受信されたベクトルが多すぎる誤りを有し、訂正することができないと判断することができる。たとえば、 t の適切な値が見つからない場合、修正は失敗します。切り捨てられた(プリミティブではない)コードでは、エラー位置が範囲外である可能性があります。受信されたベクトルがコードが訂正できるよりも多くのエラーを有する場合、デコーダは、知らされていないように見えて有効なメッセージを生成するかもしれない。

シンドロームを計算する[編集]

受信されたベクトルは以下のようになる。は、正しいコードワードの和であり、ここで、は、正しいコードワードの和である。と未知の誤差ベクトルとの間の誤差ベクトルである。 シンドローム値は、以下の式を考慮することによって形成される。多項式として計算し、それを<alpha> \ alpha \ c、\ ldots、\ alpha ^ {c + d-2}で評価する。 したがって、シンドロームは 【数1】【数2】【数3】【数4】【数5】【数6】【数7】は、 j = c math&gt; for for&lt; math&gt; 〜m + c-d-2となる。 ここで、<α、β、γ>は、 (x)の零点であり、かつ、そのうちの <数学> C(x)</ math>は、多項式C(\α^ {j})= 0である。 したがって、シンドローム値を調べることでエラーベクトルが分離され、エラーベクトルを解くことができます。

エラーがなければ、&lt; math&gt; s_j = 0&lt; / math&gt;すべての&lt; math&gt; jについて。&lt; / math&gt; シンドロームがすべてゼロであれば、復号化が行われる。

エラー位置の多項式を計算する[編集]

非ゼロのシンドロームがある場合は、エラーが発生します。デコーダは、いくつのエラーとそれらのエラーの位置を把握する必要があります。

単一のエラーが存在する場合、これを以下のように書く:E(x)= e \、x ^ i、&lt; / math&gt; ここで、<math> i </ math>はエラーの位置であり、&lt; math&gt; e&lt; / math&gt;その大きさです。その後、最初の2つのシンドロームは 【数1】は、以下の式で表される。 【数1】ここで、【数2】は、【数2】である。 それらを一緒に使用することにより、我々は&lt; math&gt; e&lt; / math&gt; &lt; math&gt; i&lt; / math&gt; (リード・ソロモン符号の場合は完全に決定する)。

2つ以上のエラーがある場合、 E(x)= e_1 x ^ {i_1} + e_2 x ^ {i_2} + \ cdots \、&lt; / math&gt; 未知数e_k&lt; / math&gt;の結果として生じるシンドロームをどのように解決するのかはすぐには分かりません。 &lt; math&gt; i_k。&lt; / math&gt; 最初のステップはロケータ多項式を見つけることです (x 1、...、y n)は、以下のように定義される。計算されたシンドロームと互換性があり、可能な限り最小限の&lt; math&gt;

このタスクの2つの一般的なアルゴリズムは次のとおりです。 # Peterson-Gorenstein-ZierlerアルゴリズムBerlekamp-Masseyアルゴリズム

Peterson-Gorenstein-Zierlerアルゴリズム[編集]

&lt;! - これは、t(修正可能な最大エラー数)をν(実際のエラー数)と混同する。 ピーターソンのアルゴリズムは、一般化されたBCH復号手順のステップ2である。ピーターソンのアルゴリズムは、エラーロケータ多項式係数を計算するために使用される。 \ lambda_1、\ lambda_2、\ dots、\ lambda_ {v}&lt; / math&gt;多項式の

:&lt;数学&gt; \ lambda(x)= 1 + \ lambda_1 x + \ lambda_2 x ^ 2 + \ cdots + \ lambda_v x ^ v。&lt; / math&gt;

今、Peterson-Gorenstein-Zierlerアルゴリズムの手順。 &lt; sub&gt; "&gt;&lt; / sub&gt;"&lt; / sub&gt; "c" + 2 t - 1 </ sub>。 「v」を&nbsp; =&nbsp;「 't」とします。

  • &lt; math&gt; S_ {v \ times v}&lt; / math&gt;を生成することから始めます。シンドローム値である要素を持つ行列

S_ {v \ times v} = \ begin {bmatrix} s_c&s_ {c + 1}&\ dots&s_ {c + v-1} \\ s_ {c + 1}&s_ {c + 2}&\ dots&s_ {c + v} \\ \ vドット&\ vドット&\ dドット&\ vドット\\ s_ {c + v-1}&s_ {c + v}&\ dots&s_ {c + 2v-2} \ end {bmatrix}である。 &lt; / math&gt;

  • &lt; math&gt; c_ {v \ times 1}&lt; / math&gt;を生成します。要素を持つベクトル
\ begin {bmatrix} s_ {c + v} \\ {v \ times 1}

s_ {c + v + 1} \\ \ vdots \\ s_ {c + 2v-1} \ end {bmatrix}である。 &lt; / math&gt;

  • \ Lambda&lt; / math&gt;とする。未知の多項式係数を示します。
\ lambda_ {v \ times 1} = \ begin {bmatrix} \ lambda_ {v} \\

\ lambda_ {v-1} \\ \ vdots \\ \ lambda_ {1} \ end {bmatrix}です。 &lt; / math&gt;

  • 行列方程式を形成する
Lamda_ {v \ times 1} = -C_ {v \ times 1 \、}。&lt; / math&gt;
  • 行列の行列式S_ {v \ times v} </ math>が、非ゼロの場合、この行列の逆行列を実際に見つけることができ、未知の&lt; math&gt; \ Lambda&lt; / math&gt;値。
  • <math> \ det(S_ {v \ times v})= 0、&lt; / math&gt;それに続く

 v = 0の場合には、  次に  空のエラーロケータ多項式を宣言する  ピーターソンの手続きを止める。  終わり  セット&lt;数学&gt; v \ leftarrow v -1&lt; / math&gt;  Petersonの解読の初めから、より小さい&lt; math&gt; S_ {v \ times v}&lt; / math&gt;

  • &lt; math&gt; \ Lambda&lt; / math&gt;の値を取得すると、エラーロケータの多項式が得られます。
  • ピーターソンの手続きをやめる。

因子誤差ロケータ多項式[編集]

あなたは&lt; math&gt; \ Lambda(x)&lt; / math&gt;その根は、以下の形式で見つけることができる。\ lambda(x)=(\ alpha ^ {i_1} x_1)(\ alpha ^ {i_2} x_1)\ cdots(\ alpha ^ {i_v } x-1)</ math>たとえば、Chien searchアルゴリズムを使ってブルートフォースによって。指数関数的 プリミティブ要素のパワーは以下のようになる。受信した単語にエラーが発生した位置を返します。したがって、名前は 'エラーロケータ'多項式です。

Λ( "'x"')の零点は、「α」、「〜」、「〜」、「〜」、 '&lt; sup&gt;&lt; / sup&gt;&lt; sup&gt;

エラー値を計算する[編集]

エラー位置が分かれば、次のステップはそれらの位置でエラー値を決定することです。エラー値は、元のコードワードを回復するために、それらのロケーションで受け取った値を修正するために使用されます。

バイナリBCHの場合(すべての文字を読むことができます)、これは簡単です。これらの位置で受け取った単語のビットを反転するだけで、修正されたコードワードが得られます。より一般的なケースでは、誤差重み<eath> e_j </ math>は、線形システムを解くことによって決定することができる

:&lt;数学&gt; \ begin {align} s_c&= e_1 \ alpha ^ {c \、i_1} + e_2 \ alpha ^ {c \、i_2} + \ cdots \\ (i + 1)\、i_1} + e_2 \ alpha ^ {(c + 1)\、i_2} + \ cdots \\ &{} \\ vドット \ end {align} &lt; / math&gt;

Forneyアルゴリズム[編集]

しかし、Forneyアルゴリズムとして知られているより効率的な方法があります。

レッツ

S(x)= s_c + s_ {c + 1} x + s_ {c + 2} x ^ 2 + \ cdots + s_ {c + d-2} x ^ {d-2} ; / math&gt; (x)= \ sum_ {i = 0} ^ v \ lambda_ix ^ i = \ lambda_0 \ prod_ {k = 0} ^ {lambda_0} v}(\ alpha ^ { - i_k} x-1)。&lt; / math&gt;

そして、エラー評価多項式

(x)\ bmod {x ^ {d-1}}&lt; / math&gt;

最後に:

【数1】【数2】【数2】【数3】【数4】【数5】【数6】

どこで

【数1】である。【数1】【数2】ここで、

シンドロームがエラー語によって説明される場合があり、これは位置<math> i_k </ math>上でのみ0でない場合があり、エラー値は (\ alpha ^ { - i_k})\ alpha \ {c \ cdot i_k} \ Lambda '(\ alpha ^ { - i_k})} &lt; / math&gt;

狭い意味のBCHコードの場合、 = 1であるため、式は次のように単純化されます。 (\ alpha ^ { - i_k})}。&lt; / math&gt; e_k = - {\ Omega(\ alpha ^ { - i_k})\ over \ Lambda '

Forneyアルゴリズム計算の説明[編集]

これはラグランジュ補間生成関数の技法に基づいています。

S(x)\Lambda(x)、&lt; / math&gt;単純化のために、<math> \ lambda_k = 0 </ math>と仮定する。 <math> k> v、</ math>そして、s_k = 0&lt; / math&gt; <math> k> c + d-2である。その後、

i = 0} ^ j_ {j-i + 1} \ lambda_i x ^ jである。 &lt; / math&gt;

:&lt;数学&gt; \ begin {align} S(x)\ Lambda(x)&= S(x)\ left \ {\ lambda_0 \ prod _ {\ ell = 1} ^ v \ left(\ alpha ^ {i_ \ ell} x-1 \ right)\ right \} \\ i = 1、i = 1、2、3、4、5、6、左\ {\ lambda_0 \ prod _ {\ ell = 1} ^ v \ left(\ alpha \ {i_ \ ell} x-1 \ right)\ right \} \\ 左辺(\ alpha ^ {i_j} \ right)^ ix {\ i} {\ i \ j} \ right \} \ left \ {\ lambda_0 \ prod _ {\ ell = 1} ^ v \ left(\ alpha \ {i_ \ ell} x-1 \ right)\ right \} \\ ^ {d-1} -1} {x {α}} {x-alpha} {x-alpha} \ alpha ^ {i_j} -1} \ right \} \ left \ {\ lambda_0 \ prod _ {\ ell = 1} ^ v \ left(\ alpha ^ {i_ \ ell} x-1 \ right)\ right \} \\ ここで、x = 0、1、0、1、0、1、0、1、 ^ {i_j} -1} \ prod _ {\ ell = 1} ^ v \ left(\ alpha ^ {i_ \ ell} x-1 \ right)\\ ^(d-1)-1 \ right)\ prod_ {\ i_j} \ right {\ i_j} \ right { {\ ell \ in \ {1、\ cdots、v \} \ setminus \ {j \}} \ left(\ alpha ^ {i_ \ ell} x-1 \ right) \ end {align}&lt; / math&gt;

私たちは未知数を計算したいと考えています。&lt; math&gt; e_j、&lt; / math&gt; &lt; math&gt;(x \ alpha ^ {i_j})^ {d-1}&lt; / math&gt;を削除することによってコンテキストを単純化することができる。条項。これにより、エラー評価多項式 (x)\ bmod {x ^ {d-1}}。&lt; / math&gt;

&lt; math&gt; v \ leqslant d-1&lt; / math&gt;我々は持っています :\ cdots、v \} \ setminus(1)\ omega(x)= - \ lambda_0 \ sum_ {j = 1} ^ v e_j \ alpha ^ {c i_j} \ prod _ {\ \ {j \}} \ left(\ alpha ^ {i_ \ ell} x-1 \ right)。&lt; / math&gt;

&lt; math&gt; \ Lambda&lt; / math&gt; (ラグランジュ補間トリック)、和は、以下のように1つの被乗数だけに縮退する。x = \ alpha ^ { - i_k} </ math>

:\ cdots、v \}:\ omega \ left(\ alpha ^ { - i_k} \ right)= - \ lambda_0e_k \ alpha ^ {c \ cdot i_k} \ prod _ {\ \ setminus \ {k \}} \ left(\ alpha ^ {i_ \ ell} \ alpha ^ { - i_k} -1 \ right)。 &lt; / math&gt;

&lt; math&gt; e_k&lt; / math&gt;を取得するには我々はちょうど製品を取り除くべきです。既に計算されたルーツから直接的に製品を計算することができる。 &lt; math&gt; \ Lambda、&lt; / math&gt;簡単なフォームを使用することもできます。

形式的派生語として

:&LT;数学&GT; \ラムダ '(X)= \ lambda_0 \ sum_ {J = 1} ^ Vの\アルファ^ {i_j} \のPROD _ {\エル\で\ {1、\ cdots、V \} \ setminus \ { \ {\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\} 我々は再び1つのsummandを得る

:&LT;数学&GT; \ラムダ '(\アルファ^ { - I_K})= \ lambda_0アルファ^ {I_K} \のPROD \ _ {\エル\で\ {1、\ cdots、V \} \ setminus \ {k個の\} } \ left(\ alpha ^ {i_ \ ell} \ alpha ^ { - i_k} -1 \ right)。&lt; / math&gt;

最終的に :&LT;数学&GT; e_k = - \ FRAC {\アルファ^ {I_K} \オメガ\左(\アルファ^ { - I_K} \右)} {\アルファ^ {C \ CDOT I_K} \ラムダ」\左(\ alpha ^ { - i_k} \ right}}。&lt; / math&gt;

この式は、以下の式の正則導関数を計算する場合に有利である。形

(x)= \ sum_ {i = 1} ^ v \ lambda_ix ^ i&lt; / math&gt;

収穫: 【数1】【数2】【数2】【数3】【数4】【数5】【数6】

どこで

【数1】である。【数1】【数2】ここで、

拡張ユークリッドアルゴリズムに基づくデコード[編集]

多項式Λと誤り位置多項式の両方を見つける別のプロセスは、Sugiyama Yasuoの拡張ユークリッドアルゴリズムの適応に基づいています。判読不能な文字の修正は、アルゴリズムにも容易に組み込むことができます。

<math> k_1、...、k_k </ math>とする。読めない文字の位置になる。これらの位置を定位する多項式を生成する。ここで、は次のように表される:【数1】【数2】 読み取り不可能な位置の値を0に設定し、シンドロームを計算します。

Forneyの式について既に定義したように、は以下のように表される。【数1】【数2】【数3】【数4】【数5】【数6】は、

多項式S(x)\ Gamma(x)の最小公約数を特定するための拡張ユークリッドアルゴリズムを実行しよう。 &lt; math&gt; x ^ {d-1}となる。 目標は、最小公約数を見出すことではなく、多項式(数式)r(x) (d + k-3)/ 2 / rfloor / mathであることを特徴とする請求項1に記載の方法。多項式a(x)、b(x)math&gt; (x)+ a(x)+γ(x)+ b(x)x ^ {d-1}となるように、 低次のr(x)は、 (x)&lt; / math&gt;となるように、 \ Lambda。&lt; / math&gt;の条件を定義する拡張された(&lt; math&gt; \ Gamma&/ math)

(x)= a(x)\ Gamma(x)</ math>を定義する。 &lt; / math&gt;&lt; / math&gt; \ Lambda(x)&lt; / math&gt;の場所にある。 Fourney公式ではエラー値が返されます。

このアルゴリズムの主な利点は、その間に、以下を計算することである。すなわち、【数1】は、 Forneyの式に必要です。

デコード処理の説明[編集]

目的は、読取り可能な位置でできるだけ受信語と異なるコードワードを見つけることである。受信した単語を最寄りのコードワードとエラーワードの和として表現するとき、読み込み可能な位置に最小限の数のゼロ以外のエラーワードを見つけようとしています。シンドロームs_i&lt; / math&gt;条件によってエラーワードを制限する

j = 0} ^ {n-1} e_j \ alpha ^ {ij}である。

これらの条件を別々に書くことも、多項式を作成することもできます

S(x)= \ sum_ {i = 0} ^ {d-2} s_ {c + i} x ^ i </ math>

電力に近い係数を比較する。0 </ math> 〜d-2とする。

\ sum {0} ^ {d-2} \ sum_ {x}は、 {j = 0} ^ {n-1} e_j \ alpha ^ {ij} \ alpha ^ {cj} x ^ i。

<math> k_1、</ math>の位置に判読不能な文字があるとします。我々はシンドロームの集合{s_c、\ cdots、s_ {c + d-2} \}&lt; / math&gt;次のシンドロームの集合によって定義される:【数1】【数2】【数3】【数4】式によって定義される。ここで、は、以下の式で定義される。【数1】ここで、エラー語に対して、元の集合<math> \ {s_c、\ cdots、s_ {c + d-2} \}&lt; / math&gt;シンドロームのうち、 より

【数1】【数2】【数3】【数4】【数5】【数6】【数7】【数8】【数8】 j = 0} ^ {n-1} e_j(\ alpha ^ {k_1} - \ alpha ^ j )\ alpha ^ {ij}。&lt; / math&gt;

新しいシンドロームセットはエラーベクトルを制限する

(α^ {k_1}-α^ j)...(7)ここで、

オリジナルのシンドロームセットが誤差ベクトルを制限するのと同じ方法である。なお、座標「&lt; math&gt; k_1、&lt; / math&gt; f_ {k_1} = 0、&lt; / math&gt; &lt; math&gt; f_j&lt; / math&gt;が0である場合には、0となる。誤り位置を特定する目的のために、すべての判読不可能な文字を反映するように同様の方法でシンドロームのセットを変更することができます。これは、シンドロームのセットを<math> k </ math>によって短縮する。

多項式の定式化では、シンドロームの置換は以下のように設定される。【数1】【数2】【数3】【数4】シンドロームは、以下のように設定される。【数1】【数2】【数3】【数4】 〜につながる

【数1】【数2】【数3】【数4】【数5】【数6】【数7】【数8】【数8】【数8】 3} s_ {c + i} x ^ i- \ sum_ {i = 1} ^ {d-2} s_ {c + i} x ^ {i-1}。

このため、

(x \ alpha ^ {k_1} -1 \ right)S(x)となる。 &lt; / math&gt;

S(x)</ math>の置換後に、 (x)は、パワーに近い係数についての方程式を必要とするであろう。【数1】ここで、【数2】は、

与えられた位置の影響を排除するという観点から、読めない文字と同様に誤り位置を探すことも考えられる。もし、&lt; math&gt; v&lt; / math&gt;それらの影響を排除するような位置は、これらの座標上にのみ誤差を有する誤差ベクトルが存在するよりも、すべてのゼロからなるシンドロームのセットを得ることにつながる。 もし、&lt; math&gt; \ Lambda(x)&lt; / math&gt;は、これらの座標の影響を排除する多項式を示します。

【数2】【数3】【数4】【数5】【数6】【数7】【数8】【数8】【数8】

ユークリッドアルゴリズムでは、最大でも{t} {1} {2}(d-1-k)より大きいエラーカウントでは、受信された単語から同じ距離に多くのコードワードが存在する可能性があるため、エラー(読み込み可能な位置に)があります。したがって、<math> \Lambda(x)&lt; / math&gt;我々が求めているのは、

(1-k)\ right \ rfloor。&lt; / math&gt;&lt; math&gt;

Forneyの公式では、&lt; math&gt; \ Lambda(x)&lt; / math&gt;同じ結果を与えるスカラーで乗算することができます。

ユークリッドアルゴリズムは、【数1】を見つけることができる。 <1> {2}(d-1-k)<math>よりも高い次数Fourneyの公式がその根のすべての誤りを訂正できるような程度の異なる数の異なる根を持つならば、そのような多くの誤りを訂正することは危険である可能性がある(特に受領語に他の制限はない)。通常は、&lt; math&gt; \ Lambda(x)&lt; / math&gt;より高い度合いの場合、我々はエラーを訂正しないことにする。 \ Lambda(x)&lt; / math&gt;&lt; math&gt;より高い多重度を有する根を有するか、または根の数はその程度より小さい。転送されたアルファベット外のエラーを返すForneyの公式によっても、失敗が検出される可能性があります。

エラーを修正する[編集]

エラー値とエラー位置を使用して、エラーを修正し、エラー位置でエラー値を減算することによって修正されたコードベクトルを形成する。

デコードの例[編集]

読めない文字がないバイナリコードのデコード[編集]

GF(2 4 4 </ sup>)内のBCHコードを以下のように考えてみよう。 (x)= x ^ {10} + x ^ 8 + x ^ 5 + x ^ 4 + x ^ 2 + x + 1 ^ math (これは[[QRコード] sで使用される)。送信されるメッセージを<nowiki> [1 1 0 1 1] </ nowiki>、または多項式表記で、 )= x ^ 4 + x ^ 3 + x + 1である。 「チェックサム」シンボルは、以下の式を用いて計算される。 【数1】によって計算される。 x ^ 9 + x ^ 4 + x ^ 2 ^ m / 2となる。または<nowiki> [1 0 0 0 1 0 1 0 0] <nowiki>。これらはメッセージに付加されるので、送信されたコードワードは<nowiki> [1 1 0 1 1 0 0 0 0 0 0 0 0] </ nowiki>である。

ここで、送信に2つのビット誤りがあると仮定すると、受信された符号語は[1 0 1 1 1 0 0 0 1 0 0 0 0]である。多項式表記では: x ^ {13} + x ^ 5 = x ^ {14} + x ^ {11} + x ^ {10} + x ^ 9 + x ^ 5 + x ^ 4 + x ^ 2 ^ math&gt; エラーを修正するには、まずシンドロームを計算します。 &lt;数学&gt; \ alpha = 0010、&lt; / math&gt; s_1 = R(\ alpha ^ 1)= 1011、&lt; math&gt; &lt; math&gt; s_2 = 1001、&lt; / math&gt; <数学> s_3 = 1011、</ math> <数学> s_4 = 1101、</ math> &lt; math&gt; s_5 = 0001、&lt; / math&gt; &lt; math&gt; s_6 = 1001.&lt; / math&gt; 次に、次の拡張行列を行削減することによってPeterson手順を適用します。 :<数学> \ left [S_ {3 \ times 3} | C_ {3 \ times 1} \ right] = \ begin {bmatrix} s_1&s_2&s_3&s_4 \\ s_2&s_3&s_4&s_5 \\ s_3&s_4&s_5&s_6 \ end {bmatrix} = \ begin {bmatrix} 1011&1001&1011&1101 \\ 1001&1011&1101&0001 \\ 1011&1101&0001&1001 \ end {bmatrix} \ Rightarrow \ begin {bmatrix} 0001&0000&1000&lt; \\ 0000&0001&1011&0001 \\ 0000&0000&0000&0000 \ end {bmatrix}&lt; / math&gt; ゼロ行のために、単数形であり、コードワードに2つのエラーしか導入されていないので驚くことではない。 しかしながら、行列の左上隅は、以下の解をもたらす、と同一である。【数2】 &lt;数学&gt; \ lambda_1 = 1011。&lt; / math&gt; 結果として得られる誤り位置多項式は、である。ここで、Lambda(x)= 1000x ^ 2 + 1011x + 0001、これは、【数18】0100 =α^ { - 13} </ math>にゼロを有する。 &lt;数学&gt; 0111 = \ alpha ^ { - 5}である。 &lt; math&gt; \ alpha&lt; / math&gt;の指数は、エラー位置に対応する。 可能な値は1であるため、この例ではエラー値を計算する必要はありません。

読めない文字でデコードする[編集]

同じシナリオを仮定しますが、受信した単語には2つの判読不可能な文字[1 0? 1 1? 0 0 1 0 1 0 0]である。 \ Gamma(x)=(\ alpha ^ 8x-1)(\ alpha ^ {11} x-1)の位置を反映する多項式を作成しながら、読めない文字をゼロで置き換えます。我々は、シンドロームs_1 = \ alpha ^ { - 7}、s_2 = \ alpha ^ {1}、s_3 = \ alpha ^ {4}、s_4 = \ alpha ^ {2}、s_5 = \ alpha ^ {5}、&lt; / math&gt; &lt;数学式s_6 = \ alpha ^ { - 7}。 (GF(2 4 4 /)>同型性に依存しないログ表記を使用する)計算チェックのために、前の例で使用したのと同じ表現を加算に使用することができる。ビット毎のxorに基づく加算を伴って、1,2,4,8,3,6、C、B、5、A、7、E、F、D、9である。

シンドローム多項式を作ろう

S(x)=α^ { - 7} +α^ {1} x + \α^ {4} x ^ 2 + \α^ {2} x ^ 3 + \α^ {5} } x ^ 4 + \ alpha ^ { - 7} x ^ 5、&lt; / math&gt;

計算する

(x)=α^ { - 7} + \ alpha ^ {4} x + \ alpha ^ { - 1} x ^ 2 + \ alpha ^ {6} x ^ 3 +α^ { - 1} x ^ 4 + \ alpha ^ {5} x ^ 5 + \ alpha ^ {7} x ^ 6 + \ alpha ^ { - 3} x ^ 7。

拡張ユークリッドアルゴリズムを実行する:

:&lt;数学&gt; \ begin {align} \ begin {pmatrix} \ alpha ^ { - 7} + \ alpha ^ {4} x + \ alpha ^ {end} -1} x ^ 2 + \ alpha ^ {6} x ^ 3 + \ alpha ^ { - 1} x ^ 4 + \ alpha ^ {5} x ^ 5 + \ alpha ^ {7} x ^ 6 + \ alpha ^ { - 3} x ^ 7 \\ x ^ 6 \ end {pmatrix} \\ [6pt] ここで、pは1以上の整数であり、pは1以上の整数であり、pは1以上の整数であり、 α^ {5} x ^ 5 + 2 \α^ {3} α^ {7} x ^ 6 + 2 \ alpha ^ { - 3} x ^ 7 \ end {pmatrix} \\ [6pt] ここで、pは1以上の整数であり、pは1以上の整数であり、pは1以上の整数であり、 1&0 \ end {pmatrix} \ times \\ α^ {4} x + \ alpha ^ { - 1} x ^ 2 + \ alpha ^ {6} x ^ 3 + \ alpha ^ { 3} +(α^ {3} +α^ {3})x +(α^ {3} +α^ {1})x ^ 2 +(\ alpha ^ { - 5} + \ alpha ^ { - 6})x ^ 3 + + 2 \ alpha ^ { - 6} x ^ 5 + 2x ^ 6 \ end {pmatrix} \\ [6pt] 1 +α^ {1} + \ alpha ^ {2})x + \ alpha {7} x ^ 2&\ alpha ^ {7} +α^ { - 3} x \\α^ 4 + \ alpha ^ { - 5} x&1 \ end {pmatrix} \ begin {pmatrix} \ alpha ^ { - 7} + \ alpha ^ {4} x + \ alpha ^ { - 1} x ^ 2 + \ alpha ^ {6} x ^ 3 + \ alpha ^ { - 1} x ^ 4 + \ alpha ^ {5} x ^ 5 \\ \ alpha ^ { - 3} +α^ { - 2} x + \ alpha ^ {0} x ^ 2 + \ alpha ^ {-2} x ^ 3 + \ alpha ^ { - 6} x ^ 4 \ end {pmatrix} \\ [6pt] α^ {5} x + \ alpha {7} x ^ 2&\ alpha ^ {7} + \ alpha ^ { - 3} x \\ \ alpha ^ 4 + \ alpha ^ { - 5} x&1 \ end {pmatrix} \ begin {pmatrix} \ alpha ^ { - 5} + \ alpha ^ { - 4} x&1 \\ 1&0 \ end { α^ {0} x ^ 2 + \ alpha ^ { - 2} x ^ 3 + \ alpha ^ {2} {-6} x ^ 4 \\(\ alpha ^ {7} + \ alpha ^ { - 7})+(2 \ alpha ^ { - 7} + \ alpha ^ {4} 5} + \ alpha ^ { - 6} + \ alpha ^ { - 1})x ^ 2 +(\ alpha ^ { - 7} + \ alpha ^ { - +(α^ {4} + \ alpha ^ { - 6} + \ alpha ^ { - 1})x ^ 4 + 2 \ alpha ^ {5} x ^ 5 \ end {pmatrix} \\ [6pt] α^ {5} x + \ alpha {3} x ^ 3 + \ alpha {3} + \ alpha {5} ^ {7} x ^ 2 \\ \ alpha ^ {3} + \ alpha ^ { - 5} x + \ alpha ^ {6} x ^ 2&\ alpha ^ 4 + \ alpha ^ { - 5} x \ end {pmatrix } \ alpha {0} x ^ 2 + \ alpha ^ { - 2} x ^ 3 + \ alpha ^ { - 6} x ^ 4 \\ \ alpha ^ { - 4} + \ alpha ^ {4} x + \ alpha ^ {2} x ^ 2 + \ alpha ^ { - 5} x ^ 3 \ end {pmatrix} \ end {align}&lt; / math&gt;

次数が3以下の多項式に到達しました。

式(5)のように表される。【数5】【数6】【数7】【数7】【数8】【数8】【数8】 α^ {3} +α^ {5} x + \α^ {6} x ^ 2 ^ - (\ alpha ^ {7} x + \ alpha ^ {5} x ^ 2 + 3} x ^ 3)\ end {pmatrix} \ begin {pmatrix} \ alpha ^ {7} x + \ alpha ^ {5} x ^ 2 + \ alpha ^ {3} x ^ 3&\ alpha ^ { - 3} + \ alpha ^ {5} x + \ alpha ^ {7} x ^ 2 \ alpha \ {3} + \ alpha ^ { - 5} x + \ alpha ^ {6} x ^ 2& {-5} x \ end {pmatrix} = \ begin {pmatrix} 1&0 \\ 0&1 \ end {pmatrix}、&lt; / math&gt;

我々が得る

:&lt;数学&gt; \ begin {pmatrix} - (\ alpha ^ 4 + \ alpha ^ { - 5} x)&\ alpha ^ { - 3} + \ alpha ^ {5} x + \ alpha ^ {7} x ^ 2 \\ \ alpha ^ {3} + \ alpha ^ { - 5} x + \ alpha ^ {6} x ^ 2& - (\ alpha ^ {7} x + \ alpha ^ {5} x ^ 2 + \ alpha ^ {3} x ^ 3 )\ end {pmatrix} \ begin {pmatrix} \ alpha ^ { - 3} + \ alpha ^ { - 2} x + \ alpha ^ {end} 0} x ^ 2 + \ alpha ^ {-2} x ^ 3 + \ alpha ^ { - 6} x ^ 4 \\ \ alpha ^ { - 4} + \ alpha ^ {4} x + \ alpha ^ {2 } x ^ 2 + \ alpha ^ { - 5} x ^ 3 \ end {pmatrix}である。 &lt; / math&gt;

次のようになる。【数1】【数2】【数3】【数4】【数5】【数6】【数7】は、 &lt; math&gt; \ lambda_0 \ neq 1を心配しないでください。&lt; / math&gt; brute forceによって、<math> \ Lambda。&lt; / math&gt;の根を見つける。根は&lt; math&gt; \ alpha ^ 2、&lt; / math&gt; &lt;数学&gt; \ alpha ^ {10}&lt; / math&gt; (例えば、【数1】を見つけた後に、対応するモンゴメリ(x- /α^ 2)によって分けることができる。結果として得られるmonomの根は容易に見つけられた)。

レッツ

(x)= \ alpha ^ 3 + \ alpha ^ 4x ^ 2 + \ alpha ^ 2x ^ 3 + \ alpha ^ { - 5} x ^ 4である。 【数4】【数5】【数6】【数7】【数8】【数7】【数8】【数8】【数8】【数8】【数8】 3 \ bmod {x ^ 6} </ math>

数式を使ってエラー値を見てみましょう

:</ math>左辺(\ alpha \ { - i_j} \ right)}、&lt; / math&gt; ;

ここで、【数1】は、以下の式で表される。は、\ Xi(x)のルーツである。&lt; / math&gt; (x)= \ alpha ^ {2} x ^ 2である。我々が得る

:&lt;数学&gt; \ begin {align} e_1&= - \ frac {\ omega(\ alpha ^ 4)} {\ Xi '(\ alpha ^ {4})} = \ frac {\ alpha ^ { - 4} + \ alpha ^ { - 7} + \ α^ { - 5} +α^ {7}} {\ alpha ^ { - 5}} = \ frac {\ alpha ^ { - 5}} {\ alpha ^ { - 5}} = 1 \\ (α^ {7})} = \ frac {\ alpha ^ { - 4} + \ alpha ^ { - 4} + \ frac {\ alpha} α^ {1} +α^ {1}} {\α^ {1}} = 0 \\ α_{β}(α_{10})} = \ frac {\ alpha ^ { - 4} + \ alpha ^ { - 1} +α^ {7} + \ alpha ^ { - 5}} {\ alpha ^ {7}} = \ frac {\ alpha ^ {7}} {\ alpha ^ {7}} = 1 \\ e_4およびα_{2}}} {\ Xi '(\ alpha ^ {2})} = \ frac {\ alpha ^ { - 4} + \ alpha ^ {6} + \ alpha ^ {6}} \ alpha {1}} {\ alpha ^ {6}} = \ frac {\ alpha ^ {6}} {\ alpha ^ {6}} = 1 \ end {align}&lt; / math&gt;

e_3 = e_4 = 1、&lt; / math&gt;驚くべきことではありません。

したがって、修正されたコードは[1 0 1 1 0 0 1 0 1 0 0]である。

少数のエラーで読み込めない文字でデコードする[編集]

少数の誤りがある場合のアルゴリズムの振舞いを見てみましょう。受信した単語を[1 0? 1 1? 0 0 0 1 0 1 0 0]である。

再び、それらの位置を反映する多項式を生成しながら、読めない文字をゼロで置き換える。 シンドロームを計算する。シンドロームs 1 = 1、2、...、 0}、&lt; / math&gt; &lt;数学> s_6 = \α^ {2}である。 シンドローム多項式を作成する

S(x)=α^ {4} +α^ { - 7} x + \α^ {1} x ^ 2 + \α^ {1} x ^ 3 + \α^ {0 } x ^ 4 + \ alpha ^ {2} x ^ 5、&lt; / math&gt; (x)=α^ {4} +α^ {7} x + \α^ {5} x ^ 2 + \ alpha ^ {3} x ^ 3 + \ α^ {1} x ^ 4 + \ alpha ^ { - 1} x ^ 5 + \ alpha ^ { - 1} x ^ 6 + \ alpha ^ {6} x ^ 7。

拡張ユークリッドアルゴリズムを実行しましょう:

&lt;数学&gt; \ begin {align} \ begin {pmatrix} \ alpha {4} + \ alpha ^ {7} x + \ alpha {5} \ begin {pmatrix} x ^ 2 + \ alpha ^ {3} x ^ 3 + \ alpha ^ {1} x ^ 4 + \ alpha ^ { - 1} x ^ 5 + \ alpha ^ { - 1} x ^ 6 + {6} x ^ 7 \\ x ^ 6 \ end {pmatrix} \\ ここで、p ^ {1}と{\ alpha} {\ {7} x + \ alpha ^ {5} x ^ 2 + \ alpha ^ {3} x ^ 3 + \ alpha ^ {1} x ^ 4 + \ alpha ^ { - 1} x ^ 5 + -1} x ^ 6 + 2 \ alpha ^ {6} x ^ 7 \ end {pmatrix} \\ ここで、pは1以上の整数であり、nは1以上の整数であり、nは1以上の整数であり、 \ alpha {3} x ^ 3 + \ alpha ^ {1} \ end {pmatrix} \ alpha {4} 1} x ^ 4 + \ alpha ^ { - 1} x ^ 5 \\ \ alpha ^ {7} +(\ alpha ^ { - 5} + \ alpha ^ {5})x + 2 \ alpha ^ { - x ^ 2 + 2 \ alpha ^ {6} x ^ 3 + 2 \ alpha ^ {4} x ^ 4 + 2 \ alpha ^ {2} x ^ 5 + 2x ^ 6 \ end {pmatrix} \\ 【数1】【数2】【数3】【数3】【数4】【数5】【数6】 } +α^ {6} +α^ {3} + \ alpha ^ {1} x&1 \ end {pmatrix} \ begin { α^ {5} x ^ 2 + \ alpha ^ {3} x ^ 3 + \ alpha ^ {1} x ^ 4 + \ alpha ^ { - 1} x ^ 5 \\ \ alpha ^ {7} + \ alpha ^ {0} x \ end {pmatrix} \ end {align}&lt; / math&gt;

次数が3以下の多項式に到達しました。 :&lt;数学&gt; \ begin {pmatrix} -1&\ alpha ^ { - 1} + \ alpha ^ {6} x \\ \ alpha {3} + \ alpha {1} x& - (\ alpha ^ {-7} + \ alpha {7} x + \ alpha ^ {7} x ^ 2)\ end { \ begin {pmatrix} \ alpha ^ { - 7} + \ alpha ^ {7} x + \ alpha ^ {7} x ^ 2&\ alpha ^ { - 1} + \ alpha ^ {6} x \\ \ alpha ^ {3} + \ alpha ^ {1} x&1 \ end {pmatrix} = \ begin {pmatrix} 1&0 \\ 0&1 \ end {pmatrix}、 &lt; / math&gt; 我々が得る :&lt;数学&gt; \ begin {pmatrix} -1&\ alpha ^ { - 1} + \ alpha ^ {6} x \\ \ alpha {3} + \ alpha {1} x& - (\ alpha ^ {-7} + \ alpha {7} x + \ alpha ^ {7} x ^ 2)\ end { \ begin {pmatrix} S(x)\ガンマ(x)\\ x ^ 6 \ end {pmatrix} = \ alpha {4} \ alpha {4} \ alpha {4} \ alpha {3} α^ { - 1} x ^ 5 \\ \ alpha ^ {7} + \ alpha ^ {0} x \ end {pmatrix}。 &lt; / math&gt;

このため、 :&lt;数学&gt; S(x)\ガンマ(x)(\ alpha ^ {3} + \ alpha ^ {1} x) - \ \ alpha ^ {7} + \ alpha ^ {7} x ^ 2)x ^ 6 = \ alpha ^ {7} + \ alpha ^ {0} x。 &lt; / math&gt;

次のようになる。【数1】【数2】【数3】【数4】【数5】【数6】は、 &lt; math&gt; \ lambda_0 \ neq 1を心配しないでください。&lt; / math&gt; <math> \Lambda(x)&lt; / math&gt;の根は、は、<alpha> {3-1}である。


1126/5000 レッツ (x)= \α^ {3} + \ alpha ^ { - 7} x + \ alpha ^ { - 4} x ^ 2 + \ alpha ^ {5} x ^ 3、&lt; / math&gt; 【数6】【数7】【数7】【数7】【数7】【数8】【数8】【数8】

【数1】を使用してエラー値を見てみよう。ここで、エラー値は、式(1)ここで、【数1】は、以下の式で表される。多項式の根である。Xi(x)。 (x)= \ alpha ^ { - 7} + \ alpha ^ {5} x ^ 2である。 我々が得る

:&lt;数学&gt; \ begin {align} e_1&= - \ frac {\ omega(\ alpha ^ 4)} {\ Xi '(\ alpha ^ {4})} = \ frac {\ alpha ^ {7} + \ alpha ^ {4}} {\ alpha ^ { - 7} + \ alpha ^ { - 2}} = \ frac {\ alpha ^ {3}} {\ alpha ^ {3}} = 1 \\ (α^ {7})} = \ frac {\ alpha ^ {7} + \ alpha ^ {7}} {\ alpha ^ { - 7} + \ alpha ^ {4}} = 0 \\ e_3&= - \ frac {\ omega(\ alpha ^ 2)} {\ Xi '(\ alpha ^ 2)} = \ frac {\ alpha ^ {7} + \ alpha ^ {2}} {\ alpha ^ -7} + \ alpha ^ { - 6}} = \ frac {\ alpha ^ { - 3}} {\ alpha ^ { - 3}} = 1 \ end {align}&lt; / math&gt;

ここで、<math> e_3 = 1 </ math>驚くべきことではありません。

したがって、修正されたコードは[1 0 1 1 0 0 0 1 0 1 0 0]である。

引用[編集]

ソース[編集]

http://wikipedia.org/