四个位置都错了,是否一定比只错两个位置更难恢复?如果四处都叠加同一个未知方向,而另两处的错误方向彼此独立,答案可能相反。秩度量把“多少个位置出错”换成“错误一共用了多少个独立方向”。选择哪种距离,必须由噪声模型说明;同一批码字可以放进不同的距离几何中。
形式陈述
矩阵表示与扩域表示
取有限域 理路 有限域 Finite field · Galois field 底层集合有限的域。 K = F q 及扩域 L = F q m ,其中 m , n ≥ 1 。选定 L 的一组有序 K -基 B 。对 x = ( x 1 , … , x n ) ∈ L n ,令 M B ( x ) ∈ K m × n 的第 i 列为 x i 的基坐标,定义
(1) wt R ( x ) = dim K ⟨ x 1 , … , x n ⟩ K = rank K M B ( x ) , d R ( x , y ) = wt R ( x − y ) . 这里的秩 理路 线性映射的秩 Rank of a linear map · Matrix rank 线性映射像空间的维数,表示其保留下来的独立输出方向数。 是底域上的像空间维数。若换基,整个矩阵只是在左侧乘一个可逆底域矩阵,秩不变;所以(1)不依赖所选基。也可以直接以矩阵为码字,定义 d R ( A , B ) = rank K ( A − B ) 。
秩度量码 是一份码字集合 C ⊆ L n ,连同上述秩距离;等价地,是 K m × n 中的矩阵码本。码本是组合块码 理路 信道码 Channel code 把消息映为信道输入码字并从带噪输出恢复消息的编码—译码对。 的一种具体选择,尚不指定随机信道或译码算法。以下讨论最小距离时要求 | C | ≥ 2 ,记
d = min c ≠ c ′ , c , c ′ ∈ C d R ( c , c ′ ) . C 可以是任意集合,也可以是底域线性子空间。若它还是 L -线性的,设其扩域维数为 k ,则 | C | = q m k ;扩域维数和底域维数 m k 不能混记。
矩形Singleton界
任意这样的矩阵码均满足
(2) | C | ≤ q max ( m , n ) ( min ( m , n ) − d + 1 ) . 达到此界的码称为最大秩距离码 ,简称MRD码。特别地,当 n ≤ m 且 C 是 k ≥ 1 维 L -线性码时,(2)给
(3) d ≤ n − k + 1. (2)允许非线性码;这时 log q | C | 只是信息量,不必是一个向量空间的维数。本页不对单元素码另设无限距离约定。
直觉
独立噪声源和被污染位置不是同一件事
若错误矩阵可写成 E = U V ,其中 U ∈ K m × s 、V ∈ K s × n ,则每个错误列都是 U 的列的线性组合,故 rank E ≤ s 。一个方向可以通过许多非零组合系数传播到所有位置,并不因传播得广就增加独立方向数。
反过来,秩为 r 的矩阵可选 r 个独立列作为 U ,再把所有列的坐标放入 V ,得到这种分解。因此秩恰好是表达全部错误所需的最少方向数,而不只是某种方便的上界。
例如在 L = F 16 = F 2 [ a ] / ( a 4 + a + 1 ) ,取基 ( 1 , a , a 2 , a 3 ) ,错误
e = ( a 3 , a 3 , a 3 , a 3 ) 的四列全为 ( 0 , 0 , 0 , 1 ) t 。它有四个非零坐标,却只有一个独立列。相比之下,( 1 , a , 0 , 0 ) 只改动两个位置,秩却是二。
图片加载失败 位置计数与错误方向计数 为什么它确实是一种距离
零秩矩阵只能是零矩阵,负号不改变秩,所以分离性和对称性成立。三角不等式来自
im ( A + B ) ⊆ im A + im B , rank ( A + B ) ≤ rank A + rank B . 令 A = M B ( x − y ) 、B = M B ( y − z ) 即得 d R ( x , z ) ≤ d R ( x , y ) + d R ( y , z ) 。距离的这个性质会直接用于证明译码球不相交。
删除行和删除列要各做一次
沿用Singleton界 理路 Singleton 界 Singleton bound 通过删去最小距离减一个坐标,给出码字数、块长与距离之间的普适上界。 的“删去部分数据但保持单射”思路。对所有码字删除同样的 d − 1 列。若两份剩余矩阵相同,它们之差只有这 d − 1 列可能非零,秩至多 d − 1 ,与最小距离矛盾。因此删列映射在码本上单射,得到
| C | ≤ q m ( n − d + 1 ) . 再删除同样的 d − 1 行,得到 | C | ≤ q n ( m − d + 1 ) 。两式取较小上界:若 m ≥ n ,第一式较紧;若 n ≥ m ,第二式较紧,恰好合成(2)。证明只比较不同码字,从未用线性性。
例子与边界
改变底域会改变重量
对任意 x ,其底域张成维数不超过非零生成元个数,因此
(4) wt R ( x ) ≤ wt H ( x ) , 右侧是Hamming重量 理路 Hamming 距离 Hamming distance 等长字中不同坐标的数量;由逐位比较、三角不等式和 Hamming 球解释检错与唯一纠错半径。 。通常不相等,而且秩重量还依赖底域。以 L = F 16 中的 b = a 2 + a 为例,b ∈ F 4 ∖ F 2 。向量 ( 1 , b ) 在二元底域上秩二,在四元底域上秩一。只给扩域和向量,省略底域,无法确定这个重量。
同一个扩域非零标量同时乘所有坐标,是一个可逆底域线性变换,保持秩。右乘任意 V ∈ GL n ( K ) 也保持秩,因为它可逆地重新混合各列。
然而,不同坐标分别乘不同扩域标量 未必保持秩。在 a ∉ K 时,( 1 , 1 ) 的秩为一,分别乘以 1 , a 后得到 ( 1 , a ) ,秩变为二。不能直接搬用Hamming码中任意非零逐坐标缩放保持距离的结论。
两种上界的取法能算出不同答案
设矩阵尺寸为 m = 2 , n = 4 ,希望最小秩距离为二。只删一列给 | C | ≤ q 6 ,还没得到最紧结论;删一行给 | C | ≤ q 4 ,故矩形界为 q 4 。尺寸和底域都是界的一部分。
若 n ≤ m 、扩域线性维数为 k ,代入 | C | = q m k 后得到(3)。若 n > m ,不能仍把 n − k + 1 当作矩形界的完整内容,应回到(2)重新代入。
秩一球有多少个词
非零秩一矩阵均可写成 u v t ,其中 u ∈ K m ∖ { 0 } 、v ∈ K n ∖ { 0 } 。两对向量给同一矩阵,当且仅当它们相差
( u , v ) ⟼ ( λ u , λ − 1 v ) , λ ∈ K × . 证明可以先比较非零列得到两份 u 成比例,再逐列确定 v 的逆比例。因此非零秩一矩阵数为 ( q m − 1 ) ( q n − 1 ) / ( q − 1 ) 。加上零错误,半径一球大小为
(5) | B R ( 0 , 1 ) | = 1 + ( q m − 1 ) ( q n − 1 ) q − 1 . 二元 4 × 4 矩阵中,这个数是 226 。这里是在计算整个球,不能只枚举“恰好一个非零坐标”的错误。
推论与应用
距离保证与译码证书
设 t ≥ 0 为整数且 2 t < d 。若接收词 y 同时距两个不同码字至多 t ,三角不等式就给 d R ( c , c ′ ) ≤ 2 t < d ,矛盾。因此每个接收词至多属于一个半径 t 的码字球。
这说明:若实际错误秩至多 t ,找到球内码字就恢复了发送者。但若实际错误超出预算,一个接收词仍可能落入另一合法码字球。成功输出认证球内唯一候选;它不独自证明传输过程遵守了错误预算。 若算法能完整判定球内是否有码字,失败则应准确表述为“没有半径内码字”,而不是“已经定位了真实错误”。
在 4 × 4 二元矩阵中,下一页构造的256码字、距离三的Gabidulin码 理路 Gabidulin码与Moore求值 Gabidulin code · Gabidulin evaluation code 在底域独立的求值点上评价低q次数线性化消息,构造达到秩Singleton界的线性码,并证明最小距离与任意k个坐标的擦除恢复。 有互不相交的226元半径一球,共覆盖 256 ⋅ 226 = 57856 份输入。全部输入有 2 16 = 65536 份,因此还剩7680份不属于任何这样的球。
能解释哪些网络错误
线性网络编码 理路 线性网络编码 Linear network coding 让中间节点转发有限域线性组合,以接收矩阵的满秩性刻画无噪多播的恢复条件。 中的包被底域线性组合传播;若加性污染最终可表示为 U V ,秩界就量化独立污染方向。但本页没有自动处理未知传输矩阵、丢包或行列擦除。把接收数据化成已知求值点下的加性向量信道,还需要单独说明相应网络接口。
终点任务 要求同时交出错误矩阵、两种重量、矩形删除界和完整秩一球计数,先把噪声的含义说清,再进入结构化编码与恢复。
参考资料