gfprimfd
ガロア体に対する原始多項式を求める
構文
pol = gfprimfd(m,
opt
,p)
説明
メモ
この関数は、p が素数のとき、GF(pm) の計算を行います。GF(2m) で実行するには、関数 primpoly
を使います。詳細については、原始多項式と元の表現の Finding Primitive Polynomials を参照してください。
m
= 1 の場合、pol
= [1 1] です。多項式は、係数を昇べきの順に含む行として表されます。
pol = gfprimfd(m,
は、opt
,p) p
が素数で m
が正の整数である場合に GF(p^m
) の 1 つ以上の原始多項式を探索します。m
= 1 の場合、pol
= [1 1] です。m
> 1 の場合は、出力 pol
は、下記の表のように引数 opt
により異なります。各多項式は、係数を昇べきの順に含む行として pol
で表されます。
opt | pol の重要性 | pol の形式 |
---|---|---|
'min' | 非ゼロ項の可能な最小数をもつ GF(p^m ) の 1 つの原始多項式 | 多項式を表現する行ベクトル |
'max' | 非ゼロ項の可能な最大数をもつ GF(p^m ) の 1 つの原始多項式 | 多項式を表現する行ベクトル |
'all' | GF(p^m ) のすべての原始多項式 | 各行がこのような多項式を表現する行列 |
正の整数 | opt の非ゼロ項のある GF(p^m ) に対するすべての原始多項式 | 各行がこのような多項式を表現する行列 |
例
下記のコードは、さまざまな属性をもつ GF(81) に対する原始多項式を探します。正確に 4 個の非ゼロ項をもつ GF(81) に対する原始多項式はないため、fourterms
は空になることに注意してください。また、fewterms
は 3 個の項のある "1 つ" の多項式を表し、threeterms
は GF(81) に対する 3 項の""すべて" の原始多項式を表すことも注意してください。
p = 3; m = 4; % Work in GF(81). fewterms = gfprimfd(m,'min',p) threeterms = gfprimfd(m,3,p) fourterms = gfprimfd(m,4,p)
出力は以下のようになります。
fewterms = 2 1 0 0 1 threeterms = 2 1 0 0 1 2 2 0 0 1 2 0 0 1 1 2 0 0 2 1 No primitive polynomial satisfies the given constraints. fourterms = []
アルゴリズム
gfprimfd
は、関数 gfprimck
を使用して原始性のテストを実行します。opt
が 'min'
、'max'
、または省略された場合、多項式は 10 進整数を基底 p
に変換することによって構築されます。10 進法の順序に基づき、gfprimfd
は適切な条件を満たす、最初に見つかった多項式を出力します。
バージョン履歴
R2006a より前に導入