アプリ版:「スタンプのみでお礼する」機能のリリースについて

生成多項式や原始多項式に関する様々な投稿を見ましたが、
いまいち知りたいことがわからなかったので質問いたします。

周期 2^n - 1 のM系列を生成するには、{0,1}を体とする
n次の原始多項式を生成多項式として用いるということまでは
わかったのですが、このn次の原始多項式の求め方について、
いまいち理解できません。

例えば、周期 2^4 - 1 = 15のM系列を生成するには原始多項式

          x^4 + x^1 + 1 ー (1)

を用いるということですが、

            x^4 + x^2 + 1 ー (2)

ではM系列を生成できませんでした。
この2式の違いを理解していないことが原始多項式の求め方を
理解できない原因だと思うのですが、どなたかお詳しい方がいましたら、
ご教授お願いいたします。

A 回答 (2件)

#1さんミスしてますので修正を。



x^4 + x^2 + 1 = (x^2 + x + 1)(x^2 - x + 1)
ですね。
念のため式変形を書くと、
x^4 + x^2 + 1 = x^4 + 2x^2 + 1 - x^2 = (x^2 + 1)^2 - x^2 = {(x^2 + 1) + x}{(x^2 + 1) - x}

だから、そもそも既約でないので、原始多項式にはなりません。
(原始多項式ならば、既約。逆は言えませんが)

しかし、単純に、原始多項式かどうかのチェックをしても、分かりますよね。

いま、数・係数としては、2で割った余りの世界(0と1からなる四則の出来る世界。色んな呼び名があるが、ここではF2と呼びます)を考えていますよね。

x^4 + x^2 + 1 でF2上の(つまり、係数が0と1からなる)多項式を割った「余り」を考えるとき、全ての多項式は、余りは3次以下の(係数が0と1からなる)式になりますよね。

係数が0と1であることから、ax^3 + bx^2 + cx + d たちは、全部で 2^4 = 16 個あるわけです。

いま、4次の原始多項式とは、xが、0を除く15個の余りを全て生成するような多項式を言います。

具体的に言うと、x , x^2 , x^3 , ・・ , x^15 を夫々割った余りがすべて異なり、0以外の全ての3次式が出てくるとき、原始多項式と言います。

ということは、もし途中で(余りとして)1がでたら、次から x , x^2 ・・と最初からの繰り返しになるので、駄目です。
よって x^15 の余りが1であり、それ以前に余り1が出てはいけません。

実は、この逆が言えて、
x , x^2 , x^3 , ・・ , x^14 の余りがすべて1でないとき(つまり x^15 ではじめて1になるとき)、(4次の)原始多項式である ・・・★

ことが言えます。

なので、(もっと良いテクニックは色々あるでしょうが)、★を満たすかどうかを、まじめに計算すれば分かります。

いま x^4 + x^2 + 1 についてやってみると、
x^4 + x^2 + 1 で割った余りは、x^4 + x^2 + 1 = 0 として、x^4 = x^2 + 1 (注:いまF2(2で割った余りの世界)上で考えているから、-1=1) を代入して次数を下げてゆけば求まりますよね。

すると、
x
x^2
x^3
x^4 = x^2 + 1
x^5 = x(x^2 + 1) = x^3 + x
x^6 = x(x^3 + x) = x^4 + x^2 = x^2 + 1 + x^2 = 1
( 2 = 0 より、2x^2 = 0 )
となり、6乗で1になってしまうので、 x^4 + x^2 + 1 は原始多項式でないと分かりますネ。
    • good
    • 3
この回答へのお礼

なるほど、{0,1}を体にするとは2で割った余りの世界を
考えているということなのですね。
あと、原始多項式についても理解できました。

実はM系列をCプログラムで生成しようとして、元の原始多項式の
設定のところでつまずいていたので質問させてもらいました。
当面は教えていただいた方法でアルゴリズムを書いてみるつもりです。

わかりやすく御回答していただき、ありがとうございました。

お礼日時:2007/12/19 17:58

原始多項式の求め方は知りませんが, (2) は


x^4 + x^2 + 1 = (x^2 + x + 1)^2
ですから, 原始多項式ではありません.
「原始多項式」というのは, 「より低次の多項式では割切れない多項式」のことです.
    • good
    • 0
この回答へのお礼

なるほど、確かに因数分解できてしまいますね^^;
ご指摘ありがとうございます。

お礼日時:2007/12/19 18:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!