メインコンテンツ

gf

説明

x_gf = gf(x) は、行列 x からガロア体 (GF) 配列 GF(2) を作成します。

x_gf = gf(x,m) は、行列 x からガロア体配列を作成します。ガロア体は 2m 個の要素をもち、m は 1 ~ 16 の整数です。

x_gf = gf(x,m,prim_poly) は、原始多項式 prim_poly を使用して行列 x からガロア体配列を作成します。

すべて折りたたむ

01 から成る行列を指定します。

x = [0 1 1; 0 1 0; 1 1 1];

x から GF(2) 配列を作成します。

x_gf = gf(x)
 
x_gf = GF(2) array. 
 
Array elements = 
 
   0   1   1
   0   1   0
   1   1   1

ガロア体の次数を 16 に設定します。ここで、次数は 2m と等しくなります。0 ~ 2m-1 の範囲の要素から成る行列を指定します。ガロア体配列を作成します。

m = 4;
x = [3 2 9; 1 2 1];
y = gf(x,m)
 
y = GF(2^4) array. Primitive polynomial = D^4+D+1 (19 decimal)
 
Array elements = 
 
   3   2   9
   1   2   1

整数のシーケンスを作成します。GF(25) のガロア体配列を作成します。

x = [17 8 11 27];
y = gf(x,5)
 
y = GF(2^5) array. Primitive polynomial = D^5+D^2+1 (37 decimal)
 
Array elements = 
 
   17    8   11   27

GF(25) に対して可能なすべての原始多項式を求めます。

pp = primpoly(5,'all')
 
Primitive polynomial(s) = 
 
D^5+D^2+1
D^5+D^3+1
D^5+D^3+D^2+D^1+1
D^5+D^4+D^2+D^1+1
D^5+D^4+D^3+D^1+1
D^5+D^4+D^3+D^2+1
pp = 6×1

    37
    41
    47
    55
    59
    61

10 進数の 59 相当の原始多項式を使用してガロア体配列を生成します。

z = gf(x,5,'D5+D4+D3+D+1')
 
z = GF(2^5) array. Primitive polynomial = D^5+D^4+D^3+D+1 (59 decimal)
 
Array elements = 
 
   17    8   11   27

関数 genpoly2b を使用して、対応するガロア体配列値と生成多項式の有効性指標を返します。

有効なガロア体配列オブジェクトを作成します。

genpoly = gf([1 1 6],3)
 
genpoly = GF(2^3) array. Primitive polynomial = D^3+D+1 (11 decimal)
 
Array elements = 
 
   1   1   6
[b,ecode] = genpoly2b(genpoly,3,11)
b = 
1
ecode = 
1

入力引数

すべて折りたたむ

入力行列。すべての値がゼロ以上である行列として指定します。関数は、この値を使用して GF 配列を作成します。

  • prim_poly 入力引数を指定しない場合、x の各要素は範囲 [0, 2m–1] の整数でなければなりません。

  • prim_poly 入力引数を指定した場合、x の各要素は 0 または 1 でなければなりません。

データ型: double

原始多項式の次数。1 ~ 16 の正の整数として指定します。関数は、この値を使用して GF の要素の個々の値を計算します。

データ型: double

原始多項式。次のオプションのいずれかとして指定します。

  • バイナリ行ベクトル — このベクトルは、prim_poly の係数を昇べきの順に指定します。

  • 文字ベクトルまたは string スカラー — この値は、prim_poly をテキスト表現で定義します。詳細については、多項式の文字ベクトルを参照してください。

  • 正の整数 — この値は、prim_poly を範囲 [(2m + 1), (2m+1 – 1)] で定義します。

prim_poly を指定しない場合に各ガロア体配列 GF(2m) に使用される既定の原始多項式の一覧については、既定の原始多項式を参照してください。

データ型: double | char | string

出力引数

すべて折りたたむ

ガロア体配列。MATLAB が整数の配列ではなくガロア体配列として認識する変数として返されます。結果として、変数を操作すると、MATLAB は変数で指定されるガロア体内で動作します。たとえば、関数logをガロア配列に適用する場合、MATLAB は、実数または複素数の体ではなく、そのガロア体内で対数を計算します。

詳細

すべて折りたたむ

バージョン履歴

R2006a より前に導入