Factor theorem

From formulasearchengine
Revision as of 04:28, 16 December 2013 by 65.95.46.192 (talk) (Example)
Jump to navigation Jump to search

Template:Multiple issues

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 X over a finite field 𝔽q. Such codes were introduced by Valerii Denisovich Goppa. In particular cases, they can have interesting extremal properties. They should not be confused with Binary Goppa codes that are used, for instance, in the McEliece cryptosystem.

Construction

Traditionally, an AG-code is constructed from a non-singular projective curve X over a finite field 𝔽q by using a number of fixed distinct 𝔽q -rational points

𝒫:= {P1, P2, ..., Pn} ⊂ X ( 𝔽q) on X.

Let G be a divisor on X, with a support that consists of only rational points and that is disjoint from the Pi's. Thus 𝒫 ∩ supp(G) = Ø

By the Riemann-Roch theorem, there is a unique finite-dimensional vector space, L(G), 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 D=P1+P2++Pn, be a divisor, with the Pi defined as above. We usually denote a Goppa code by C(D,G). We now know all we need to define the Goppa code:

C(D,G) = {(f(P1), ..., f(Pn))|f L(G)}⊂𝔽qn

For a fixed basis

f1, f2, ..., fk

for L(G) over 𝔽q, the corresponding Goppa code in 𝔽qn is spanned over 𝔽q by the vectors

(fi(P1), fi(P2), ..., fi(Pn)).

Therefore

[f1(P1)...f1(Pn).........fk(P1)...fk(Pn)]

is a generator matrix for C(D,G)

Equivalently, it is defined as the image of

α:L(G)𝔽n,

where f is defined by f(f(P1),,f(Pn)).

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

k=l(G)l(GD),

Proposition B The minimal distance between two code words is

dndeg(G).

Proof A

Since

C(D,G)L(G)/ker(α),

we must show that

ker(α)=L(GD).

Suppose fker(α). Then f(Pi)=0,i=1,,n, so div(f)>D. Thus, fL(GD).
Conversely, suppose fL(GD).
Then

div(f)>D

since

Pi<G,i=1,,n.

(G doesn't “fix” the problems with the D, so f must do that instead.) It follows that

f(Pi)=0,i=1,,n.

Proof B
To show that dndeg(G), suppose the Hamming weight of α(f) is d. That means that f(Pi)=0 for nd Pis, say Pi1,,Pind. Then fL(GPi1Pind), and

div(f)+GPi1Pind>0.

Taking degrees on both sides and noting that

deg(div(f))=0,

we get

deg(G)(nd)0,

so

dndeg(G). 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 Pi's.

References

  • Key One Chung, Goppa Codes, December 2004, Department of Mathematics, Iowa State University.

External links