2.5 多项式码
引理 1(带余除法) 设 \(f(x), g(x) \in F_p[x], g(x) \neq 0\). 则存在唯一决定的 \(q(x), r(x)\) \(\in F_p[x]\), 使得
证明: 可以像实系数多项式一样的证明,此处从略.
\(q(x)\) 和 \(r(x)\) 分别叫用 \(g(x)\) 去除 \(f(x)\) 的部分商式和余式. 举一个例子可以说明.对于 \(F_3[x]\) 中多项式 \(f(x)=x^3+x+1\) 和 \(g(x)\) \(=2 x^2+x\), 用 \(g(x)\) 去除 \(f(x)\) 的算式为 \(f(x)=(2 x+2) g(x)+(2 x+1)\)
上例表明,对于 \(F_p[x]\) 中两个多项式 \(f(x)\) 和 \(g(x) \neq 0, f(x)\) 不一定被 \(g(x)\) 除尽. 所以在多项式环 \(F_p[x]\) 中可以像整数环 \(\mathbb{Z}\) 中那样定义整除性.
如果用 \(g(x)\) 去除 \(f(x)\) 的余式 \(r(x)\) 为零,即存在多项式 \(q(x) \in F_p[x]\), 使得 \(f(x)=q(x)\) \(g(x)\), 则称 \(f(x)\) 被 \(g(x)\) 整除, 表示成 \(g(x)\) | \(f(x)\). 否则 (即 \(r(x) \neq 0\) ) 称 \(f(x)\) 不被 \(g(x)\) 整除,表示成 \(g(x) \not \mid f(x)\). 当 \(g(x) \mid f(x)\) 时, \(g(x)\)叫 \(f(x)\) 的因式, 而 \(f(x)\) 叫 \(g(x)\) 的倍式.
\(F_p[x]\) 中的一个次数 \(\geqslant 1\) 的多项式 \(f(x)\) 叫做不可约的, 是指它不能表成两个多项式的乘积 \(f(x)=g(x) h(x)\), 使得 \(g(x)\) 和 \(h(x)\) 的次数均小于 \(f(x)\) 的次数, 即 \(g(x)\) 和 \(h(x)\) 都不是非零常数. 多项式环 \(F_p[x]\) 中也有和整数环类似的分解定理:
一个多项式叫做首 \(1\) 多项式, 是指它的最高次项的系数为 \(1\) . 如果 \(f(x)\) 的最高次项的系数为 \(a\) ( \(F_p\) 中非零元素), 则 \(a^{-1} f(x)\) 是首 \(1\) 多项式, 而环 \(F_p[x]\) 中的因式分解可以更确切地表述成:
引理 2 (读者自证)
\((1)\) 设 \(f(x)\) 是 \(F_p[x]\) 中多项式, \(a\) 是 \(F_p\) 中元素, 则 \(a\) 为 \(f(x)\) 的根 (即指 \(f(a)=0\)) 当且仅当 \((x-a)\) 为 \(f(x)\) 的因式.
\((2)\) \(F_p[x]\) 中一个 \(n\) 次多项式在 \(F_p\) 中至多有 \(n\) 个不同的根.
\((3)\) (拉格朗日插值公式)设 \(n \geqslant 1, a_1, \cdots, a_n\) 是 \(F_p\) 中 \(n\) 个不同的元素 (所以 \(n \leqslant p\)), \(b_1, \cdots, b_n\) 是 \(F_p\) 中任意 \(n\) 个元素, 则在 \(F_p[x]\) 中存在唯一的次数 \(\leqslant n-1\) 的多项式 \(f(x)\), 使得
现在利用上述的有限域上多项式性质来构造一些 \(MDS\) 线性码.
设 \(a_1, \cdots, a_n\) 是 \(F_p\) 中 \(n\) 个不同的元素 (于是 \(n \leqslant p\)),$ 1 \leqslant k \leqslant n$, 对 \(F_p[x]\) 中每个次数 \(\leqslant k-1\)的多项式 \(f(x)\), 可以得到 \(F_p^n\) 中一个向量
以 \(C\) 表示 \(F_p^n\) 中所有这些向量所构成的集合.
定理 3 上面构造的 \(C\) 是参数为 \([n, k, d]\) 的 \(p\) 元线性码, 其中 \(d=n-k+1\), 从而是 \(MDS\) 码.
证明: 容易知道, \(F_p[x]\) 中次数 \(\leqslant k-1\) 的全体多项式组成的集合 \(S_k\) 是 \(F_p\) 上的 \(k\) 维向量空间. 现在考虑映射
其中, 对每个 \(f(x) \in S_k\) (即 \(f(x)\) 为 \(F_p[x]\) 中次数 \(\leqslant k-1\) 的多项式) , \(\varphi\) 把 \(f(x)\) 映成 \(\boldsymbol{c}_f\) :
读者验证 \(\varphi\) 是 \(F_p\) 上的线性映射, 即对于 \(f, g \in\) \(S_k\) 和 \(\alpha, \beta \in F_p\), 有 \(\varphi(\alpha f+\beta g)=\alpha \varphi(f)+\beta \varphi(g)\).
线性映射的象 \(\operatorname{Im}(\varphi)\) 就是 \(C\), 所以 \(C\) 是 \(F_p^n\)的向量子空间,即 \(C\) 是 \(p\) 元线性码. \(C\) 的码长显然是 \(n\), 而 \(C\) 的信息位数 \(k\) 为 \(\operatorname{dim} C=\operatorname{dim}\) \((\operatorname{Im} \varphi)\). 根据线性代数, 有
为决定 \(\operatorname{dim}(\operatorname{Im} \varphi)\), 只需决定 \(\varphi\) 的核
的维数. 设 \(f \in S_k\) (即 \(f(x) \in F_p[x]\), 并且 \(\operatorname{deg}\) \((f) \leqslant k-1)\), 则
但是 \(f(x)\) 的次数 \(\leqslant k-1<n\). 如果 \(f(x)\) 有 \(n\) 个不同的根 \(a_1, \cdots, a_n\), 必然 \(f=0\) (引理 \(2\)). 这就证明了 \(\operatorname{ker} \varphi=(0)\). 于是 \(C\) 的信息位数为 \(\operatorname{dim} S_k-\operatorname{dim}(\operatorname{ker} \varphi)=k-0=k\).
最后来决定 \(C\) 的最小距离 \(d\), 证明 \(d \geqslant n-k+1\).如果 \(d \leqslant n-k\), 则 \(C\) 中存在汉明重量 \(\leqslant n-\) \(k\) 的非零码字 \(\boldsymbol{c}_f=\left(f\left(a_1\right), \cdots, f\left(a_n\right)\right)\), 其中, \(f(x) \in F_p[x], \operatorname{deg}(f) \leqslant k-1\). 这时, \(\boldsymbol{c}_f\) 的分量至多有 \(n-k\) 个不为零, 即至少有 \(k\) 个分量为 \(0\) ,所以 \(a_1, \cdots, a_n\) 当中至少有 \(k\) 个是 \(f(x)\) 的根. 但是 \(\operatorname{deg}(f) \leqslant k-1\), 所以必然 \(f=0\), 于是 \(\boldsymbol{c}_f\) 为零向量. 这就与 \(\boldsymbol{c}_f\) 是非零码字的假设相矛盾, 从而证明了 \(d \geqslant n-k+1\). 另一方面, \(Singleton\) 界给出 \(d \leqslant n-k+1\). 所以 \(d=n-k+1\). 证毕.
定理 \(3\) 给出了一批好的线性码, 叫做多项式码. 它的缺点是由于 \(a_1, \cdots, a_n\) 是 \(F_p\) 中不同元素, 所以要求 \(n \leqslant p\). 当 \(p\) 是小素数时, 多项式码的码长太小. 所以只对 \(p\) 为大素数的情形才能构造出有用的多项式码.
读者自然会问到: 作为线性码, 如何给出多项式码的一个生成矩阵和校验矩阵?
利用线性代数知识, 很容易给出 \(C\) 的一组基. 因为 \(\left\{1, x, x^2, \cdots, x^{k-1}\right\}\) 是 \(S_k\) 的一组基, 而 \(\varphi: S_k \rightarrow F_p^n\) 是线性映射并且是单射(单线性映射保持线性无关组), 所以 \(f(x)=1, x, x^2, \cdots, x^{k-1}\) 在 \(\varphi\) 之下的象 \(\boldsymbol{c}_f=\left(f\left(a_1\right), \cdots, f\left(a_n\right)\right)\) 就是 \(C\) 的一组基.它们作为行向量就给出 \(C\) 的如下生成矩阵:
利用这个生成矩阵也可证明 \(C\) 是 \(MDS\) 码.因为 \(\boldsymbol{G}\) 的任何 \(k\) 列构成的行列式均为范德蒙德行列式. 由于 \(a_1, \cdots, a_n\) 是两两不同的元素, 这些行列式均不为零. 这表明 \(\boldsymbol{G}\) 的任何 \(k\) 列都是线性无关的. 根据定理 \(2.3.5\), \(C\) 是 \(MDS\) 码, 即 \(d=n-k+1\).
下面是构造 \(\boldsymbol{C}\) 的校验阵的一种方法. 利用拉格朗日插值公式, 可以求出 \(F_p[x]\) 中 \(k\) 个次数 \(\leqslant k-1\) 的多项式 \(f_i(x)(1 \leqslant i \leqslant k)\), 使得
由于 \(f_i \in S_k(1 \leqslant i \leqslant k)\), 从而又有 \(C\) 的生成矩阵
其中,
于是给出 \(C\) 的一个校验矩阵
例 4 取 \(F_7\) 中元素 \(a_1, \cdots, a_6\) 分别为 \(0,1, \cdots, 5\). 取 \(k=2\). 对应的多项式码为
这是参数为 \([n, k, d]=[6,2,5]\) 的 \(7\) 元线性码.由 \(f(x)=1\) 和 \(x\) 给出的 \(\boldsymbol{c}_f\) 是 \(C\) 的一组基, 从而 \(C\) 有生成矩阵
由于 \(c_1-c_x=\left(\begin{array}{ll}106543\end{array}\right)\) 和 \(c_x\) 也是 \(C\) 的一组基, 所以 \(C\) 也有生成矩阵
由此给出 \(C\) 的一个校验矩阵
如果在构造多项式码时, \(a_1, \cdots, a_n\) 取 \(F_p\) 中全部元素 \(\{0,1,2, \cdots, p-1\}\), 则这种多项式码具有特别的性质.
定理 5 设 \(n=p\), 取 \(a_1, \cdots, a_p\) 分别为 \(F_p\) 中元素 \(0,1, \cdots, p-1,1 \leqslant k \leqslant p-1\), 以 \(C_k\) 表示由此构造的 \(p\) 元多项式码, 即
则
\((1)\) \(C_k\) 是参数为 \([p, k, d]\) 的 \(p\) 元 \(MDS\) 线性码, 其中 \(d=p-k+1\).
\((2)\) \(C_k^{\perp}=C_{p-k}\). 特别若 \(2 k \leqslant p\) 时, \(C_k\) 是自正交码.
证明:
\((1)\) 是定理 \(3\) 的直接推论.
\((2)\) \(C_k\) 有如下的生成矩阵:
为证 \(C_k^{\perp}=C_{p-k}\), 只需证 \(C_{p-k}\) 的生成矩阵
是 \(C_k\) 的校验矩阵, 也就是要证 \(\boldsymbol{G}_k \boldsymbol{G}_{p-k}^{\mathrm{T}}=0\). 这相当于要证明
这里规定 \(0^0=1\). 当 \(l=0\) 时, \(\sum_{i=0}^{p-1} i^0=\sum_{i=0}^{p-1} 1=p=\) \(0 \in F_p\). 当 \(1 \leqslant l \leqslant p-2\) 时, \(F_p\) 中有 \(p-1\) 个非零元素, 而多项式 \(x^l-1\) 的次数 \(\leqslant p-2\), 所以 \(F_p\)中必有非零元素 \(a\) 不是 \(x^l-1\) 的根, 即 \(a^l \neq 1\).当 \(i\) 过 \(F_p\) 中所有元素时, \(a i\) 也过 \(F_p\) 中所有元素. 因此
由 \(a^l \neq 1\) 可知 \(\sum_{i=0}^{p-1} i^l=0\). 于是证明了式 \((1)\),从而也证明了 \(C_k^{\perp}=C_{p-k}\).
由 \(C_k\) 的定义可知当 \(1 \leqslant k \leqslant l \leqslant p-1\) 时, \(C_k \leqslant C_l\). 如果 \(2 k \leqslant p\), 则 \(k \leqslant p-k\), 所以 \(C_k \subseteq C_{p-k}\) \(=C_k^{\perp}\). 因此 \(C_k\) 是自正交码. 证毕.

浙公网安备 33010602011771号