Algebraic geometry code
This article may be confusing or unclear to readers. (February 2009) |
In mathematics, an algebraic geometric code (AG-code), otherwise known as a Goppa code, is a general type of linear code constructed by using an algebraic curve over a finite field . Such codes were introduced by V. D. Goppa. In particular cases, they can have interesting extremal properties.
Traditionally, an AG-code can be constructed from a non-singular projective curve X over a finite field by using a number of fixed distinct -rational points
:= {P1, P2, ..., Pn} ⊂ X ( ) on X.
Let G be a divisor on X, with a support that consists of only rational points and that is disjoint from the 's.
Thus ∩ supp(G) = Ø
By the Riemann-Roch theorem, there is a unique finite-dimensional vector space, , with respect to the divisor G. The vector space is a subspace of the function field of X.
There are two main types of AG-codes that can be constructed using the above information.
Function Code
The function code (or dual code) with respect to a curve X, a divisor G and the set is constructed as follows.
Let , be a divisor, with the defined as above. We usually denote a Goppa code by C(D,G).
We now know al we need to define the Goppa code:
- C(D,G) = {(f(P1), ..., f(Pn))|f L(G)}⊂
For a fixed basis
- f1, f2, ..., fk
for L(G) over , the corresponding Goppa code in is spanned over by the vectors
- (fi(P1), fi(P2), ..., fi(Pn)).
Therefore
is a generator matrix for C(D,G)
Equivalently, it is defined as the image of
- ,
where f is defined by .
The following shows how the parameters of the code relate to classical parameters of linear systems of divisors D on C (cf. Riemann–Roch theorem for more). The notation l(D) means the dimension of L(D).
Proposition A The dimension of the Goppa code C(D,G) is
- ,
Proposition B The minimal distance between two code words is
- .
Proof A
Since
we must show that
- .
Suppose . Then , so . Thus, .
Conversely, suppose .
Then
since
- .
(G doesn't “fix” the problems with the , so f must do that instead.) It follows that
- .
Proof B
To show that , suppose the Hamming weight of
is d. That means that for s, say
. Then , and
- .
Taking degrees on both sides and noting that
- ,
we get
- ,
so
- . Q.E.D.
Residue Code
The residue code can be defined as the dual of the function code, or as the residue of some functions at the 's.
Applications
In cryptography, Goppa codes are used in the McEliece cryptosystem.
In general, Goppa codes are considered 'good' linear codes, in that they permit the correction of
errors. Also their decoding is easy, using the Euclidean algorithm and Berlekamp-Massey algorithm, in particular.
References
- Key One Chung, Goppa Codes, December 2004, Department of Mathematics, Iowa State University.