title: 有限域计算简述 - 知乎
category: default
tags:
- zhuanlan.zhihu.com
created_at: 2021-03-23 19:56:55
original_url: https://zhuanlan.zhihu.com/p/262267121
有限域计算简述 - 知乎
继舜 光通信
8 人赞同了该文章
本文为理解FEC(Reed-Solomon)编码的补充,简述用到的有限域计算的知识
这里的域(Field)的定义是有如下特性的集合 :
举个例子,我们常见的实数集是域,但整数值不是域(因为除了1,其它数的倒数都不是整数)。
具有有限个元素的域就是有限域(下文以GF表示,GF是Galois Field的缩写,这个名字纪念发明者Evariste Galois)。
这可能有点反常识,既然可以一直加、一直乘,怎么会只有有限个元素呢?一个关键的操作就是‘取模’。也就是在域的定义基础上,作如下修改:
举例子,GF(3)是定义了模3加法和乘法的有限域,有三个元素:0、1、2。两个计算示例:
(另外注意以上两个计算分别说明了1、2互为‘负数’,2是2的倒数)
下面是GF(3)的加法和乘法的所有组合。
那么,如果p不是素数会怎样呢?以下面‘GF(4)’的例子来说明:
GF(4)并不是有限域的存在,因为它并不能满足所有有限域的定义要求,因为元素2没有倒数。
不过,如果我们修改一下元素,将'GF(4)'改为
('GF(4)'的
在通信编码中使用的就是
下面引入多项式的概念以更好的理解
二进制数可以表示成多项式的方式:
这个多项式表示中内含了高有效位(MSB)低有限位(LSB)的概念,代表的是不同位的位置权重的区别。(上面多项式中代入
有限域中加法和乘法的多项式表示可以用如下例子来说明:
再回头看一下前面的
使用取模多项式为
以上图中红色框的数值计算为例,计算过程是:
详细看一下多项式取模的运算:
从硬件角度来看就是两个3位二进制数按位异或操作,消掉最高位。
bwq02-17
GF(4)没有乘法逆元,为啥GF(2^2)就会有?好神奇。虽然通过例子枚举了所有的可能值证明了结论,但还是无法从原理上理解为啥GF(2^m)就必定存在乘法逆元
好问题,我回答不了,可能群论里面可能有解释吧。我自己的简单理解是GF(4)变为GF(2^2)之后运算规则不一样了,已经不是同一个域了,只是元素数量一样。近期没有时间研究这个
iZARD2020-10-07
博主你好,文中说一个多项式模上一个取模多项式,理解成该多项式加上取模多项式,按照异或的规则。如果用多项式除法,我能理解,但是文中的做法,如何能方便理解些而不是死记硬背呢?
取模运算本质是减法,因为要的结果是最终的余数,文中写成加法是因为对二进制运算来说加和减一个意思,都是异或。或许我应该把文中的符号改一下,免得误导
原网址: 访问
创建时间: 2021-03-23 19:56:55
目录: default
标签: zhuanlan.zhihu.com