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 より前に導入