ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

gfconv

ガロア体上の多項式を乗算

構文

c = gfconv(a,b)
c = gfconv(a,b,p)
c = gfconv(a,b,field)

説明

    メモ:   この関数は、p が素数のとき、GF(pm) の計算を行います。GF(2m) で実行するには、ガロア配列に対して関数 conv を使用します。詳細は、「多項式の乗算と除算」を参照してください。

関数 gfconv はガロア体上の多項式を乗算します (ガロア体の要素を乗算するには、gfmul を代わりに使用します)。代数的には、ガロア体上の多項式の乗算は、多項式の係数を含むベクトルのコンボリューションと等価です。ここで、コンボリューション操作は、同じガロア体上の演算を利用します。

c = gfconv(a,b) は 2 つの GF(2) 多項式 (ab) を乗算します。結果の GF(2) 多項式 c の多項式次数は、a の次数と b の次数を足したものと等価です。

c = gfconv(a,b,p) は 2 つの GF(p) 多項式を乗算します。ここで、p は素数です。ab、および c は、昇べきの順で対応する多項式の係数を与える行ベクトルです。各係数の範囲は、0 ~p-1 です。

c = gfconv(a,b,field) は 2 つの GF(pm) 多項式を乗算します。ここで、p は素数で、m は正の整数です。ab、および c は、昇べきの順で対応する多項式の係数の指数形式をリストする行ベクトルです。指数形式は、GF(pm) の原始元に対応します。field は、同じ原始元に対応して配置された GF(pm) の全要素をリストする行列です。これらの形式の説明は、「ガロア体の元の表現」を参照してください。

以下のコマンドは、GF(3) 上の

を示します。

gfc = gfconv([1 1 0 0 1],[0 1 1],3)

出力は以下のようになります。

gfc =

     0     1     2     1     0     1     1

以下のコードを考えてみます。

このコードは、p = 7、r = 5、= 3 の場合の恒等式を説明します (恒等式は、p が素数で、rs が正の整数のときに保持されます)。

p = 7; r = 5; s = 3;
a = gfrepcov([r s]); % x^r + x^s

% Compute a^p over GF(p).
c = 1;
for ii = 1:p
   c = gfconv(c,a,p);
end;

% Check whether c = x^(rp) + x^(sp).
powers = [];
for ii = 1:length(c)
   if c(ii)~=0
      powers = [powers, ii];
   end;
end;
if (powers==[r*p+1 s*p+1] | powers==[s*p+1 r*p+1])
   disp('The identity is proved for this case of r, s, and p.')
end

参考

| | | |

この情報は役に立ちましたか?