Fast encoding and decoding of codes have been always an important topic in code theory as well as complexity theory. Although encoding is easier than decoding in general, designing an encoding algorithm of codes of length $N$ with quasi-linear complexity $O(N\log N)$ is not an easy task. Despite the fact that algebraic geometry codes were discovered in the early of 1980s, encoding algorithms of algebraic geometry codes with quasi-linear complexity $O(N\log N)$ have not been found except for the simplest algebraic geometry codes--Reed-Solomon codes. The best-known encoding algorithm of algebraic geometry codes based on a class of plane curves has quasi-linear complexity at least $O(N\log^2 N)$. In this paper, we design an encoding algorithm of algebraic geometry codes with quasi-linear complexity $O(N\log N)$. Our algorithm works well for a large class of algebraic geometry codes based on both plane and non-plane curves. The main idea of this paper is to generalize the divide-and-conquer method from the fast Fourier Transform over finite fields to algebraic curves. Suppose we consider encoding of algebraic geometry codes based on an algebraic curve ${\mathcal X}$ over $\mathbb{F}_q$. We first consider a tower of Galois coverings ${\mathcal X}={\mathcal X}_0\rightarrow{\mathcal X}_1\rightarrow\cdots\rightarrow{\mathcal X}_r$ over a finite field $\mathbb{F}_q$, i.e., their function field tower $\mathbb{F}_q({\mathcal X}_0)\supsetneq\mathbb{F}_q({\mathcal X}_{1})\supsetneq\cdots \supsetneq\mathbb{F}_q({\mathcal X}_r)$ satisfies that each of extension \mathbb{F}_q({\mathcal X}_{i-1})/\mathbb{F}_q({\mathcal X}_i)$ is a Galois extension and the extension degree $[\mathbb{F}_q({\mathcal X}_{i-1}):\mathbb{F}_q({\mathcal X}_i)]$ {is a constant}. Then encoding of an algebraic geometry code based on ${\mathcal X}$ is reduced to the encoding of an algebraic geometry code based on ${\mathcal X}_r$.
翻译:快速编码与解码在编码理论和复杂性理论中始终是一个重要课题。尽管编码通常比解码容易,但设计具有拟线性复杂度O(Nlog N)的长度为N的码的编码算法并非易事。尽管代数几何码早在1980年代初期就被发现,但除了最简单的代数几何码——Reed-Solomon码之外,具有拟线性复杂度O(Nlog N)的代数几何码编码算法尚未被发现。基于一类平面曲线的最著名的代数几何码编码算法至少具有O(Nlog^2 N)的拟线性复杂度。在本文中,我们设计了一种具有拟线性复杂度O(Nlog N)的代数几何码编码算法。我们的算法适用于基于平面和非平面曲线的一大类代数几何码。本文的主要思想是将有限域上快速傅里叶变换的分治方法推广到代数曲线。假设我们考虑基于有限域$\mathbb{F}_q$上代数曲线${\mathcal X}$的代数几何码的编码。我们首先考虑有限域$\mathbb{F}_q$上的一塔伽罗瓦覆盖${\mathcal X}={\mathcal X}_0\rightarrow{\mathcal X}_1\rightarrow\cdots\rightarrow{\mathcal X}_r$,即其函数域塔$\mathbb{F}_q({\mathcal X}_0)\supsetneq\mathbb{F}_q({\mathcal X}_{1})\supsetneq\cdots \supsetneq\mathbb{F}_q({\mathcal X}_r)$满足每个扩张$\mathbb{F}_q({\mathcal X}_{i-1})/\mathbb{F}_q({\mathcal X}_i)$都是伽罗瓦扩张,且扩张次数$[\mathbb{F}_q({\mathcal X}_{i-1}):\mathbb{F}_q({\mathcal X}_i)]$是一个常数。那么基于${\mathcal X}$的代数几何码的编码问题就简化为基于${\mathcal X}_r$的代数几何码的编码问题。