3

我正在尝试在 haskell 中对线性反馈移位寄存器进行建模。这些可以通过有限域上的多项式来建模,所以我使用 numeric-prelude 来获得比普通前奏更接近数学代数结构的类型类。

我绝不是抽象代数方面的专家,所以我对IntegralDomain类型类有点困惑。问题是我的抽象代数书(Charles C. Pinter 的抽象代数书)和类型类似乎相互冲突。

根据这本书,积分域上的多项式环本身就是一个积分域。此外,一个域上的多项式环只是一个整数域,但具有除法算法所具有的特殊(提到它是特殊的事实)属性。

也就是说,如果 F[x] 是一个域上的多项式,那么对于 F[x] 中的 a 和 F[x] 中的 b!=0,在 F[x] 中存在 q,r 使得 b*q+ r=a,r的度数小于b的度数。

对我来说,这个属性对于域上的多项式来说是特殊的,这意味着它不适用于任何整数域。

另一方面,根据 numeric prelude 的类型类别,字段上的多项式(即 zeroTestable)也是一个 IntegraldDomain。但是根据文档,积分域有几条定律,其中之一是:

(a `div` b) * b + (a `mod` b) === a

http://hackage.haskell.org/packages/archive/numeric-prelude/0.4.0.1/doc/html/Algebra-IntegralDomain.html#t:C

这对我来说看起来像除法算法,但是除法算法在任何积分域中都是正确的,包括我的书中的积分域矛盾上的多项式。还值得注意的是,整数域上的多项式邮件在 numeric-prelude 中没有 IntegralDomain 的实例(至少我不能看到,每个类型类都简单地称为 C 的事实,使文档有点难以读)。那么也许数字前奏中的 IntegralDomain 是一个具有除法算法所具有的额外属性的整数域?

那么 numeric-prelude 中的 IntegralDomain 真的是一个整数域吗?

橡皮鸭调试后脚本:在写这个问题时,我对可能的解释有了一个想法。是不是要求“r的度数小于b的度数”。这使得整个区别?该要求不在数字前奏 IntegralDomain 中。话又说回来,其他一些法律可能暗示了这个事实......

4

1 回答 1

3

根据这本书,积分域上的多项式本身就是一个积分域。

那是不正确的措辞。积分域上的多项式环又是一个积分域。

正如除法算法所证明的那样,在一个不定域上的多项式环甚至是一个主理想域,因为每个 0 次多项式都是一个单元。

在一般积分域 R 中,你有非零的非单位,如果a是一,那么你不能写

X = q*a + r

r小于a(为 0)。

是否要求“的程度r小于的程度b”。这使得整个区别?

恰恰。该要求保证除法算法终止。在一般积分域中,您可以对任何固定环元素进行模余数的“规范”选择,但规范余数不必以任何有意义的方式“更小”,因此使用除法算法的尝试不必终止。

再说一次,其他一些法律可能暗示了这个事实

没有任何法律Algebra.IntegralDomain暗示这一点。

法律

(a+k*b) `mod` b === a `mod` b

我相信,对于一个完全通用的积分域很难实现,这可能会在一定程度上限制实际实例,但对于类似Z[X]R[X,Y]不是 PID 的东西,一个实例是可能的。

于 2013-07-23T14:08:06.420 回答