• 有限域(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为例

                                                      x    + 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乘以一个多项式得到f或 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,嗯,本人确实有点懒,不过后面会考虑的。

      另外,很多网上文章这里都写 本原多项式 ,人云亦云,悲哀,一帮只愿去抄书不愿去理解的人啊。

      建议还是先去了解一下什么叫本原多项式吧。

      

  • 相关阅读:
    typescript
    heightChatrs
    数组的扩展
    es6函数扩展
    es6变量解构与函数解构
    C++ 编程技巧锦集(二)
    C++ 全排列
    C++ 编程技巧锦集(一)
    [Microsoft][ODBC Driver 11 for SQL Server][SQL Server]列名 'user1' 无效
    2016年天梯赛初赛题集
  • 原文地址:https://www.cnblogs.com/Colin-Cai/p/9489225.html
Copyright © 2020-2023  润新知