博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
有限域(1)——环和素域
阅读量:6709 次
发布时间:2019-06-25

本文共 3529 字,大约阅读时间需要 11 分钟。

  版权申明:本文为博主窗户(Colin Cai)原创,欢迎转帖。如要转贴,必须注明原文网址  http://www.cnblogs.com/Colin-Cai/p/9397448.html   作者:窗户  QQ:6679072  E-mail:6679072@qq.com

  有限域,顾名思义就是有限的域,我们又称它为Galois域(Galois Field)。

   

  

  

  说到域,首先得要讲讲环(ring)。

  环中存在两种封闭的二元运算——加法和乘法。加法和乘法只是我们的称呼,以区别两种运算。环要满足以下条件:

  1.环的所有元在加法上是一个交换群(Abelian Group)(满足结合律,交换律,存在e元,这里我们称之为0元,满足每个元都有唯一的逆元)。

  2.环的所有元在乘法上是一个半群(即只要满足结合律)。

  3.加法、乘法满足左分配律和右分配律。

  

  我来举几个例子,比如所有的整数在加法、乘法下就是一个环。

  再来个复杂的例子,所有的实数下的n阶方阵在矩阵加法和矩阵乘法下也是一个环,0元为n阶0方阵。注意,这里的乘法不可交换。

  

  

 

  人类很早就认识到自然数,在慢慢历史长河中,加减法、乘法都是很早就产生。涉及到公平性问题,又带来了除法,于是引入了分数的概念。

  但引入了除法之后,我们可以在整数环的基础上构造有理数域。

  我们最常见的域有理数域就是在整数环的基础上引入除法得到的。

  

  不是所有的环都可以扩展成一个域的,有些环天生不足,比如刚才提到的矩阵环,不仅仅因为矩阵乘法不可交换,而且里面充斥着两个非0元乘积等于0元的情况。

  比如

  

  

  这样的元叫零因子,没有零因子的环叫整环,比如整数环。当然整数环中有一个元素也很特殊,那就是1,1和任何整数的乘积还是那个整数本身,我们可以称呼环中满足这个性质的元叫1元。

  实际上,我们对于含有1元的交换整环,按照我们构造有理数域的方法都是可以构造成域的,这叫分式域。

  但我们构造Galois域的方法其实还是用的其他方法,这个以后再说。

  

  

  域的所有非0元在乘法下也是一个交换群(Abelian Group)。

  域有个重要的性质,就是特征,除0元之外的每个元的加法群周期都相同,这个周期称之为特征。当然,对于我们的有理数来说来说,这个周期是无穷。如果域的特征不为无穷,而为整数,实际上是可以证明其只能为质数(Prime Number),这里不讲如何证明。

  域有子域的概念,某个域的其中一部分元在加法、乘法上还是一个域,则这一部分元所成的域为原来域的子域。用平常的例子,我们的有理数域其实是实数域的子域,而实数域则是复数域的子域。实际上,我们的实数域、复数域有无穷多个子域。

  比如集合 {x|x=a*√2 + b, a和b是有理数} 在加法、乘法上就是一个域。

  

  每个特征下都有一个独特的域,使得任何一个同样特征的域都有一个子域与之同构,则为素域,有理数域就是一个素域。

  我们既然考虑有限域,那么针对的是特征为质数的域。

  

  素域

 

  实际上,特征为质数的素域是很容易构造的,假如说特征为p,素域的元素个数则为p,设为0,1...p-1

  素域内的加法定义为模p加法,也就是

      (a+b)%p

  素域内的乘法定义为模p乘法,也就是

  (a*b)%p

  我们很容易证明这是一个交换环,而且存在1元。

  对于除法,

  a/b = a*bp-2

  这里的乘法和幂用的都是模p乘法

 

  我们很容易写一个scheme程序来看一个特征p素域中所有的+-*/运算:

  

;特征为p的素域的加减乘除;加法(define (addp p a b) (if (>= (+ a b) p) (- (+ a b) p)  (+ a b) ));减法(define (subp p a b) (addp p a (if (zero? b) 0 (- p b))));乘法(define (mulp p a b) (remainder (* a b) p));求逆(define (invp p a) (define (pow n a b)  (cond   ((zero? n) a)   ((zero? (remainder n 2)) (pow (quotient n 2) a (mulp p b b)))   (else (pow (quotient n 2) (mulp p a b) (mulp p b b)))  ) ) (pow (- p 2) 1 a));除法(define (divp p a b) (mulp p a (invp p b)))

 

  zero?这个运算有的scheme未必有,定义如下

  (define zero? (lambda (x) (= 0 x)))

 

  对于特征5的素域,我们运算一下所有的加减乘除:

 

;特征为5的素域(define p 5);凑出所有的有序对(define (list-all) (define (f x y)  (let ((a (car x)) (b (cdr x)) (c (cons x y)))   (cond    ((> b 0) (f (cons a (- b 1)) c))    ((> a 0) (f (cons (- a 1) (- p 1)) c))    (else c)   )  ) ) (f (cons (- p 1) (- p 1)) '()))(for-each (lambda (x)  (if (zero? (cdr x))   (displayln (format "~a+~a=~a ~a-~a=~a ~a*~a=~a"               (car x) (cdr x) (addp p (car x) (cdr x))               (car x) (cdr x) (subp p (car x) (cdr x))               (car x) (cdr x) (mulp p (car x) (cdr x))               ))   (displayln (format "~a+~a=~a ~a-~a=~a ~a*~a=~a ~a/~a=~a"               (car x) (cdr x) (addp p (car x) (cdr x))               (car x) (cdr x) (subp p (car x) (cdr x))               (car x) (cdr x) (mulp p (car x) (cdr x))               (car x) (cdr x) (divp p (car x) (cdr x))               ))  ) ) (list-all))

 

运算,得到

0+0=0 0-0=0 0*0=0

0+1=1 0-1=4 0*1=0 0/1=0
0+2=2 0-2=3 0*2=0 0/2=0
0+3=3 0-3=2 0*3=0 0/3=0
0+4=4 0-4=1 0*4=0 0/4=0
1+0=1 1-0=1 1*0=0
1+1=2 1-1=0 1*1=1 1/1=1
1+2=3 1-2=4 1*2=2 1/2=3
1+3=4 1-3=3 1*3=3 1/3=2
1+4=0 1-4=2 1*4=4 1/4=4
2+0=2 2-0=2 2*0=0
2+1=3 2-1=1 2*1=2 2/1=2
2+2=4 2-2=0 2*2=4 2/2=1
2+3=0 2-3=4 2*3=1 2/3=4
2+4=1 2-4=3 2*4=3 2/4=3
3+0=3 3-0=3 3*0=0
3+1=4 3-1=2 3*1=3 3/1=3
3+2=0 3-2=1 3*2=1 3/2=4
3+3=1 3-3=0 3*3=4 3/3=1
3+4=2 3-4=4 3*4=2 3/4=2
4+0=4 4-0=4 4*0=0
4+1=0 4-1=3 4*1=4 4/1=4
4+2=1 4-2=2 4*2=3 4/2=2
4+3=2 4-3=1 4*3=2 4/3=3
4+4=3 4-4=0 4*4=1 4/4=1

转载于:https://www.cnblogs.com/Colin-Cai/p/9397448.html

你可能感兴趣的文章
ASP.NET Core 1.0基础之依赖注入
查看>>
Excel里的单元格提行
查看>>
Matlab最短路径问题记录
查看>>
c语言单链表实现
查看>>
tcpdump非常实用的抓包实例
查看>>
ORACLE 日期函数 MONTHS_BETWEEN
查看>>
struts2.3+spring3.2+hibernate4.2例子
查看>>
进程调度
查看>>
北京地铁新机场线列车亮相调试 设计时速160公里/小时
查看>>
css布局基础总结
查看>>
Koa源码解析
查看>>
webpack系列之一总览
查看>>
乌龙事件之chrome页面部分白屏
查看>>
玩转iOS开发:iOS中的Socket编程(二)
查看>>
如何打造BCH使用的刚性需求?
查看>>
一个小需求引发的思考
查看>>
JSX,了解一下?
查看>>
升级Swift4 0遇到的坑
查看>>
2017 Material design 第四章第二节《单位和尺寸》
查看>>
2017 Material design 第一章第三节《Material特性》
查看>>