普通低次多项式不能有太多不同的根;低 q 次数的线性化多项式,则不能让一个太高维的底域子空间都成为根。Gabidulin码把第二个限制变成纠错冗余:消息是线性化多项式,输入点要底域线性无关,输出的独立方向数便有一个可证明的下界。
形式陈述
编码合同中有两个不同的域
取 K = F q 、L = F q m ,整数 1 ≤ k ≤ n ≤ m ,并选在 K 上线性无关的有序点 g 1 , … , g n ∈ L 。消息为 k 个扩域系数 f 0 , … , f k − 1 ,对应线性化多项式 理路 线性化多项式与有限域算子代数 Linearized polynomial operator algebra · q-polynomial and Dickson matrix 用q幂多项式唯一表示有限域上的全部底域线性算子,构造迹插值、Moore与Dickson矩阵、复合逆及迹伴随的可解性证书。
(1) f ( X ) = ∑ j = 0 k − 1 f j X q j , ev g ( f ) = ( f ( g 1 ) , … , f ( g n ) ) . 由全部消息得到的集合
(2) Gab k ( g ) = { ev g ( f ) : deg q f < k } ⊆ L n 称为本页的Gabidulin码,零多项式约定 deg q 0 = − ∞ 。它是维数为 k 的扩域线性码 理路 线性码 Linear code 有限域向量空间中的线性子空间作为码字集合的信道码。 ,有 q m k 个码字;作为秩度量码 理路 秩度量码 Rank-metric code · 秩距离码 以错误矩阵的秩或扩域符号张成的底域维数衡量噪声,证明矩形Singleton界、秩一球计数及唯一纠错半径。 ,最小距离恰为
(3) d R = n − k + 1. 因此它达到 n ≤ m 时的秩Singleton界,是MRD码。编码的线性是“对消息系数取 L -线性组合”;求值函数 x ↦ f ( x ) 本身通常只对 K 线性。这两个说法不能互换。
一份明确的生成矩阵
取消息为行向量,生成矩阵是截断的Moore矩阵
(4) G = ( g 1 ⋯ g n g 1 q ⋯ g n q ⋮ ⋮ g 1 q k − 1 ⋯ g n q k − 1 ) , ev g ( f ) = ( f 0 , … , f k − 1 ) G . 每个系数都在 L 中运算;每个输入点的独立性则在 K 中检查。k = 1 时消息为 f 0 X ,不是常数多项式 f 0 。
直觉
根数界怎样变成维数界
若非零线性化多项式的 q -次数为 s ,它的普通次数就是 q s 。其根形成一个 K -子空间;若这个子空间维数为 r ,便有 q r 个根。普通多项式根数界给 q r ≤ q s ,所以
(5) dim K ker f ≤ deg q f . 现在记 V = ⟨ g 1 , … , g n ⟩ K ,维数为 n 。输出坐标 f ( g i ) 张成的空间恰好是 f ( V ) ,所以对非零消息
(6) wt R ( ev g ( f ) ) = dim K f ( V ) = n − dim K ( V ∩ ker f ) ≥ n − ( k − 1 ) . 特别地,非零消息不能编码成零词,故编码单射,(4)有满行秩,码的扩域维数确实为 k 。由于两码字之差仍是同一码中的非零词,(6)也给任意不同码字间的距离下界。
为什么不是只有一个下界
要达到 n − k + 1 ,取 W = ⟨ g 1 , … , g k − 1 ⟩ K 。它的子空间根积 理路 子空间多项式的交、和与核计算 Subspace polynomial calculus · Finite-field subspace annihilator polynomial 以首一线性化根积唯一编码有限域子空间,逐基递推构造,再用普通gcd算交、复合算和,并提取线性算子的核与像。 P W 是首一线性化多项式,q -次数恰为 k − 1 ,且在整个 L 中的根恰好是 W 。因此它是合法非零消息,在 V 上的核维数恰为 k − 1 ,(6)取等号。
当 k = 1 时,W = { 0 } ,使用 P W = X ,仍是非零合法消息。这样同时处理了端点,没有把空基误写成无根的常数一。
从普通求值码迁移时该改哪一步
Reed–Solomon码 理路 Reed–Solomon 码 Reed–Solomon code 以低次数多项式在互异域元素处的取值向量形成的最大距离可分码。 在互异点上评价普通低次多项式,以“最多多少个零坐标”证明Hamming距离。这里用 q 幂构成消息,以“输出张成空间还剩多少维”证明秩距离。所需的输入条件相应从互异升级为底域独立;两个证明结构相似,但计数对象、乘法和恢复算法都不同。
例子与边界
十六元域中的256份消息
令 K = F 2 、L = F 2 [ a ] / ( a 4 + a + 1 ) ,选
g = ( 1 , a , a 2 , a 3 ) , n = 4 , k = 2. 每条消息形如 f 0 X + f 1 X 2 ,共有 16 2 = 256 条,最小秩距离为三。生成矩阵为
(7) G = ( 1 a a 2 a 3 1 a 2 a + 1 a 3 + a 2 ) . 以 f ( X ) = a X + X 2 为例,逐点求值得到
(8) c = ( a + 1 , 0 , a 3 + a + 1 , a 3 + a 2 + a + 1 ) . f ( X ) = X ( X + a ) 的根恰为 0 , a ,核维数一;因为四个输入点张成整个 L ,输出张成空间维数为三。虽然第二坐标为零,这个词仍有三个独立输出方向。
公开程序逐一枚举全部255个非零码字,其中225个重量三,30个重量四;这验证本例的距离,不代替(5)–(6)的一般证明。
互异不够,独立性不能省略
1 , a , 1 + a 是三个互异非零元素,却在二元底域上满足 1 + a + ( 1 + a ) = 0 。若把它们当作长度三、k = 1 的求值点,消息 f = X 只产生秩二的词,达不到公式(3)预期的三。
n ≤ m 也来自独立性,而非实现偏好:一个 m 维底域空间放不下更多独立输入点。改变底域时,必须重新检查维数、独立性和Frobenius幂。十六元域相对于四元底域只有二维,不能沿用上述四点输入合同。
右侧混合点可以,任意逐坐标缩放不可以
若 V ∈ GL n ( K ) ,将求值点行向量换为 g V ,它们仍然底域独立。由 K -线性,ev g V ( f ) = ev g ( f ) V 。所以这种点变换恰好对应秩等距的列混合。
若把不同坐标乘上不同的 L -标量,则通常不能把这些标量从 f 内外自由移动,也未必保持秩。一般的广义RS缩放接口不能原样套进这里。
推论与应用
任意k份正确坐标足以完成擦除恢复
设只保留位置集合 J 中的 k 个坐标,且知道这些位置没有错误。求解
(9) ∑ j = 0 k − 1 f j g i q j = c i ( i ∈ J ) . 所用 k 个输入点是原独立集的子集,因此对应方形Moore矩阵可逆。其可逆性也可直接由(5)证明:非零的低于 k 次消息不可能同时消去它们张成的 k 维空间。所以(9)唯一恢复消息,进而重建所有擦除坐标。
对(8),只保留头两个坐标就有
f 0 + f 1 = a + 1 , a f 0 + a 2 f 1 = 0. 将第一式乘以 a 后与第二式相加,得到 ( a 2 + a ) f 1 = a 2 + a 。该系数非零,故 f 1 = 1 , f 0 = a 。错误位置已知的擦除与未知错误是不同输入合同,不能把“任选 k 个坐标”用于仍可能被污染的数据。
作为Hamming码,本构造也达到 n − k + 1 :秩重量不超过Hamming重量,而取上文 P W 时,恰有前 k − 1 个求值坐标为零,其他输入点不在 W 中。这一附带结论不把两种错误预算合并。
未知秩错误要使用新的恢复器
若接收词为 y = c + e 且 wt R ( e ) ≤ ⌊ ( n − k ) / 2 ⌋ ,半径内的码字唯一。但距离论证尚未提供怎样找到它。Gabidulin插值译码 理路 Gabidulin码的插值译码 Gabidulin interpolation decoder · Linearized interpolation decoding 用首一错误湮灭多项式建立扩域线性插值系统,经左因子形式复合除法与残差秩复核,返回唯一半径内码字或完整的无半径内码字结论。 构造一份湮灭错误方向的辅助多项式,解扩域线性系统,再按正确方向进行形式复合除法,最后核验实际残差的秩。
终点任务 把(8)的四个坐标同时加上 a 3 ,要求恢复消息并解释为何四处错误仍在秩一预算内。程序还在四元底域上重做构造,防止把 q 默认为特征素数。
参考资料