- ベストアンサー
M系列の生成多項式と原始多項式について
- M系列の生成多項式とは、周期 2^n - 1 のM系列を生成するために使用されるn次の原始多項式のことです。
- 原始多項式は、生成多項式として用いられ、周期 2^n - 1 のM系列を生成するための重要な要素です。
- 原始多項式の求め方にはいくつかの方法がありますが、具体的な方法は文献や専門書などで確認することができます。
- みんなの回答 (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 は原始多項式でないと分かりますネ。
その他の回答 (1)
- Tacosan
- ベストアンサー率23% (3656/15482)
原始多項式の求め方は知りませんが, (2) は x^4 + x^2 + 1 = (x^2 + x + 1)^2 ですから, 原始多項式ではありません. 「原始多項式」というのは, 「より低次の多項式では割切れない多項式」のことです.
お礼
なるほど、確かに因数分解できてしまいますね^^; ご指摘ありがとうございます。
お礼
なるほど、{0,1}を体にするとは2で割った余りの世界を 考えているということなのですね。 あと、原始多項式についても理解できました。 実はM系列をCプログラムで生成しようとして、元の原始多項式の 設定のところでつまずいていたので質問させてもらいました。 当面は教えていただいた方法でアルゴリズムを書いてみるつもりです。 わかりやすく御回答していただき、ありがとうございました。