拡張ユークリッド アルゴリズム関数を作成しました
xgcd :: FFElem -> FFElem -> (FFElem, FFElem)
非ゼロの有限体要素a,b ∈ GF ( p m ) の場合、sa + tb = 1となるようにsとtを計算します。体の乗法逆数を計算するために使用できる方法はありますか? つまり、a ∈ GF( p m ) が与えられたとき、 ab = 1 ∈ GF( p m ) となるようにbを計算したいと考えています。xgcd
機能も実装しました
(+) :: FFElem -> FFElem -> FFElem
(-) :: FFElem -> FFElem -> FFElem
(*) :: FFElem -> FFElem -> FFElem
(^) :: FFElem -> Integer -> FFElem
ffQuotRem :: FFElem -> FFElem -> (FFElem, FFElem)
degree :: FFElem -> Integer
ここ(+)
で(-)
、 、(*)
、(^)
、およびffQuotRem
は期待どおりに動作し、有限体 (体の要素の多項式表現の次数) に対するdegree
通常のユークリッド関数です。
(答えは必ずしも Haskell である必要はありません。)