码-线性码
1.定义
若C是Fqn的一个线性子空间,则称C是一个线性码。
既然是线性子空间的话,一定有维数,例如C的维数是k,上一章引进的量中码字个数K=qk
上一章引进的量中(n,K,d), 码字个数K,最小距离d
现在引进线性码[n,k,d],码长n,码的维数k,最小距离d
2.线性码的最小距
d(C) = min dH(x,y) = min W+(x-y) = min { Wt(C) }【 C ≠ 0】
【第一个等号是汉明码的定义,其中x≠y且x,y∈C】
【第二个等号是:因为它是线性子空间,那么在内部对加法算术是封闭的,x和y跑遍了C,那么x-y也跑遍了C】
【第三个等号:线性码里面肯定有一个零码字,因为是线性子空间;线性码的最小距离 是 所有非零码字 取最小值】
3.码的生成矩阵
C是一个线性子空间,设C在Fq上的一组基为 {α1,α2,...,αn},α1 ~ αn 都是长度为n的Fq上的行向量
α1 α11 α12 ..... α1n α2 α21 α22 ..... α2n G = ( ... ) = ( α31 α12 ..... α1n ) αn-1 ... ... ..... ... αn αk1 αk2 ..... αkn
G 称为C的一个生成矩阵
C的生成阵不止一个:因为只是取了C的一组基,而线性子空间的基并不唯一,所以应该有很多个生成矩阵。
C中的码字是这些基的一个线性组合,即∀c ∈ C,c = x · (α1,α2,... ,αk)T = (x1,x2,... , xn)· (α1,α2,... ,αk)T = x1α1 + x2α2 + ... + xkαk = x · G xi ∈ Fq
3.2标准生成矩阵(码的等价)
码的变换:
设G1和G2是GF(g)上 的两个k x n矩阵,并且Rank(G1) = Rangk(G2)= k。如果可以通过一系列下述变换将G1变换成G2,则G1和G2生成的q元[n,k]线性码一定是等价的。
(R1)重新排列行向量
(R2)将某一行乘以一个非零元素
(R3)将某一行乘以一个非零元素,然后加到另一行
(C1)重新排列列向量
(C2)将某一列乘以一个非零元素
设G是一个q元[n, k]线性码的生成矩阵。则通过一系列(R1)(R2)(R3)(C1)(C2)类型的变换,一定可以将G变换成型如(Ik | A )的矩阵,其中 Ik 是一个k x k阶单位矩阵。A是一个k x (n- k)阶矩阵。 型如(Ik | A )的生成矩阵为标准型生成矩阵。
4.内积
Fq中定义欧式内积
α = (a1,a2,... ,an) β = (b1,b2,... ,bn) α · β ≜ Σ aibi
性质:对称性;线性
注意:α · α ≥ 0 但是α · α = 0 ⇔ α = 0 是否成立呢?
不成立,例如在F22中,α = (1,1) ,则α · α = 1+1 = 2 = 0 (因为是在F22中,2进位为0)
5.对偶码
C是线性码,参数为[ n,k,d ],C⊥ = { β ∈ Fqn | α · β = 0 ,∀ α ∈ c}
问题:求dim C⊥ ,即C的对偶码的维数怎么求
解:设 G = (α1,α2,... ,αk)T ,则 α · β = 0 ,∀ α ∈ c ⇔ α1 · β = 0, α2 · β = 0, ... ,αk · β = 0 ⇔ G · βT = 0
则C⊥ = { β ∈ Fqn | G · βT = 0 } 对比线性代数中 AX=0,dim(解空间) = n - r(A) ,在本例中,解空间是 β ∈ Fqn,则有dim C⊥ = n - k
∴对偶码的维数 = n-k
6.码的校验矩阵
C是线性码,参数为[n,k,d],C的生成矩阵是G,C⊥ 的生成阵称为C的校验阵,记为H
分析:dim C⊥ = n - k ,C⊥ :Fq上n-k维子空间,基是{β1,β2,...,βn-k}, 即 H = {β1,β2,...,βn-k}T , H 为C⊥ 的生成矩阵,也是C的校验矩阵
注:C⊥ = { β ∈ Fqn | G · βT = 0 } ,C⊥ 的生成矩阵是H,
有:G · β1T = 0,G · β2T = 0,......,G · βn-kT = 0
得到: G · HT = 0 它刻画了码C的生成矩阵和校验矩阵之间的关系
7.(C⊥ )⊥ = C
证明: C⊥ = { β ∈ Fqn | α · β = 0 ,∀ α ∈ c} , ∀ α ∈ c,β ∈ C⊥,α · β = 0 ⇒ α ∈(C⊥)⊥ ⇒ α ∈(C⊥)⊥ 且dim C⊥ = n - k,则dim (C⊥)⊥ = n - (n - k) = k, ⇒ C = (C⊥)⊥
注:C⊥的校验矩阵是 (C⊥)⊥ 的生成矩阵G
8.总结
(1)码C的生成矩阵是G,校验矩阵是H,同时,G是C⊥的校验矩阵,H是C⊥生成矩阵
(2)V ∈ Fqn:V是Fqn里面的向量
如何判断V是不是码字呢? : V ∈ C (V是码字) ⇔ H · VT = 0
证明:“⇐” :H为C⊥的生成矩阵,V ∈(C⊥)⊥ = C
“⇒”: V = x · G , H · VT = H · GT · xT = 0 (由6得,G · HT = 0)
9.关于C和C的对偶码(C⊥)的定义
(1)若C ⊂ C⊥ ,称 C 自正交码
(2)若C = C⊥ ,称 C 为自对偶码