FiniteFieldElement

FiniteFieldElement[ff,ind]

有限体 ff の指数が ind である元を与える.

FiniteFieldElement[ff,{c0,c1,c2,}]

有限体 ff の元 c0+c1θ+c2θ2+を与える.ただし,θ は体 ff の生成元である.

詳細

  • FiniteFieldElementは,FiniteFieldの元を表すために使われる.
  • 同じ体にあるFiniteFieldElementオブジェクトは算術操作によって自動的に結合される.
  • Information[a,prop]または a[prop]は,FiniteFieldElementオブジェクト a の特性prop を与える.次は,指定可能な特性である.
  • "Field"a の周辺体 ff
    "Index"a の指数
    "Coefficients"{c0,c1,c2,} ,ただし a=c0+c1θ+c2θ2+
    "Characteristic"ff 標数 p
    "ExtensionDegree"上の ff の拡大次数 d
    "FieldSize"ff の元の数
    "FieldIrreducible"ff の構築に使われた多項式関数 f
    "ElementRepresentation""Polynomial"または "Exponential"
  • MinimalPolynomial[a,x]a でゼロであるにおける最小次数のモニック多項式を与える.
  • MultiplicativeOrderは非零の有限体の元の乗法的位数を与える.
  • 有限体の元の係数を持つ多項式には,PolynomialGCDFactorExpandPolynomialQuotientRemainderResultantのような多項式操作を使うことができる.有限体の元の係数を持つ有理関数には,TogetherおよびCancelを使うことができる.
  • DetInverseRowReduceNullSpaceMatrixRankLinearSolveのような線形代数の操作は,有限体の元の項を持つ行列に使うことができる.
  • SolveReduceを使って有限体上で方程式系を解くことができる.

例題

すべて開くすべて閉じる

  (1)

標数,拡大次数の有限体を表す:

多項式係数を使って体の元を指定する:

同等の指定:

指数を使って体の元を指定する:

同等の指定:

演算を行う:

多項式代数を行う:

有限体の元は原始オブジェクトである:

有限体の元の特性を抽出する:

スコープ  (13)

表現と特性  (4)

標数,拡大次数の有限体を表す:

体の元を多項式係数で指定する:

同等の指定:

有限体の元は原始オブジェクトである:

多項式係数と体を有限体の元から抽出する:

体の元を指数で指定する:

同等の指定:

有限体の元から指数と体を抽出する:

有限体の元から体の特性を抽出する:

Informationを使って特性を抽出する:

体の加法単位元と乗法単位元はの指数はである:

元の指数表現を使う有限体を構築する:

体のすべての非零の元は指数がの元のベキである:

体の加法単位元と乗法単位元の指数はである:

の各元は における次数 の多項式として表すこともできる:

大きい指数は短縮形式でタイプセットされる:

大きい標数は記号 p としてタイプセットされる:

算術操作  (3)

有限体内で算術操作を行う:

有理ベキは指数分母 の場合にのみ使うことができる:

体の元によっては,平方根が存在しないものもある:

算術操作は整数を体の元として扱う:

有理数は体の標数を法として有効でなければならない:

Elementを使ってどの有理数が体の元と識別できるかを判定する:

有理数は比較のために体の元で識別される:

異なる有限体の元を結合することはできない:

同じ標数と規約体を持つ体だが,異なる元表現が許される:

自己同型と埋込み  (2)

有限体の元のすべての共役を計算する:

共役は a の最小多項式の根である:

フロベニウス(Frobenius)自己同型は に写像する:

ある有限体の別の有限体への埋込みを計算する:

埋込みを通して有限体の元を写像する:

埋込みは算術操作を保持する:

有限体上の多項式  (2)

有限体上で多項式を使って計算する:

積を展開する:

最大公約数を計算する:

分数を約分する:

商と剰余を計算する:

多項式を因数分解する:

終結式を計算する:

多変量の多項式で計算する:

有限体の拡大体上で多項式を因数分解する:

上で既約の多項式は をより大きい体 に埋め込んだ後で因数分解する:

有限体上の線形代数  (1)

有限体上で行列の計算を行う:

行列の乗算:

行列の累乗を計算する:

行列式を計算する:

逆行列を計算する:

線形方程式を解く:

行列の階数と零空間を計算する:

行列のLU分解を計算する:

行列の行削減:

行列の固有多項式を求める:

有限体上の方程式  (1)

有限体上で方程式を解く:

一変数の方程式:

線形方程式系:

多項式系:

解の例を求める:

限定子を除去する:

アプリケーション  (8)

エラー訂正コードを実装する.ハミングコードは ビットのメッセージを ビットシーケンスで符号化し,エラーを1つ修正することができる:

指数の元表現を使って を元の数がの有限体とし, を構築するための既約多項式, の生成元とする:

符号化されたメッセージは の係数リストである.ただし,の係数リストはもとのメッセージである:

を係数リストが受信したメッセージである多項式とする:

受信したメッセージにエラーがなければ であり,したがって である:

受信したメッセージの位置 にエラーが1つ含まれていれば であり,したがって である:

受信したメッセージをチェックして修正する:

メッセージの復号化には の係数リストを計算する:

受信したメッセージのエラーが1つ以下の場合,復号化されたメッセージは正しい:

任意の素数ベキ について,次数 直交ラテン方陣を構築する.次数 のラテン方陣は,各行各列が 要素中の各1要素を厳密に1回含む 配列である.2つの配列を並置して構成された ペアがすべて異なる場合,そのラテン方陣のペアは直交すると言われる:

すべての配列がラテン方陣であることを確認する:

配列の全ペアが直交であることを確認する:

のときの総和 がすべてことなっているなら,整数の有限集合はSidon集合である. 個の整数のSidon集合を素数ベキ について構築する:

が長さ のSidon集合であることを確認する:

アルファベットの 文字からなる 次のde Bruijn列は, 文字の各の列が の循環列に厳密に1回現れるようなアルファベットの 文字の循環列 である. 文字のアルファベットの 次de Bruijn列を,素数ベキ について構築する:

文字のアルファベットについての次数 のde Bruijn列であることを確認する:

行列 のすべての成分がH.TemplateBox[{H}, Transpose]=n I_nなら, はアダマール(Hadamard)行列である.任意の素数ベキ (TemplateBox[{{q, =, 3}, 4}, Mod])について次数 のアダマール行列を構築する:

高度暗号化標準(AES)アルゴリズムで使われている「Rijndael S-Box Step」を実装する.「Nyberg S-Box」と呼ばれる最初の部分はにおける乗法の逆元を使用する:

2番目の部分には上のアフィン変換が含まれる:

Forward S-Boxは2つの部分からなる:

Forward S-Boxの表を16進法で計算する:

逆S-Box変換を定義する:

逆S-Box表を16進法で計算する:

逆S-BoxがForward S-Boxの逆であることを確認する:

DiffieHellman公開鍵の暗号システムを2049ビットの素数で実装する:

の原始元を求める:

最初のユーザが秘密鍵を選ぶ:

公開鍵は,からなる:

2番目のユーザはを選ぶ:

2048ビットのメッセージ を送るために,2番目のユーザは を送る:

最初のユーザは を計算して が復元できる:

デジタル署名スキームを実装する.素数 を固定しての原始元 を求める:

の秘密の整数を選んで を公開する:

メッセージ のための署名は,となるような より小さい正の整数のペアである.署名の計算には秘密の整数 の知識が必要である:

署名は公に知られている情報を使って確認することができる:

ランダムに生成されたメッセージのための署名を計算する:

署名を確認する:

特性と関係  (9)

標数 ,拡大次数 の有限体は 個の元を持つ:

標数 の有限体の元はを満足する:

したがって,写像 FrobeniusAutomorphismとして知られる体の自己同型である:

体の生成元 は既約である体の根である:

FrobeniusAutomorphismを使って の残りの根を求める:

MinimalPolynomialを使って有限体の元の最小多項式を求める:

上の最小多項式:

の元がある の部分体上の最小多項式:

個の元を持つ有限体の元はすべて の根である:

事実,

上の次数 の任意の既約多項式は,個の元がある体で 個の根を持つ:

IrreduciblePolynomialQModulusp を使って上における既約性を確かめる:

FactorExtension を使って f 上における線形係数の積であることを確かめる:

MultiplicativeOrderを使って有限体の元の乗法的位数を求める:

FiniteField[p,1]を使って素体上で計算する:

Modの結果と比較する:

上の多項式計算:

Modulusオプションで得られた結果と比較する:

FromFiniteFieldIndexを使って指定された指数を持つ体の元を得る:

FiniteFieldIndexは体の元の指数を与える:

Wolfram Research (2023), FiniteFieldElement, Wolfram言語関数, https://reference.wolfram.com/language/ref/FiniteFieldElement.html (2024年に更新).

テキスト

Wolfram Research (2023), FiniteFieldElement, Wolfram言語関数, https://reference.wolfram.com/language/ref/FiniteFieldElement.html (2024年に更新).

CMS

Wolfram Language. 2023. "FiniteFieldElement." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/FiniteFieldElement.html.

APA

Wolfram Language. (2023). FiniteFieldElement. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/FiniteFieldElement.html

BibTeX

@misc{reference.wolfram_2024_finitefieldelement, author="Wolfram Research", title="{FiniteFieldElement}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/FiniteFieldElement.html}", note=[Accessed: 05-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_finitefieldelement, organization={Wolfram Research}, title={FiniteFieldElement}, year={2024}, url={https://reference.wolfram.com/language/ref/FiniteFieldElement.html}, note=[Accessed: 05-November-2024 ]}