gfroots
ガロア素体における多項式の根の求解
構文
rt = gfroots(f,m,p)
rt = gfroots(f,prim_poly,p)
[rt,rt_tuple] = gfroots(...)
[rt,rt_tuple,field] = gfroots(...)
説明
メモ
この関数は、p が素数のとき、GF(pm) の計算を行います。GF(2m) で実行するには、ガロア配列に対して関数 roots
を使用します。詳細については、多項式の根を参照してください。
すべての構文に対して、f
は、多項式の文字ベクトルまたは次数 d の多項式の係数を昇べきの順に与える行ベクトルです。
メモ
gfroots
は、根の多重度を無視し、各根を 1 回だけ表示します。
rt = gfroots(f,m,p)
は、f
が表現する多項式の GF(p^m
) 内で根を求めます。rt
は、各列ベクトルのエントリが根の指数形式である列ベクトルです。指数形式は、GF(p^m
) に対する既定の原始多項式の根に対応しています。
rt = gfroots(f,prim_poly,p)
は、f
が表現する多項式の GF(p
m) 内で根を求めます。rt
は、各列ベクトルのエントリが根の指数形式である列ベクトルです。指数形式は、prim_poly
が表す GF(p
m) に対する次数 -m の原始多項式の根に対応します。
[rt,rt_tuple] = gfroots(...)
は、追加の行列 rt_tuple
を返します。この行列の k 番目の行は根 rt(k)
k の多項式形式です。多項式と指数形式は、両方共同じ原始元に対応します。
[rt,rt_tuple,field] = gfroots(...)
は、追加の行列 rt_tuple
と行列 field
を返します。rt_tuple
の説明は、前の段落にあります。field
は、拡大体の元のリストです。元のリスト、多項式形式、指数形式は、すべて同じ原始元に対応します。
メモ
gfroots
のさまざまな形式の説明については、ガロア体の元の表現を参照してください。
例
多項式の根には、gfroots
の使用法の説明と例が含まれています。
下記のコードは、GF(81) に対する原始多項式 2 + x3 + x4 の根の多項式形式を求めます。そして、alph
の多項式として根を従来の形式で表示します (ここでは、出力は省略します)。prim_poly
は、原始多項式かつ根が求められた多項式であるため、alph
自体が根となります。
p = 3; m = 4; prim_poly = [2 0 0 1 1]; % A primitive polynomial for GF(81) f = prim_poly; % Find roots of the primitive polynomial. [rt,rt_tuple] = gfroots(f,prim_poly,p); % Display roots as polynomials in alpha. for ii = 1:length(rt_tuple) gfpretty(rt_tuple(ii,:),'alpha') end
バージョン履歴
R2006a より前に導入