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} = \{ f \in \mathbb{F}_q[x] \mid \deg f \leq k-1 \} \cup \{ 0 \}. \]

\(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)\)定义为

\[RS(k, q) := \left\{ \left(f\left(\alpha_1\right), \ldots, f\left(\alpha_{q-1}\right)\right) \mid f \in L_{k-1} \right\}. \]


回忆射影平面的定义:

\[\mathbb{P}^2\left(\mathbb{F}_q\right) = \left(\mathbb{F}_q^3 \backslash \{(0,0,0)\} \right) / \sim \]

其中,若存在某个\(\alpha \in \mathbb{F}_q^{\times}\)使得

\[(X_1, Y_1, Z_1) = (\alpha X_0, \alpha Y_0, \alpha Z_0), \]

则称\((X_0, Y_0, Z_0) \sim (X_1, Y_1, Z_1)\)

类似的,我们有

定义 1 射影直线

射影直线\(\mathbb{P}^1(\mathbb{F}_q)\)定义为

\[\left(\mathbb{F}_q^2 \backslash \{(0,0)\} \right) / \sim \]

其中,若存在某个\(\alpha \in \mathbb{F}_q^{\times}\)使得

\[(X_1, Y_1) = (\alpha X_0, \alpha Y_0), \]

则称\((X_0, Y_0) \sim (X_1, Y_1)\)

记点\((X_0, Y_0)\)的等价类为\((X_0: Y_0)\),则有

\[\mathbb{P}^1(\mathbb{F}_q) = \{(\alpha: 1) \mid \alpha \in \mathbb{F}_q\} \cup \{(1: 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}\)编码可以等价地描述为

\[RS(k, q) = \left\{ \left(f(P_1), \ldots, f(P_{n}) \right) \mid f \in L\left((k-1) P_{\infty}\right) \right\}.(n\leq q-1) \]

这也是为什么很多教材里\(\mathrm{Reed-Solomon}\)码不把\(f(0)\)添进去,由练习\(2\)可知做这种推广时是要进行除法运算的。

Goppa 的想法是对这一构造进行推广。设\(X\)是定义在\(\mathbb{F}_q\)上的射影的、非奇异的平面曲线,并设\(D\)\(X\)上的一个除子。取

\[\mathcal{P} = \{P_1, \dots, P_n\} \subset X(\mathbb{F}_q) \]

\(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) := \left\{ \left(f(P_1), \dots, f(P_n) \right) \mid f \in L(D) \right\} \subset \mathbb{F}_q^n. \]

换句话说,代数几何编码\(C(X, \mathcal{P}, D)\)是赋值映射(evaluation map)的像,定义如下:

\[\begin{aligned} \epsilon: L(D) & \to \mathbb{F}_q^n \\ f & \mapsto \left(f(P_1), \dots, f(P_n)\right). \end{aligned} \]

由于\(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_1) = \cdots = f(P_n) = 0. \]

这意味着\(f\)的零点至少包括所有\(P_i\),即\(\operatorname{div}(f)\)在每个\(P_i\)处的系数至少为\(1\)。由于\(P_i \notin \operatorname{supp} D\),我们有

\[\operatorname{div}(f) + D - P_1 - \cdots - P_n \geq 0, \]

\(f \in L(D - P_1 - \cdots - P_n)\)

如果我们进一步假设\(\deg D < n\),则\(D - P_1 - \cdots - P_n\)的次数为负,则其对应的有理函数空间为\(\{0\}\),即\(f = 0\)。因此,

\[\dim C = \dim L(D). \]

事实上,我们可以得到如下定理:

定理 4 代数几何码参数

\(X\)是定义在有限域\(\mathbb{F}_q\)上的射影的、非奇异的平面曲线,其亏格(genus)为\(g\)。设\(\mathcal{P} \subset X(\mathbb{F}_q)\)\(X\)\(n\)个不同的\(\mathbb{F}_q\)-有理点构成的集合,并设\(D\)为满足

\[2g - 2 < \deg D < n \]

除子。则代数几何编码\(C := C(X, \mathcal{P}, D)\)线性编码,其码长\(n\)维数

\[k := \deg D + 1 - g, \]

最小距离\(d\)满足

\[d \geq n - \deg D. \]

证明: 我们已经证明了\(C\)线性编码,其码长\(n\),并且由于\(\deg D < n\),其维数为\(\dim L(D)\)。由黎曼-罗赫定理(Riemann-Roch Theorem)可知,当\(\deg D > 2g - 2\)时,有

\[\dim L(D) = \deg D + 1 - g. \]

这证明了维数公式。

接下来我们推导最小距离\(d\)的下界,使用的方法与计算\(k\)时类似。设

\[\epsilon(f) = \left(f(P_1), \dots, f(P_n)\right) \in C \]

汉明重量(Hamming weight)最小的非零码字,其重量为\(d\)。这意味着恰有\(d\)个坐标非零。我们不失一般性地假设

\[f(P_{d+1}) = \cdots = f(P_n) = 0. \]

同样地,这意味着

\[\operatorname{div}(f) + D - P_{d+1} - \cdots - P_n \]

是一个有效除子(effective divisor)。于是除子

\[D - P_{d+1} - \cdots - P_n \]

的次数必须是非负的,即

\[\deg D - (n - d) \geq 0. \]

由此推出

\[d \geq n - \deg D, \]

从而完成证明。\(\square\)

容易知道,若想机械式的根据一条曲线和一个除子算出他们对应的代数几何码,最关键最难的步骤是把\(L(D)\)里面是哪些有理函数算清楚。

\(C = C(X, \mathcal{P}, D)\)为一个代数几何编码,并设\(f_1, f_2, \dots, f_k\)\(L(D)\)作为\(\mathbb{F}_q\)上的向量空间的一组。根据定理的条件,我们知道

\[\dim C = k, \]

因此,向量

\[\epsilon(f_1), \epsilon(f_2), \dots, \epsilon(f_k) \]

构成\(C\)的一组基。这意味着矩阵

\[\begin{bmatrix} f_1(P_1) & f_1(P_2) & \dots & f_1(P_n) \\ f_2(P_1) & f_2(P_2) & \dots & f_2(P_n) \\ \vdots & \vdots & \ddots & \vdots \\ f_k(P_1) & f_k(P_2) & \dots & f_k(P_n) \end{bmatrix} \]

\(C\)生成矩阵

练习 5

\(E\)是定义在有限域\(\mathbb{F}_2\)上的射影平面曲线,其方程为

\[Y^2Z + YZ^2 = X^3 + XZ^2 + Z^3. \]

\[\mathcal{P} = E(\mathbb{F}_8) \setminus \{ P_{\infty} \}, \]

并设\(C\)为定义在\(\mathbb{F}_8\)上的代数几何编码

\[C = C(E, \mathcal{P}, 5 P_{\infty}). \]

回答以下问题:

\((1)\)理论结果对\(C\)的码参数给出了什么结论?
\((2)\)求出\(C\)的一个生成矩阵。
\((3)\)确定\(C\)的确切码参数。

事实上,曲线\(E\)\(\mathbb{F}_8\)上的所有点(包括无穷远点)为:

\[\begin{aligned} & {[0: 1: 0],} \\ & {[\alpha: 0: 1],[\alpha: 1: 1],} \\ & {\left[\alpha^2: 0: 1\right],\left[\alpha^2: 1: 1\right],} \\ & {\left[\alpha^3: \alpha: 1\right],\left[\alpha^3: \alpha^3+1: 1\right],} \\ & {\left[\alpha^4: 0: 1\right],\left[\alpha^4: 1: 1\right],} \\ & {\left[\alpha^5: \alpha^4: 1\right],\left[\alpha^5: \alpha^5: 1\right],} \\ & {\left[\alpha^6: \alpha^2: 1\right],\left[\alpha^6: \alpha^6: 1\right]} \end{aligned} \]

其中\(\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\)时,

\[n + 1 - g \leq k + d \leq n + 1. \]

注意,当\(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\)。令

\[D' := \sum_{j=1}^{\deg G} P_{i_j}. \]

于是\(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 界所能保证的参数。

我们首先研究代数几何编码的渐进参数。设

\[C = C(X, \mathcal{P}, D) \]

是一个代数几何编码,其中:

  • \(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\)最小距离满足

\[d \geq n - \operatorname{deg} D. \]

因此,\(C\)信息率 $ R $ 为

\[R = \frac{k}{n} = \frac{\operatorname{deg} D + 1 - g}{n}, \]

而其相对最小距离 $ \delta $ 满足

\[\delta = \frac{d}{n} \geq \frac{n - \operatorname{deg} D}{n}. \]

在设计编码时,我们希望信息率 $ 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 $。这样,我们得到

\[\lim _{n \rightarrow \infty}(R+\delta) \geq 1-\lim _{i \rightarrow \infty} \frac{g_i}{n_i}. \]

由于我们希望 $ R + \delta $ 尽可能大,因此我们希望

\[\lim _{n \rightarrow \infty} \frac{g}{n} \]

尽可能小,换句话说,我们希望

\[\lim _{n \rightarrow \infty} \frac{n}{g} \]

尽可能大。注意到对于亏格为 $ g $ 的曲线 $ X \(,参数\)n$受限于其上有理点的个数

\[n \leq \# X\left(\mathbb{F}_q\right), \]

这促使我们引入以下定义:

定义 8\(N_q(g)\)

设 $ q $ 是一个素数幂,则对于任意非负整数 $ g $,定义

\[N_q(g) := \max \left\{\# X\left(\mathbb{F}_q\right) \mid X \text{ 是定义在 } \mathbb{F}_q \text{ 上的亏格 } g \text{ 的曲线} \right\} \]

以及

\[A(q) := \limsup _{g \rightarrow \infty} \frac{N_q(g)}{g}. \]

假设我们有一列定义在 $ \mathbb{F}_q $ 上的曲线 $ X_i $,满足

\[\lim _{i \rightarrow \infty} \frac{N_i}{g_i} = A(q), \]

其中 $ g_i $ 是曲线 $ X_i $ 的亏格,\(N_i = \# X_i\left(\mathbb{F}_q\right)\) 。对于每个 $ i $,选择 $ Q_i \in X_i\left(\mathbb{F}_q\right) $,并设

\[\mathcal{P}_i = X_i\left(\mathbb{F}_q\right) \backslash \{Q_i\}. \]

同时选择正整数 $ r_i $,使得

\[2 g_i - 2 < r_i < N_i - 1 = \# \mathcal{P}_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_i + \delta_i \geq 1 + \frac{1}{N_i - 1} - \frac{g_i}{N_i - 1}. \]

\[R := \lim_{i \to \infty} R_i, \quad \delta := \lim_{i \to \infty} \delta_i, \]

那么我们有

\[R + \delta \geq 1 - \frac{1}{A(q)}. \]

因此,回顾定义

\[\alpha_q(\delta) := \limsup _{n \rightarrow \infty} \frac{1}{n} \log_q A_q(n, \delta n), \]

我们已经证明了

\[\alpha_q(\delta) \geq -\delta + 1 - \frac{1}{A(q)}. \]

由于方程 $ 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)\)。则有

\[|N - (q+1)| \leq 2g \sqrt{q} \]

具有恰好\(q+1+2g\sqrt{q}\)个有理点的曲线称为最大曲线。显然,最大曲线只能存在于元素个数为完全平方数的域上,如果\(q\)不是完全平方数,我们当然可以将上述不等式右侧的\(2g\sqrt{q}\)替换为\(\lfloor 2g\sqrt{q} \rfloor\)。不过经过一些努力,我们可以做得更好:

定理 9 (Serre)

在定理\(8\)的情况下,有

\[|N - (q+1)| \leq g \lfloor 2 \sqrt{q} \rfloor \]

遗憾的是,定理\(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 $ 个有理点,使得

\[\lim_{i \to \infty} \frac{N_i}{g_i} = \sqrt{q} - 1 \]

曲线 $ X_i $ 是模曲线,对它们的研究超出了一般性科普的范围。然而,综合所有结果,我们得出当 $ q $ 是完全平方数时,$ A(q) = \sqrt{q} - 1 $,从而得出以下定理:

定理 12(Tsfasman-Vladut-Zink 界限)

设 $ q $ 是完全平方数。则

\[\alpha_q(\delta) \geq -\delta + 1 - \frac{1}{\sqrt{q} - 1} \]

通过一些计算不难看出,"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 界限更好的改进。

posted @ 2024-11-26 20:11  沙棘数学社  阅读(380)  评论(0)    收藏  举报