gftuple
ガロア体の元の形式の簡略化または変換
構文
tp = gftuple(a,m)
tp = gftuple(a,prim_poly)
tp = gftuple(a,m,p)
tp = gftuple(a,prim_poly,p)
tp = gftuple(a,prim_poly,p,prim_ck)
[tp,expform] = gftuple(...)
説明
メモ
この関数は、p が素数のとき、GF(p
m
) の計算を行います。GF(2m
) において等価な計算を行うには、ガロア配列に対して .^
演算子および関数 log
を適用します。詳細については、例:べき乗と例:要素単位の対数を参照してください。
すべての構文に対して
gftuple
は、ガロア体要素の多項式または指数形式を簡略化したり、形式を変換したりする場合に役立ちます。gftuple
が使用する形式の説明は、ガロア体の元の表現を参照してください。
この説明では、GF(p
m
) の要素の形式は、すべての原始元の指数が以下の場合に "最も簡単である" と考えられます。
範囲が [0, (
m
– 1)] である (多項式形式の場合)-Inf
であるか、範囲が [0, (p
m
– 2)] である (指数形式の場合)
すべての構文に対して、a
は各行がガロア体の元を表す行列です。a
の形式によって MATLAB が解釈する方法が決まります。
a
が整数列の場合、MATLAB は各行を元の "指数" 形式として解釈します。負の整数は、それらはすべて体のゼロ元を表すため、-Inf
と等価です。a
が 2 列以上の場合、MATLAB は各行を元の "多項式" 形式として解釈します。a
の各エントリは、範囲 [0, (p
– 1)] の整数でなければなりません。
上記の指数形式あるいは多項式形式は、すべて "2 番目の" 入力引数によって指定された原始元に対応します。2 番目の引数は、以下に説明します。
特定の構文に対して
tp = gftuple(a,m)
は、a
が表現する元の最も簡単な多項式形式で返します。この多項式では、tp
の k 番目の行が a
の k 番目の行に対応します。形式は、m
が正の整数である GF(2m
) の既定の原始多項式の根に対応します。
tp = gftuple(a,prim_poly)
は、prim_poly
が多項式の文字ベクトルまたは GF(2m
) の次数 m
の原始多項式の係数を昇べきの順に表示する行ベクトルであること以外は最初の構文と同じです。
tp = gftuple(a,m,p)
は、2 が素数 p
で置換されること以外は tp = gftuple(a,m)
と同じです。
tp = gftuple(a,prim_poly,p)
は、2 が素数 p
で置換されること以外は tp = gftuple(a,prim_poly)
と同じです。
tp = gftuple(a,prim_poly,p,prim_ck)
は、gftuple
が prim_poly
が実際に原始である多項式を表現しているかどうかを確認すること以外は tp = gftuple(a,prim_poly,p)
と同じです。原始でない場合は、gftuple
によってエラーが生成され tp
は返されません。入力引数 prim_ck
は存在することのみが重要であり、引数自体は任意の数値あるいは文字ベクトルを取れます。
[tp,expform] = gftuple(...)
は、追加の行列 expform
を返します。expform
の k 番目の行は、a
の k 番目の行が表す要素の最も簡単な指数形式です。その他のすべての機能は、入力引数に応じて前の構文に記述されています。
例
ガロア体のすべての元のリスト (節の末尾)
その他の例として、以下の gftuple
コマンドが、既定の原始多項式の根に対応して配置された、GF(pm
) の元の一覧を生成することが挙げられます。Communications Toolbox™ の関数の中には、この一覧を入力引数として使うものがあります。
p = 5; % Or any prime number m = 4; % Or any positive integer field = gftuple([-1:p^m-2]',m,p);
最後に、以下の 2 つのコマンドは、入力行列の "形状" の影響を説明します。最初のコマンドにおいて、列ベクトルは、指数形式で表現される一連の要素として取り扱われます。2 番目のコマンドでは、行ベクトルは多項式形式で表現される単一の要素として取り扱われます。
tp1 = gftuple([0; 1],3,3) tp2 = gftuple([0, 0, 0, 1],3,3)
出力は以下のようになります。
tp1 = 1 0 0 0 1 0 tp2 = 2 1 0
出力は、GF(33) に対する既定の原始多項式に従って、以下の関係が真であることを反映します。
アルゴリズム
gftuple
は、指数形式を決定するために、再帰呼び出しを使用します。
バージョン履歴
R2006a より前に導入