2.2 有限域(Finite Field, 简称GF)
一个有限域包含了一组预定于的元素. 有限域具有的多维和数学的性质使它成为编码和码位错误检测理想的工具. 域越大, 生成的RS(里所,里德-所罗门)码字越长, 则信息的传输率就越高.
一个有限域是用质数为基数(十进制的基数是十,二进制的基数是二...)建立的. 用质数是非常必要的,确保了域里任何一个元素和域里其他元素相加, 相乘时都产生一个唯一的值. 如果用非质数就没有这种效果.
GF(2), GF(3), GF(5), GF(7) 等, 都是有效的质数域. 但是, 2n也是可以做进制的基数, 因为2是一个素数的基数,n次方域示了这个域里元素的数量.
例如, GF(23) = GF(8)就是一个2进制域,含8个元素{0,1,2,3,4,5,6,7}.
GF(28) = GF(256)就是一个2进制域,含256个元素{0,1,2,3,....256}.
2.2.1 有限域例子
本节通过展示一个GF(7)整数域的建立和性质来说明有限域的概念. GF(7)有限域包含了7个元素{0,1,2,3,4,5,6}. 因为这是一个模7的域, 那么6就是最大的元素. 这个域的原根是3(一个大坑,没法详 (╯‵□′)╯︵┻━┻), 这个域里所有值都是从3的幂得到,如下:
30 = 1 且等于36 模7余1
31 = 3 且等于37 模7余3
32 = 2 且等于3 × 3 = 9 ÷ 7 = 1 余 2
33 = 2 且等于3 × 3 × 3 = 27 ÷ 7 = 3 余 6
34 = 2 且等于3 × 3 × 3 × 3 = 81 ÷ 7 = 11 余 4
35 = 2 且等于3 × 3 × 3 × 3 × 3 = 243 ÷ 7 = 34 余 5
36 = 2 且等于3 × 3 × 3 × 3 × 3 × 3 = 729 ÷ 7 = 104 余 1 ( ∑(っ °Д °;)っ, 和 30 一样?)
37 = 2 且等于3 × 3 × 3 × 3 × 3 × 3 × 3 = 2187 ÷ 7 = 312 余 3 ( ∑(っ°Д °;)っ, 和 31 一样?)
请注意到,36 = 30 = 1且37 = 31 = 3 和38 = 32 = 2 等等. 域的值根据3的n次幂无限循环. 任何加减乘除的结果值都等于30到35之间的值, 无论计算的结果是什么. 这种周期性对于微处理器用寄存器来执行移位的计算非常合适.
有限域GF(7)加法表如下,包含了有限域中元素所有相加,相减所产生的可能的结果. 请注意表的对称性. 在任何一行或者列中,都没有负数或者重复的数(就某一行或列而言).
GF(7) - {0,1,2,3,4,5,6}
GF(7) - 加法表
+ | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
---|---|---|---|---|---|---|---|
0 | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
1 | 1 | 2 | 3 | 4 | 5 | 6 | 0 |
2 | 2 | 3 | 4 | 5 | 6 | 0 | 1 |
3 | 3 | 4 | 5 | 6 | 0 | 1 | 2 |
4 | 4 | 5 | 6 | 0 | 1 | 2 | 3 |
5 | 5 | 6 | 0 | 1 | 2 | 3 | 4 |
6 | 6 | 0 | 1 | 2 | 3 | 4 | 5 |
如果两个元素的和小于7,那按正常方式相加,例如:
1 + 5 = 6
2 + 4 = 6
3 + 3 = 6
4 + 2 = 6
5 + 1 = 6
加法服从交换(commutative)律, 例如
1 + 5 = 5 +1
2 + 4 = 4 + 2
3 + 3 = 3 + 3
对于和大于7的两个元素相加, 忽略整数结果只取模7的余数,例如
1 + 6 = 7 % 7 = 0
2 + 6 = 8 % 7 = 1
3 + 6 = 9 % 7 = 2
5 + 3 = 8 % 7 = 1
减法等于加上这个元素的加法逆元, 一个元素的加法逆元就是当逆元和该元素相加时,得到的和为0. [a + (-a) = 0]
注: 好像是废话, a - b 就是 a + (-b)
但是在有限域中,有b,并没有-b,这里的-b是某个数,它加上b的结果为0, 这个数到底在哪里?
(╯‵□′)╯︵┻━┻ 什么鬼?
注: 好像是废话, 5 - 2 就是 5 + (-2)
但是在有限域GF(7)中,有2,并没有-2,这里的-2是某个数,它加上2的结果为0, 这个数到底在哪里?
答: 因为这个有限域中加法的特殊性质, 和为7的时候,取模7,余数为0. 因为5 + 2 = 7, 模7余0, 那么5就是2的加法逆元
5 - 2 = 5 + 5 = 10 % 7 = 3
5 - 2 = 3
(/= _ =)/~┴┴