ヘルプ センターヘルプ センター
このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
ガロア体上の多項式を除算
[q,r] = gfdeconv(b,a)
[q,r] = gfdeconv(b,a,p)
[q,r] = gfdeconv(b,a,field)
[q,r] = gfdeconv(b,a) は、GF(2) 多項式の係数を昇べきの順に指定する行ベクトルとして、商 q と剰余 r を返します。返されるベクトルは、b を a で除算した結果です。a、b、および q は GF(2) 内にあります。
q
r
b
a
詳細は、ヒントを参照してください。
例
[q,r] = gfdeconv(b,a,p) は、2 つの GF(p) 多項式を除算します。ここで、p は素数です。b、a、および q は同じガロア体にあります。b、a、q、および r は、昇べきの順の係数をもつ多項式です。各係数の範囲は、[0, p–1] です。
p
[q,r] = gfdeconv(b,a,field) は、2 つの GF(pm) 多項式を除算します。ここで、field は GF(pm) のすべての要素の m 組を含む行列です。p は素数、m は正の整数です。b、a、および q は同じガロア体にあります。
field
この構文では、各係数は指数形式で指定されます。具体的には、[-Inf, 0, 1, 2, ...] の形式です。指数形式の要素は、GF(pm) の原始元 α に対応する field 要素 [0, 1, α, α2, ...] を表します。
すべて折りたたむ
ガロア体 GF(3) で、x+x3+x4 を 1+x で 3 回除算します。多項式を行ベクトル、文字ベクトル、および string として表します。
p = 3;
多項式を行ベクトルを使用して表し、GF(3) 内で除算します。
b = [0 1 0 1 1]; a = [1 1]; [q_rv,r_rv] = gfdeconv(b,a,p)
q_rv = 1×4 1 0 0 1
r_rv = 2
出力を確認するために、元のガロア体の多項式を、商と除数の積に剰余を加算した結果と比較します。
bnew = gfadd(gfconv(q_rv,a,p),r_rv,p); isequal(b,bnew)
ans = logical 1
多項式を文字ベクトルを使用して表し、GF(3) 内で除算します。
b = 'x + x^3 + x^4'; a = '1 + x'; [q_cv,r_cv] = gfdeconv(b,a,p)
q_cv = 1×4 1 0 0 1
r_cv = 2
多項式を string を使用して表し、GF(3) 内で除算します。
b = "x + x^3 + x^4"; a = "1 + x"; [q_s,r_s] = gfdeconv(b,a,p)
q_s = 1×4 1 0 0 1
r_s = 2
関数gfprettyを使用して、剰余のない結果を多項式型で表示します。
gfpretty
gfpretty(q_s)
3 1 + X
ガロア体 GF(3) で、xk-1 (k は 1+x2 により割り切れる [2, 8] の範囲) の形式の多項式を出力します。最小次数 2 の GF(p) 上の既約多項式は、pm-1 よりも小さい正の整数 k に対して -1 +xk を割り切れない場合に限り、原始多項式です。詳細については、関数 gfprimck を参照してください
gfprimck
GF(3) 上の 1+x2 の既約性は、出力である多項式と共に、1+x2 が GF(32) に対する原始多項式ではないことを示しています。
p = 3; m = 2; a = [1 0 1]; % 1+x^2 for ii = 2:p^m-1 b = gfrepcov(ii); % x^ii b(1) = p-1; % -1+x^ii [quot,remd] = gfdeconv(b,a,p); % Display -1+x^ii if a divides it evenly. if remd==0 multiple{ii}=b; gfpretty(b) end end
4 2 + X 8 2 + X
ガロア体の多項式。行ベクトル、文字ベクトル、または string として指定します。b は、Communications Toolbox での多項式の表現または数値ベクトルのいずれかにできます。
a と b は、両方とも GF(p) 多項式または GF(pm) 多項式でなければなりません。ここで、p は素数です。p の値は、含まれている場合は指定された値、省略されている場合は 2 になり、field が指定されている場合は暗黙的に決まります。
2
例: '1 + x' は、文字ベクトルとして表された GF(24) の多項式です。
'1 + x'
4
データ型: double | char | string
double
char
string
ガロア体の多項式。行ベクトル、文字ベクトル、または string として指定します。a は、Communications Toolbox での多項式の表現または数値ベクトルのいずれかにできます。
例: [1 2 3 4] は、行ベクトルとして表された GF(5) の多項式 1+2x+3x2+4x3 です。
[1 2 3 4]
3
素数。素数として指定します。
データ型: double
GF(pm) のすべての要素の m 組。行列として指定します。field は、同じ原始元に対応して配置された GF(pm) のすべての要素をリストする行列です。GF(pm) のすべての要素の m 組を生成するには、次を使用します。
field =gftuple([-1:p^m-2]',m,p)
gftuple
ガロア体の多項式。昇べきの順に並べた多項式の係数の行ベクトルとして返されます。q は b を a で除算した商で、入力多項式と同じガロア体にあります。
除算の剰余。昇べきの順に並べた多項式の係数のスカラーまたは行ベクトルとして返されます。r は b を a で除算した剰余です。
関数 gfdeconv は、GF(pm) の計算を行います。ここで、p は素数、m は正の整数です。この関数は、ガロア体上の多項式を除算します。GF(2m) で実行するには、ガロア配列に対して gf オブジェクトの関数 deconv を使用します。詳細は、多項式の乗算と除算を参照してください。
gf
deconv
ガロア体の要素を除算するために、gfdeconv の代わりに gfdiv を使用することもできます。代数的には、ガロア体上の多項式の除算は、多項式の係数を含むベクトルの逆畳み込みと等価です。この逆畳み込み操作では、同じガロア体上の演算が使用されます。
gfdeconv
gfdiv
R2006a より前に導入
gfconv
gfadd
gfsub
この例の変更されたバージョンがあります。編集された方の例を開きますか?
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Contact your local office