日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

C语言有限域的构造,有限域(3)——多项式环的商环构造有限域

發布時間:2023/12/10 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C语言有限域的构造,有限域(3)——多项式环的商环构造有限域 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

版權申明:本文為博主窗戶(Colin Cai)原創,歡迎轉帖。如要轉貼,必須注明原文網址

http://www.cnblogs.com/Colin-Cai/p/9489225.html

作者:窗戶

QQ/微信:6679072

E-mail:6679072@qq.com

接著上兩章內容,我們還是得繼續尋找有限域的構造方法。上章證明矩陣環是個單環,自然是沒戲了,但我們還可以考慮多項式環。

多項式環

多項式是我們大家熟知的概念,以下都是一元多項式:

1

2x+4

x2+2x+3

3x2+5x2+9

...

所謂的一元就是只有一個未知數,在這里我就不對于一元多項式給出一個嚴格的定義了,直接解釋多項式環。

所謂一個環A的多項式環B,指的是如下:

(1) B的每個元是一個一元多項式

(2) B的每個元(一元多項式)的每一個系數都是A上的元

(3) 系數全是A上的元的一元多項式都是B的元

多項式的加法、減法就是合并同類項,因為系數取自一個環,所以系數間的加法、減法是合法的,會得到別的多項式。

同樣,多項式的乘法要麻煩一點,不過也是得到多項式的。多項式的乘法是利用分配律,展開各項。以下整系數多項式的例子可以讓我們回憶起多項式的乘法:

(x2+2x+3) * (3x+5)

= (x2+2x+3) * 3x +?(x2+2x+3) * 5

=?x2?* 3x + 2x * 3x + 3 * 3x +?x2?* 5 + 2x * 5 + 3 *5

= 3x3 + 6x2 + 9x + 5x2 + 10x + 15

=?3x3?+ 11x2?+ 19x + 15

因為系數都在一個環里,所有乘法、加法都是封閉的,所以多項式乘法也是一樣合法的。

所以多項式環當然是環。

可能有的人想問,為什么這里非要用一元多項式?

其實我們在剛才的多項式環定義那里為多項式引入任意多個未知數(甚至無窮多個未知數),其組成的代數系統依然為環,只是多元的多項式環挺復雜,這里不研究。

不可分多項式

我們知道質數是2、3、5、7、11、13、17...這樣除了1和本身外沒有其他正約數的正整數。

我們在這里對質數做一個引申。

一個多項式環上的任意多項式,當然可以表示為1和自身的乘積,當然也可以表示為-1(1元的相反元)和自身的相反元的乘積,這兩者都是很平凡的。

比如:

x2+x+1 = 1 * (x2+x+1)

= -1 * (-x2-x-1)

這都是平凡的,沒什么意義。

如果是域上的多項式環,里面任何多項式表示成域上任何一個非0元和一個多項式的乘積。從而,這些也都是平凡的。

而所謂真正意義上的分解,就是要求兩個乘積項都不是常數,也就是次數是大于0的。

比如,

x2+2x+1 = (x+1) * (x+1)

不可分解的多項式我們稱之為不可分多項式。

比如整數系數下的x2+x+1就是不可分多項式,實際上,即使是2元域(0/1兩個元組成的特征2的域)上,這個多項式也是不可分多項式。

但在7元域(0/1/2/3/4/5/6組成的特征7的域)上,

x2+x+1 = (x+3) * (x+5)

多項式的帶余除法

我們從小就知道自然數的帶余除法,

比如

7÷3 = 2 ... 1

換個寫法,7 = 3*2+1

其實,域的多項式環里的多項式也存在這樣的帶余除法。

對于多項式f和g(g為非0多項式),一定存在唯一的多項式a和b,滿足

f = g*a+b

并且b的次數小于g的次數。

其實證明起來很簡單,就如同兒時的豎式除法計算那樣,一步步的把高次的項減掉。

比如我們以2階素域下的多項式 x5+x4+x+1 和 x2+x+1為例

x3?? ?+ x? ? ? +1

_________________________

x2?+ x + 1? ? |? ? ?x5?+ x4?? ? ? ? ? ? ? ? + x? ? + 1

x5?+ x4?+ x3

______________

x3? ? ? ? ?+ x

x3?+ x2?+ x

___________

x2? ? ? ? ? + 1

x2? ?+ x? ?+ 1

____________

x

所以,

x5+x4+x+1 = (x2+x+1) *?(x3+x+1)? + x

帶余除法對于后面的理解有至關重要的作用。

有限域

既然想通過商環的方法構造域,那么當然要先考慮多項式環的理想。

我們依然使用生成元的方法去研究。

我們以?p階素域作為原本的環?A, 那么A的多項式環稱為?B,

我們考慮由多項式 f?生成的理想,我們假設 f 是可以分解的,f = f1 * f2。

f1、f2并不在理想里,很明顯,f1、f2的次數比f都低,不存在f乘以一個多項式得到f1或 f2。

我們再回憶一下商環的運算,根據f?= f1?* f2,我們有

商集(f1) * 商集(f2) = 商集(f)

商集(f)其實就是理想,也就是商環里的0元,

從而左邊兩個非0元乘法得到右邊的0元,于是這個商環不是整環,當然更不可能是域了。

于是我們考慮由單個不可分多項式生成的理想。

考慮其下一個m次不可分多項式 f(最高未知數次數為m)生成的理想 C ,

然后我們考慮商環B/C長什么樣。

理想C其實是所有以多項式 f為因子的多項式的集合。

我們考慮所有次數小于m的多項式,根據排列組合的乘法原理,這樣的多項式一共有pm個。

對于任意兩個不同的次數小于m的多項式,假設為g和h。

g-h為非0的次數小于m的多項式,從而g-h不可能以f為因子,從而g-h不在理想里,從而g和h一定屬于不同的商集。

因為g和h選擇的隨意性,從而這pm個多項式分屬于pm個不同的商集。

上面介紹過帶余除法,考慮次數大于等于m的多項式,假設有一個這樣的多項式h,

一定存在一個多項式a和一個次數小于m的多項式b,使得

h = g*a+b

h-b = g*a

g*a在理想C里,于是h和b在同一個商集里。

由于h選擇的隨意性,從而任何一個次數大于等于m的多項式都落在那pm個不同的商集里。

所以,我們最終的這個商環也就有pm個元。

這里多項式乘法的可交換性遺傳自域乘法的可交換,從而這個商環可交換是必然的。

另外,f的不可分特性導致了如果任意g、h不以f為因子,則g*h也不以f為因子。從而,這個商環是一個整環。

有限的可交換整環,因為其有限性,那么當然是除環,從而當然就是域啦(其實,并不存在有限的不可交換整環,不過這個定理證明有那么點麻煩)。

OK,我們終于找到了構造任意階有限域的方法。

我們可以用這pm個次數小于m的多項式來代表這個域的各個元素。加法、減法就是合并同類項。

乘法就是多項式乘法結果再利用帶余除法除以多項式 f 得到的余數。

我們來舉個例子。

x2+x+1 是 2階素域下的不可分多項式。

利用剛才的手段得到了一個4階域,我們可以記該域下的4個元為

[0]

[1]

[x]

[x+1]

其四則運算為

[0] + [0] = [0]  [0] - [0] = [0]  [0] * [0] = [0]

[0] + [1] = [1]  [0] - [1] = [1]  [0] * [1] = [0]  [0] / [1] = [0]

[0] + [x] = [x]  [0] - [x] = [x]  [0] * [x] = [0]  [0] / [x] = [0]

[0] + [x+1] = [x+1]  [0] - [x+1] = [x+1]  [0] * [x+1] = [0]  [0] / [x+1] = [0]

[1] + [0] = [1]  [1] - [0] = [1]  [1] * [0] = [0]

[1] + [1] = [0]  [1] - [1] = [0]  [1] * [1] = [1]  [1] / [1] = [1]

[1] + [x] = [x+1]  [1] - [x] = [x+1]  [1] * [x] = [x]  [1] / [x] = [x+1]

[1] + [x+1] = [x]  [1] - [x+1] = [x]  [1] * [x+1] = [x+1]  [1] / [x+1] = [x]

[x] + [0] = [x]  [x] - [0] = [x]  [x] * [0] = [0]

[x] + [1] = [x+1]  [x] - [1] = [x+1]  [x] * [1] = [x]  [x] / [1] = [x]

[x] + [x] = [0]  [x] - [x] = [0]  [x] * [x] = [x+1]  [x] / [x] = [1]

[x] + [x+1] = [1]  [x] - [x+1] = [1]  [x] * [x+1] = [1]  [x] / [x+1] = [x+1]

[x+1] + [0] = [x+1]  [x+1] - [0] = [x+1]  [x+1] * [0] = [0]

[x+1] + [1] = [x]  [x+1] - [1] = [x]  [x+1] * [1] = [x+1]  [x+1] / [1] = [x+1]

[x+1] + [x] = [1]  [x+1] - [x] = [1]  [x+1] * [x] = [1]  [x+1] / [x] = [x]

[x+1] + [x+1] = [0]  [x+1] - [x+1] = [0]  [x+1] * [x+1] = [x]  [x+1] / [x+1] = [1]

附:上一章有網友提議用LaTeX,嗯,本人確實有點懶,不過后面會考慮的。

另外,很多網上文章這里都寫本原多項式,人云亦云,悲哀,一幫只愿去抄書不愿去理解的人啊。

建議還是先去了解一下什么叫本原多項式吧。

總結

以上是生活随笔為你收集整理的C语言有限域的构造,有限域(3)——多项式环的商环构造有限域的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。