3.1.1 代数几何码及渐进界改进
在本节中,我们将编码理论与代数几何的知识结合起来,描述 Goppa 对代数几何编码(Algebraic Geometry Codes, AG Codes)的构造。为了避免混淆,在本章中,字母\(C\)将专用于表示编码,而字母\(X\)将用于表示曲线。此外,我们始终在有限域\(\mathbb{F}_q\)上工作,因此符号\(k\)可以明确地表示一个正整数(即编码的维数),这一点与前面关于编码理论的章节一致。
回忆 Reed-Solomon 编码 的定义:我们令\(L_{k-1}\)表示所有次数不超过\(k-1\)的多项式(包括零多项式)组成的集合,即
则\(L_{k-1}\)是一个维数为\(k\)的\(\mathbb{F}_q\)-向量空间。设有限域\(\mathbb{F}_q^{\times}\)(即去掉 0 之后的有限域元素)由\(q-1\)个元素\(\alpha_1, \dots, \alpha_{q-1}\)组成,则 Reed-Solomon 编码\(RS(k, q)\)定义为
回忆射影平面的定义:
其中,若存在某个\(\alpha \in \mathbb{F}_q^{\times}\)使得
则称\((X_0, Y_0, Z_0) \sim (X_1, Y_1, Z_1)\)。
类似的,我们有
定义 1 射影直线
射影直线\(\mathbb{P}^1(\mathbb{F}_q)\)定义为
其中,若存在某个\(\alpha \in \mathbb{F}_q^{\times}\)使得
则称\((X_0, Y_0) \sim (X_1, Y_1)\)。
记点\((X_0, Y_0)\)的等价类为\((X_0: Y_0)\),则有
我们可以将\(\mathbb{P}^1\)视为射影平面\(\mathbb{P}^2\)中由方程\(Z=0\)定义的直线。它是一个亏格(genus)为 0 的曲线。
练习 2
记\(P_{\infty}\)为点\((1:0)\),并设\(D = (k-1) P_{\infty}\)。证明\(L(D) = L_{k-1}\),其中我们将次数为\(d\)的多项式\(f(x) \in \mathbb{F}_q[x]\)通过齐次化表示为\(Y^d f(X / Y) \in \mathbb{F}_q[X, Y]\)。(利用黎曼罗赫定理)
如果设\(P_i = (\alpha_i:1)\)(使用上述\(\mathbb{F}_q^{\times}\)元素的编号方式),那么\(\mathrm{Reed-Solomon}\)编码可以等价地描述为
这也是为什么很多教材里\(\mathrm{Reed-Solomon}\)码不把\(f(0)\)添进去,由练习\(2\)可知做这种推广时是要进行除法运算的。
Goppa 的想法是对这一构造进行推广。设\(X\)是定义在\(\mathbb{F}_q\)上的射影的、非奇异的平面曲线,并设\(D\)是\(X\)上的一个除子。取
为\(X\)上由\(n\)个不同的\(\mathbb{F}_q\)-有理点构成的集合。如果假设\(\mathcal{P} \cap \operatorname{supp} D = \emptyset\),则对于任意\(f \in L(D)\)和任意\(P_i \in \mathcal{P}\),由于\(P_i\)不是\(f\)的极点,因此有\(f(P_i) \in \mathbb{F}_q\)。
定义 3 代数几何码
设\(X\)、\(\mathcal{P}\)和\(D\)如上所述,则代数几何码(algebraic geometric code)由它们确定,定义为
换句话说,代数几何编码\(C(X, \mathcal{P}, D)\)是赋值映射(evaluation map)的像,定义如下:
由于\(L(D)\)是\(\mathbb{F}_q\)上的向量空间,且赋值映射\(\epsilon\)是线性变换,因此\(C(X, \mathcal{P}, D)\)是一个线性编码。此外,其码长显然为\(n = \# \mathcal{P}\)。
那么维数是多少呢?显然,维数最多为\(\dim L(D)\),而它恰好等于\(\dim L(D)\)当且仅当\(\epsilon\)是单射。这等价于赋值映射\(\epsilon\)的核只有零函数。
假设\(\epsilon(f) = 0\),即
这意味着\(f\)的零点至少包括所有\(P_i\),即\(\operatorname{div}(f)\)在每个\(P_i\)处的系数至少为\(1\)。由于\(P_i \notin \operatorname{supp} D\),我们有
即\(f \in L(D - P_1 - \cdots - P_n)\)。
如果我们进一步假设\(\deg D < n\),则\(D - P_1 - \cdots - P_n\)的次数为负,则其对应的有理函数空间为\(\{0\}\),即\(f = 0\)。因此,
事实上,我们可以得到如下定理:
定理 4 代数几何码参数
设\(X\)是定义在有限域\(\mathbb{F}_q\)上的射影的、非奇异的平面曲线,其亏格(genus)为\(g\)。设\(\mathcal{P} \subset X(\mathbb{F}_q)\)为\(X\)上\(n\)个不同的\(\mathbb{F}_q\)-有理点构成的集合,并设\(D\)为满足
的除子。则代数几何编码\(C := C(X, \mathcal{P}, D)\)是线性编码,其码长为\(n\),维数为
最小距离\(d\)满足
证明: 我们已经证明了\(C\)是线性编码,其码长为\(n\),并且由于\(\deg D < n\),其维数为\(\dim L(D)\)。由黎曼-罗赫定理(Riemann-Roch Theorem)可知,当\(\deg D > 2g - 2\)时,有
这证明了维数公式。
接下来我们推导最小距离\(d\)的下界,使用的方法与计算\(k\)时类似。设
是汉明重量(Hamming weight)最小的非零码字,其重量为\(d\)。这意味着恰有\(d\)个坐标非零。我们不失一般性地假设
同样地,这意味着
是一个有效除子(effective divisor)。于是除子
的次数必须是非负的,即
由此推出
从而完成证明。\(\square\)
容易知道,若想机械式的根据一条曲线和一个除子算出他们对应的代数几何码,最关键最难的步骤是把\(L(D)\)里面是哪些有理函数算清楚。
设\(C = C(X, \mathcal{P}, D)\)为一个代数几何编码,并设\(f_1, f_2, \dots, f_k\)为\(L(D)\)作为\(\mathbb{F}_q\)上的向量空间的一组基。根据定理的条件,我们知道
因此,向量
构成\(C\)的一组基。这意味着矩阵
是\(C\)的生成矩阵。
练习 5
设\(E\)是定义在有限域\(\mathbb{F}_2\)上的射影平面曲线,其方程为
设
并设\(C\)为定义在\(\mathbb{F}_8\)上的代数几何编码
回答以下问题:
\((1)\)理论结果对\(C\)的码参数给出了什么结论?
\((2)\)求出\(C\)的一个生成矩阵。
\((3)\)确定\(C\)的确切码参数。
事实上,曲线\(E\)在\(\mathbb{F}_8\)上的所有点(包括无穷远点)为:
其中\(\alpha\)是\(\mathbb{F}_8\)的生成元,满足\(\alpha^3=\alpha+1\)。
可能疑惑\(X=0,Z=0\)的解应当不止一个,但是在\(\mathbb{F}_8\)中因为有限域的存在唯一性定理,任何一个其他形式的\(\mathbb{F}_8\)都可以嵌入(实际上是同构)到这个\(\mathbb{F}_8\)里,但是可以发现\(\mathbb{F}_4\)并不能嵌入到\(\mathbb{F}_8\)里。所以在\(\mathbb{F}_8\)上不存在三次不可约多项式,但是存在二次不可约多项式。
我们还有一个刻画有限域嵌入关系的命题:有限域\(\mathbb{F}_{p^m}\)是有限域\(\mathbb{F}_{p^n}\)的子域当且仅当\(m|n\).
我们指出,关于最小距离的不等式的下界与\(Singleton\)上界非常相似。将这两个界结合起来可以得到,当\(\deg D < n\)时,
注意,当\(F\)是一个亏格\(g = 0\)的函数域时,\(k + d = n + 1\)。因此,通过有理函数域\(\mathbb{F}_q(X)\)构造的\(AG\)码总是\(MDS\)码。
为了使定理\(4\)得出的\(C_X(\mathcal{P},D)\)最小距离下界有意义,通常假设\(\deg D < n\)。
定义 6 设计距离
整数\(d^* := n - \deg D\)被称为码\(C_L(\mathcal{P},D)\)的设计距离。
定理\(4\)表明,\(AG\)码的最小距离\(d\)不小于其设计距离\(d^*\)。关于是否\(d^* = d\)或\(d^* < d\)的问题,我们有一个一般性的结论。
定理 7:(\(d^* = d\)的判定)
假设\(\ell(G) > 0\)且\(d^* = n - \deg G > 0\)。当且仅当存在一个除子\(D'\),满足\(0 \leq D' \leq D\)、\(\deg D' = \deg G\)且\(\ell(G - D') > 0\),则\(d^* = d\)。
证明:我们首先假设\(d^* = d\)。则存在一个\(0 \neq x \in L(G)\),使得对应的码字\((x(P_1), \ldots, x(P_n)) \in C_L(D,G)\)恰好有\(n - d = n - d^* = \deg G\)个分量为零。记这些零点为\(x(P_{i_j}) = 0\),其中\(j = 1, \ldots, \deg G\)。令
于是\(0 \leq D' \leq D\),\(\deg D' = \deg G\),且\(\ell(G - D') > 0\)(因为\(x \in L(G - D')\))。
反之,若\(D'\)满足上述性质,则选取一个\(0 \neq y \in L(G - D')\)。对应的码字\((y(P_1), \ldots, y(P_n))\)的重量\(\leq n - \deg G = d^*\),又由定理\(2\)可知\(d = d^*\)。\(\square\)
既然我们已经理解了 Goppa 对代数几何编码的构造,现在来研究 Tsfasman、Vladut 和 Zink 的结果。回顾一下,Goppa 在 1977 年提出该构造后不久,Tsfasman、Vladut 和 Zink于 1982 年证明了存在一列代数几何编码,其参数优于渐进 Gilbert-Varshamov 界所能保证的参数。
我们首先研究代数几何编码的渐进参数。设
是一个代数几何编码,其中:
- \(X\) 是定义在 \(\mathbb{F}_q\) 上的亏格(genus)为 \(g\) 的代数曲线,
- \(\mathcal{P}\) 是 \(X\) 上的 $ \mathbb{F}_q $-有理点集,且 \(\#\mathcal{P} = n\),
- \(D\) 是 \(X\) 上的一个除子,满足 \(2g-2 < \operatorname{deg} D < n\)。
定理\(4\)告诉我们,\(C\) 是一个线性编码,其长度为 \(n\),维数为 \(k\),最小距离满足
因此,\(C\) 的信息率 $ R $ 为
而其相对最小距离 $ \delta $ 满足
在设计编码时,我们希望信息率 $ R $ 和相对最小距离 $ \delta $ 都尽可能大,但这两者存在权衡关系。一种思考方式是希望 $ R + \delta $ 取得较大的值。在我们的情形下,有\(R+\delta \geq \frac{\operatorname{deg} D+1-g}{n}+\frac{n-\operatorname{deg} D}{n}=\frac{n+1-g}{n}=1+1 / n-g / n\).
对于长编码,我们考虑当 $ n $ 趋向无穷时的极限情况。这意味着我们研究一列长度递增的代数几何编码。为了构造这些编码,我们需要一列亏格 $ g_i $ 的代数曲线 $ X_i $、在 $ X_i $ 上选取的 $ n_i $ 个有理点,以及在 $ X_i $ 上选定的除子 $ D_i $。这样,我们得到
由于我们希望 $ R + \delta $ 尽可能大,因此我们希望
尽可能小,换句话说,我们希望
尽可能大。注意到对于亏格为 $ g $ 的曲线 $ X \(,参数\)n$受限于其上有理点的个数
这促使我们引入以下定义:
定义 8\(N_q(g)\)
设 $ q $ 是一个素数幂,则对于任意非负整数 $ g $,定义
以及
假设我们有一列定义在 $ \mathbb{F}_q $ 上的曲线 $ X_i $,满足
其中 $ g_i $ 是曲线 $ X_i $ 的亏格,\(N_i = \# X_i\left(\mathbb{F}_q\right)\) 。对于每个 $ i $,选择 $ Q_i \in X_i\left(\mathbb{F}_q\right) $,并设
同时选择正整数 $ r_i $,使得
则代数几何编码 $ C_i = C\left(X_i, \mathcal{P}_i, r_i Q_i\right) $ 的长度为 $ N_i - 1 $,维数为 $ r_i + 1 - g_i $,最小距离至少为 $ N_i - 1 - r_i $。如果 $ R_i $ 是 $ C_i $ 的信息率,$ \delta_i $ 是 $ C_i $ 的相对最小距离,那么我们有
设
那么我们有
因此,回顾定义
我们已经证明了
由于方程 $ R = -\delta + 1 - \frac{1}{A(q)} $ 定义了一条负斜率的直线,它将与 Gilbert-Varshamov 曲线(即 $ R = 1 - H_q(\delta) $ 的图形)在\(0,1,2\)个点相交。如果它在两个点相交,那么我们就得到了在这两个点之间对 Gilbert-Varshamov 界限的改进。
现在的问题是,\(A(q)\)的值是多少?非渐近的问题是:一条亏格为 $ g $ 的曲线最多能有多少个有理点?如果我们将自己限制在平面曲线范围内,那么有理点的数量显然是有界的,最大值为 \(\# \mathbb{P}^2\left(\mathbb{F}_q\right) = q^2 + q + 1\)。然而,并不是每条曲线都是平面曲线,去除这一限制后,我们可以得到具有更多有理点的曲线。在这个更一般的设定中,该领域的一个基本结果是:
定理 8 (Hasse-Weil)
设\(X\)是定义在有限域\(\mathbb{F}_q\)上的亏格为\(g\)的非奇异射影曲线,令\(N = \# X(\mathbb{F}_q)\)。则有
具有恰好\(q+1+2g\sqrt{q}\)个有理点的曲线称为最大曲线。显然,最大曲线只能存在于元素个数为完全平方数的域上,如果\(q\)不是完全平方数,我们当然可以将上述不等式右侧的\(2g\sqrt{q}\)替换为\(\lfloor 2g\sqrt{q} \rfloor\)。不过经过一些努力,我们可以做得更好:
定理 9 (Serre)
在定理\(8\)的情况下,有
遗憾的是,定理\(9\)的改进仍不足以保证满足该界限的曲线总是存在。事实上,可以证明,当 $ g > \frac{q - \sqrt{q}}{2} $ 时,定理\(9\)的界限无法达到。对于大亏格的曲线,确实存在更好的界限,但这些界限都比较复杂。
最后,我们回到关于 $ A(q) $ 值的渐近问题。关于 $ A(q) $ 有如下上界:
定理 10(Drinfeld-Vladut)
对于任何素数幂 $ q $,我们有 $ A(q) \leq \sqrt{q} - 1 $。
另一方面,以下结果是 Tsfasman、Vladut 和 Zink 在 $ m = 1 $ 和 $ m = 2 $ 的情况,Ihara 在一般情况下得到的:
定理 11
设 $ q = p^{2m} $ 是素数 $ p $ 的偶次方。则存在一系列曲线 $ X_i $,这些曲线定义在 $ \mathbb{F}_q $ 上,具有亏格 $ g_i $ 和 $ N_i $ 个有理点,使得
曲线 $ X_i $ 是模曲线,对它们的研究超出了一般性科普的范围。然而,综合所有结果,我们得出当 $ q $ 是完全平方数时,$ A(q) = \sqrt{q} - 1 $,从而得出以下定理:
定理 12(Tsfasman-Vladut-Zink 界限)
设 $ q $ 是完全平方数。则
通过一些计算不难看出,"Tsfasman-Vladut-Zink 直线" $ R = -\delta + 1 - \frac{1}{\sqrt{q} - 1} $ 和 "Gilbert-Varshamov 曲线" $ R = 1 - H_q(\delta) $ 会在 $ q \geq 49 $ 时恰好在两个点相交。因此,对于所有完全平方数 $ q \geq 49 $,Tsfasman-Vladut-Zink 界限为 $ \mathbb{F}_q $ 上的编码渐近参数提供了比 Gilbert-Varshamov 界限更好的改进。

浙公网安备 33010602011771号