在这篇随笔里面提到伽罗瓦域。
参考了很多资料,才知道伽罗瓦域原来还可以用指数表作为基本表,就得到了一个乘法优化的有限域运算。但是加法恒元和乘法恒元不再是0和1。
对此表示很无奈,计算系数时候,习惯性的用0作为初始值开始求和。结果方程组怎么解都不对!折腾了半小时,才找到根源。
但是乘法优化使得加减法的代价高昂,所以对于解线性方程组,要比通常意义的伽罗瓦域还要慢。
目前在unsigned short范围内随机系数。构建一个1024元的系数矩阵,再解出,计10次平均值。
double类型使用编译器的加减乘除,需要3.8秒。
unsigned short类型使用普通伽罗瓦域,需要5.3秒。
unsigned short类型使用乘除优化的伽罗瓦域,需要6.7秒。
(Core 2 E7500 2.93GHz + 4G 1333 DDR3 @ win7 x64 MSVC2010 x86 Release Build)
最后一提,BCH编码基于伽罗瓦域运算,乘除优化对于BCH编码效率能提高很多。
这篇只是一些抱怨,没有实质内容。