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

gf

ガロア体配列の作成

構文

x_gf = gf(x,m)
x_gf = gf(x,m,prim_poly)
x_gf = gf(x)

説明

x_gf = gf(x,m) は、行列 x からガロア体配列を作成します。ガロア体は、2^m 個の要素をもち、m は 1 ~ 16 の整数です。x の要素は 0 ~ 2^m-1 の整数でなければなりません。出力 x_gf は、MATLAB が整数の配列ではなくガロア体配列として認識する変数です。結果として、+det のような演算子や関数を使って x_gf を操作するとき、MATLAB は指定したガロア体内で機能します。

メモ

通常の MATLAB 演算子や関数を使用して x_gf を操作する方法については、ガロア体の計算を参照してください。x 内の整数が GF(2^m) の要素を表す方法は、整数をガロア体にどのように対応づけるかを参照してください。

x_gf = gf(x,m,prim_poly) は、体を定義するために原始多項式 prim_poly を使用すること以外は、前述の構文と同じです。prim_poly は、多項式の文字ベクトルまたは原始多項式の整数表現です。たとえば、37 のバイナリ形式は 1 0 0 1 0 1 であるため、数値 37 は、多項式 D^5+D^2+1 を表します。詳細は、既定の原始多項式を参照してください。

x_gf = gf(x) は、行列 x から GF(2) 配列を作成します。x の各要素は、0 または 1 でなければなりません。

すべて折りたたむ

ガロア体の次数を 16 に設定します。ここで、次数は 2m と等しくなります。x の要素の範囲は 0 から 2m-1 でなければなりません。

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

整数のシーケンスを作成します。ガロア体配列を作成します。ここで m = 5 です。

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(2^5) に対して可能なすべての原始多項式を求めます。

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 相当の原始多項式を使用して GF 配列を生成します。

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

詳細

すべて折りたたむ

既定の原始多項式

次の表は、各ガロア体配列 GF(2M) に使用される既定の原始多項式をまとめています。異なる原始多項式を使用するには、入力引数として prim_poly を指定します。prim_poly は [(2M+1), (2(M+1)-1)] の範囲内で、既約多項式を示さなければなりません。詳細については、原始多項式の指定を参照してください。

M既定の原始多項式整数表現
1D + 13
2D^2 + D + 17
3D^3 + D + 111
4D^4 + D + 119
5D^5 + D^2 + 137
6D^6 + D + 167
7D^7 + D^3 + 1137
8D^8 + D^4 + D^3 + D^2 + 1285
9D^9 + D^4 + 1529
10D^10 + D^3 + 11033
11D^11 + D^2 + 12053
12D^12 + D^6 + D^4 + D + 14179
13D^13 + D^4 + D^3 + D + 18219
14D^14 + D^10 + D^6 + D + 117475
15D^15 + D + 132771
16D^16 + D^12 + D^3 + D + 169643

ガロアの計算

ガロア体配列に対してサポートされている演算には、次のものがあります。

演算説明
+ -ガロア配列の加算と減算
* / \ガロア配列の行列乗算および除算
.* ./ .\ガロア配列の要素単位の乗算および除算
^ガロア配列の行列のべき乗
.^ガロア配列の要素単位のべき乗
' .'ガロア配列の転置
==, ~=ガロア配列の関係演算子
allガロア ベクトルのすべての要素が非ゼロの場合、True になる
anyガロア ベクトルのいずれかの要素が非ゼロの場合、True になる
convガロア ベクトルの畳み込み
convmtxガロア体ベクトルの畳み込み行列
deconv逆畳み込みと多項式の除算
det正方ガロア行列の行列式
dftmtxガロア体の離散フーリエ変換行列
diag対角ガロア行列とガロア行列の対角
fft離散フーリエ変換
filter (gf)ガロア体に対する 1 次元デジタル フィルター
ifft逆離散フーリエ変換
invガロア行列の逆行列
lengthガロア ベクトルの長さ
logガロア体の対数
luガロア配列の LU 分解
minpolガロア要素の最小多項式を求める
mldivideガロア配列の行列左除算 \
polyvalガロア体の多項式を評価
rankガロア配列のランク
reshapeガロア配列を形状変更
rootsガロア体の多項式の根を求める
sizeガロア配列のサイズ
trilガロア配列の下三角部分の抽出
triuガロア配列の上三角部分の抽出

R2006a より前に導入