Está en la página 1de 93

Notas sobre Teorı́a de Códigos y Campos de

Funciones

Octavio Páez Osuna


Departamento de Matemáticas
Facultad de Ciencias, UNAM

September 13, 2012


Índice

1 Campos finitos y el campo de funciones racionales 5


1.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Campos finitos . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4 El automorfismo de Frobenio. Existencia de Campos finitos . . 10
1.5 Extensiones algebraicas . . . . . . . . . . . . . . . . . . . . . . 11
1.6 Ejemplos de campos finitos . . . . . . . . . . . . . . . . . . . . 13
1.7 El campo de funciones racionales K(x) . . . . . . . . . . . . . 14
1.8 Extensiones separables . . . . . . . . . . . . . . . . . . . . . . 15
1.9 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2 Códigos Correctores de Errores 20


2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.2 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.3 Códigos de Reed-Solomon . . . . . . . . . . . . . . . . . . . . 21
2.4 Códigos MDS . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.5 Interpolación de Lagrange . . . . . . . . . . . . . . . . . . . . 22
2.6 Decodificación en RS(k, q) . . . . . . . . . . . . . . . . . . . . 23
2.7 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.8 Códigos Simplex y de Hamming . . . . . . . . . . . . . . . . . 26
2.9 Códigos perfectos y empaquetado por esferas . . . . . . . . . . 28
2.10 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.11 Método Geométrico . . . . . . . . . . . . . . . . . . . . . . . . 29
2.11.1 Códigos asociados a conjuntos de puntos . . . . . . . . 30
2.11.2 Códigos relacionados a cónicas . . . . . . . . . . . . . . 30
2.11.3 Cónicas sobre campos finitos de orden impar . . . . . . 31
2.11.4 Cota de Griesmer . . . . . . . . . . . . . . . . . . . . . 32
2.12 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

1
2.13 Construcciones recursivas . . . . . . . . . . . . . . . . . . . . . 34
2.13.1 Proyección y acortamiento . . . . . . . . . . . . . . . . 34
2.13.2 Alargamiento . . . . . . . . . . . . . . . . . . . . . . . 35
2.13.3 Construcción X . . . . . . . . . . . . . . . . . . . . . . 35
2.13.4 Construcción XX . . . . . . . . . . . . . . . . . . . . . 36
2.13.5 Encadenamiento . . . . . . . . . . . . . . . . . . . . . 36
2.14 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3 Códigos cı́clicos 38
3.1 Códigos cı́clicos . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.2 Codificación sistemática . . . . . . . . . . . . . . . . . . . . . 40
3.3 Decodificación . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.4 Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.5 Ceros de un código cı́clico . . . . . . . . . . . . . . . . . . . . 42
3.5.1 Códigos BCH . . . . . . . . . . . . . . . . . . . . . . . 43
3.6 El idempotente de un código cı́clico . . . . . . . . . . . . . . . 45
3.7 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4 Campos de Funciones Algebraicos 47


4.1 Lugares y Valoraciones . . . . . . . . . . . . . . . . . . . . . . 47
4.2 El teorema de aproximación débil . . . . . . . . . . . . . . . . 55
4.3 Divisores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
4.4 El Teorema de Riemann-Roch . . . . . . . . . . . . . . . . . . 67
4.5 Puntos de Weierstrass . . . . . . . . . . . . . . . . . . . . . . 75
4.6 El Teorema del Residuo . . . . . . . . . . . . . . . . . . . . . 76
4.7 Extensiones Algebraicas de F/K. . . . . . . . . . . . . . . . . 77
4.8 Códigos de Goppa . . . . . . . . . . . . . . . . . . . . . . . . . 83

5 Extensiones de grado dos 85


5.1 Campos de funciones elı́pticos . . . . . . . . . . . . . . . . . . 86
5.2 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
5.3 Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.4 Campos de funciones hiperelı́pticos . . . . . . . . . . . . . . . 89
5.5 Ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90

2
Introducción

Consideremos la siguiente situación: queremos enviar un mensaje a través


de un canal de comunicación a un receptor. El problema es que dicho canal
de comunicación es ruidoso, es decir, el mensaje recibido no necesariamente
es el mensaje enviado. Es común encontrarse con esta situación en una
conversación via telefónica por ejemplo, por lo que al pesentarse ese problema
el receptor solicita que se repita el mensaje. En este ejemplo tanto el receptor
como el transmisor pueden enviar mensajes, es decir se trata de un canal
bidireccional.
Otro ejemplo es el canal binario utilizado en las comunicaciones internas
entre los dispositivos de una computadora. Por ejemplo si un dispositivo,
digamos el teclado, quiere decirle al CPU que se pulsó la tecla 00001011,
hace lo siguiente: en lugar de enviar el mensaje de 8 bits, el teclado codifica
el mensaje agregándole un bit extra. Este bit es igual a 0 si hay un número
par de 1′ s en el mensaje o igual a 1 si hay un número impar. En el ejemplo, el
teclado codifica el mensaje 00001011 como la palabra 000010111. Si el CPU
recibe 001010111 inmediatamente rechaza dicho mensaje pues en los primeros
8 bits (de izquierda a derecha) hay un número par de bits. El teclado no
tiene memoria, es decir, el CPU no puede pedir una repetición del mensaje
por lo que la transmisión es simplemente ignorada (en ese caso se debe volver
a presionar la tecla). Al bit extra se le denomina bit de verificación de
paridad (parity check bit en inglés).
El propósito de la Teorı́a de Códigos Correctores de Errores es el de crear
una lista finita de palabras en un alfabeto finito transmisibles por un canal
que permitan detectar y corregir errores de transmisión. En el ejemplo del
teclado dicha lista consta de todas las palabras binarias de longitud 9 que
tienen un número par de 1′ s. Nota que con este esquema solo podemos
detectar 1 error. Esta lista de palabras no nos da información acerca del
bit donde ocurrió el error. Sin embargo, podemos ver que este código tiene

3
estructura algebraica: es simplemene el complemento ortogonal del vector
(1, 1, 1, 1, 1, 1, 1, 1, 1) en el espacio vectorial Z92 respecto del producto interno
canónico. Este es un ejemplo de un código lineal.
Estas notas tienen como propósito brindar un panorama general de al-
gunos de los métodos mas usados para la construcción de Códigos Correctores
de errores. Nos enfocaremos a códigos lineales construidos sobre campos fini-
tos. Damos al principio un breve repaso de la teorı́a de extensiones de campos
que normalmente se ve en un curso de Álgebra Moderna II enfocándonos en
la construcción de campos finitos.
En el capı́tulo 2 exponemos los métodos de construcción de Códigos Co-
rrectores lineales comunmente usados. Debido a su extensión y riqueza se
dedica el capı́tulo 3 a la construcción de Códigos Cı́clicos. Tratamos de
describir, en la medida de lo posible, los métodos de decodificación de los
códigos de Hamming, Reed-Solomon y de los Códigos Cı́clicos.
El resto de las notas está dedicado a la construcción de los Códigos de
Goppa. Dichos códigos poseen las mejores propiedades en cuanto a capacidad
de corrección de errores, volumen de información codificable y simetrı́as. Es
una de las construcciones mas elegantes dentro de la Teorı́a de Códigos. El
capı́tulo 4 introduce todo el andamiaje algebraico necesario para definir un
código de Goppa y en el capı́tulo 5 construimos ejemplos concretos basados
en curvas elı́pticas e hiperelı́pticas.

4
Capı́tulo 1

Campos finitos y el campo de


funciones racionales

1.1 Introducción
En este capı́tulo resumimos algunos resultados de la teorı́a de extensiones de
campos que nos serán útiles mas adelante. Discusiones mas amplias y detal-
ladas de estos resultados se pueden encontrar en textos de Álgebra Moderna
como [5].
Sea K un campo. Un campo F se dice que es una extensión de K si K
es un subcampo de F . Sea F una extensión de K y sea S un subconjunto
de F . Denotaremos por K(S) al subcampo mas pequeño de F que contiene
a K y a S. El campo K(S) es la intersección de todos los subcampos de
F que contienen a K y a S. El campo K(S) es una extensión de K y
diremos que es el campo que se obtiene de K pegándole los elementos de S.
Si S es un conjunto finito, digamos S = {a1 , . . . , an }, denotaremos a K(S)
por K(a1 , . . . , an ). Si F es una extensión de K entonces F es un espacio
vectorial sobre K. Llamaremos a la dimensión de F sobre K el grado de la
extensión de F sobre K y lo denotaremos por

[F : K].

Nota que el grado puede ser finito o infinito. Diremos que F es una extensión
finita de K si [F : K] es finito. Ahora supongamos que F ′ es una extensión
de F . Sean a1 , . . . , am ∈ F ′ elementos linealmente independientes sobre F y
b1 , . . . , bn ∈ F elementos linealmente independientes sobre K y supongamos

5
que
m X
X n
cij ai bj = 0
i=1 j=1

donde cij ∈ K. Entonces


m
à n !
X X
cij bj ai = 0
i=1 j=1
Pn
por lo que, ya que j=1 cij bj ∈ F,
n
X
cij bj = 0,
j=1

para i = 1, . . . , m. Como los bj son linealmente independientes sobre K,


tenemos que cij = 0 para toda i y j. Esto nos dice que los mn productos
ai bj son linealmente independientes sobre K.
Supongamos ahora que m = [F ′ : F ] y que n = [F : K]. Entonces
a1 , . . . , am es una base para F ′ sobre F y b1 , . . . , bn es una base para F sobre
K. Dado x ∈ F ′ tenemos que existen elementos x1 , . . . , xm ∈ F tales que
m
X
x= x i ai .
i=1

Por otro lado, para i = 1, . . . , m tenemos que existen elementos yi1 , . . . , yin ∈
K tales que
Xn
xi = yij bj
j=1

por lo que
m X
X n
x= yij ai bj .
i=1 j=1

Con esto vemos que los mn productos ai bj forman una base para F ′ sobre
K. Se sigue que
[F ′ : K] = [F ′ : F ][F : K]. (1.1)
Si F es una extensión finita de K y si a1 , . . . , P
an es una base para F sobre
K entonces todo elemento F se escribe como xi ai y como todas estas
sumas pertenecen a K(a1 , . . . , an ) tenemos que F = K(a1 , . . . , an ).

6
Por comodidad usaremos la notación F/K para indicar que F es una
extensión de K. Diremos que una extensón F/K es simple si F = K(a)
para alguna a ∈ F .
Consideremos ahora la extensión F = K(S) de K donde S ⊆ F . Sea
p(x1 , . . . , xn ) un polinomio en n indeterminadas con coeficientes en K. Si
a1 , . . . , an ∈ S entonces p(a1 , . . . , an ) ∈ F . El conjunto de todos estos ele-
mentos forman un subanillo, denotado por K[S], de F que contiene a K y a
S. El campo de cocientes de K[S] es un subcampo de F que contiene a K
y a S, por lo tanto (como F es el campo mas pequeño con esta propiedad)
coincide con F , es decir K(S) es el campo de cocientes del anillo K[S]. Se
sigue que K(S) consiste de elementos de la forma
p(x1 , . . . , xn )
,
q(y1 , . . . , ym )
donde p y q son polinomios con coeficientes en K en n y m indeterminadas
respectivamente, x1 , . . . , xn , y1 , . . . , ym ∈ S y q(y1 , . . . , ym ) 6= 0.
Sea F/K una extensión y sea a ∈ F . Decimos que el elemento a es
algebraico sobre K si existe un polinomio f (x) ∈ K[x] tal que f (a) = 0,
en caso contrario decimos que a es trascendente sobre K. Diremos que la
extensión F/K es una extensión algebraica de K si todo elemento de F es
algebraico sobre K. En caso de existir al menos un elemento x ∈ F que sea
trascendente sobre K diremos que F/K es una extensión trascendente de
K.
Sea F una extensión finita de K, digamos que n = [F : K], si a ∈ F
entonces los n + 1 elementos 1, a, a2 , . . . , an son linealmente dependientes por
lo que existe una combinación lineal no trivial con escalares c0 , c1 , . . . , cn ∈ K
tales que
c0 + c1 a + c2 a2 + · · · + cn an = 0,
es decir, el elemento a es raı́z del polinomio
p(x) = c0 + c1 x + c2 x2 + · · · + cn xn ∈ K[x].
Por lo tanto todo elemento de la extensión finita F es algebraico sobre K.
Sea a ∈ F un elemento algebraico sobre K. Un mapeo importante es el
mapeo evaluación en a:
ϕ : K[x] −→ K[a]
definido como ϕ(f (x)) := f (a). El homomorfismo ϕ tiene un kernel no
trivial, pues a es algebraico. Dicho kernel es un ideal principal de K[x] de

7
la forma (p(x)), para algún polinomio mónico p(x). Entonces K[x]/(p(x)) es
isomorfo a K[a] y por lo tanto es un dominio entero. Esto último implica
que el ideal (p(x)) es primo y por lo tanto el polinomio p(x) es irreducible en
K[x]. Como todo ideal primo de K[x] es maximal, tenemos que K[x]/(p(x))
y por tanto K[a] son campos. Se sigue que K(a) = K[a]. Por otro lado,
dado f (x) ∈ K[x], existen polinomios únicos q(x), r(x) ∈ K[x] tales que

f (x) = q(x)p(x) + r(x)

con grado(r(x)) < grado(p(x)) o r(x) = 0 por lo que todo elemento en K(a)
se puede escribir como r(a). A cada elemento algebraico a ∈ F le podemos
asociar, de manera única, el polinomio mónico irreducible p(x) ∈ K[x] que
tiene como raı́z a a. Denotaremos a dicho polinomio por Irr(K, a) y le
llamaremos el polinomio minimal de a sobre K. Si a, b ∈ F son elementos
algebraicos sobre K entonces a − b y ab−1 tambien lo son, pues pertenecen
al campo K(a, b) el cual es una extensión algebraica de K. Definimos la
cerradura algebraica de K en F como el subcampo

K̃ := {a ∈ F |a es algebraico sobre K}.

Si K = K̃ decimos que K es algebraicamente cerrado en F .

1.2 Ejercicios
1. Sean K un campo, F una extensión de K, S, T ⊆ F . Demuestra que
K(S ∪ T ) = K(S)(T ) = K(T )(S).

2. Demuestra que toda estensión finita de K se puede obtener mediante


una sucesión de extensiones simples de K.

3. Demuestra que si a1 , . . . , ar ∈ F son algebraicos sobre K entonces la


extensión K(a1 , . . . , ar )/K es finita y algebraica.

1.3 Campos finitos


Sea p un primo. Entonces Z/pZ es un campo finito con p elementos. Lo
denotaremos por Fp . Ahora, sea F cualquier campo finito. Denotaremos la
suma de n copias de 1 como n·1 ∈ F . Como F es finito los elementos n·1 ∈ F

8
no pueden ser todos distintos. Entonces existe m < n tal que n · 1 = m · 1. Se
sigue que (n − m) · 1 = 0. Denotemos por a al número natural más pequeño
tal que a · 1 = 0. Al ser F un campo, y en particular un dominio entero,
concluimos que a = p debe ser primo. Se sigue por minimalidad que p es el
único primo con esta propiedad, y que n · 1 = 0 sı́ y solo sı́ n es un múltiplo
de p. Vemos también que los i · 1, i = 0, 1, . . . , p − 1 forman un subcampo
de F , isomorfo a Fp . Llamaremos a p la caracterı́stica de F y a Fp , el
subcampo generado por 1, su campo primo. Entonces todo campo finito
F se puede ver como una extensión de su campo primo Fp . Por definición F
es un espacio vectorial sobre Fp , por lo que el número de elementos de F es
pn para alguna n (de hecho, n = [F : Fp ]).
En el párrafo anterior asumimos que Z/pZ es un campo (lo cual no es
difı́cil de ver). Otra manera de demostrar la existencia y unicidad de campos
finitos es la siguiente: Sea q = pn , p un primo, n un natural. El campo
de descomposición del polinomio f = xq − x ∈ Fp [x] es un campo finito
con q elementos. La unicidad de Fq se sigue de la unicidad del campo de
descomposición de un polinomio. Los elementos de Fq son las raı́ces (todas
distintas) de f . Esto se aclara mas adelante.
Para construir directamente campos finitos hacemos uso de polinomios
irreducibles: Sea f (x) ∈ Fp [x] un polinomio irreducible de grado n. Supon-
gamos que f (x) es mónico, i.e. el coeficiente de xn es 1, de tal forma que
f (x) = xn + an−1 xn−1 + · · · + a1 x + a0 . Afirmamos que F = Fp [x]/(f (x)), el
anillo cociente de el anillo de polinomios sobre el ideal (maximal) generado
por f (x), es un campo con pn elementos: sea X la imagen de x modulo
(f (x)), el ideal generado por f (x). Recordemos que (f (x)) no es mas que
el conjunto de polinomios en Fp [x] que son múltiplos de f (x). Primero que
nada observamos que F es un espacio vectorial de dimensión n sobre Fp , de
aquı́ que |F | = pn . LosPelementos de F se pueden representar de manera
n−1
única en la forma u = i=0 ci X i . De hecho, ya que X n = −an−1 X n−1 −
· · · − a1 X − a0 , todo elemento de F tiene esta forma (en pocas palabras
F es el conjunto de polinomios en Fp [x] de grado < n). Por otro lado, las
X i , i = 0, 1, . . . , n − 1 son linealmente independientes, de lo contrario f (x)
dividirı́a a un polinomio no nulo de grado < n, lo cual es imposible. Entoces
todo elemento no nulo de F se puede escribir de manera única como polinomio
de grado < n con coeficientes en Fp . Supongamos ahora que h(X), g(X) son
tales polinomios y que g(X)h(X) = 0. Esto querrı́a decir que f (x) divide
a g(x)h(x), y al ser f (x) irreducible entonces f (x) divide a h(x) o a g(x)
por lo que h(X) = 0 o g(X) = 0. Esto demuestra que F es un dominio

9
entero (no tiene divisores de cero). Falta demostrar que todo elemento en F
tiene un inverso multiplicativo. Sea pues g(x) un polinomio no nulo de grado
< n. Como f (x) es irreducible, debe ser primo relativo a g(x). Usando el
algoritmo de Euclides encontramos polinomios h(x) y l(x) tales que

1 = g(x)h(x) + f (x)l(x).

Calculando la expresión anterior mod (f (x)) obtenemos que 1 = g(X)h(X)


con lo que habremos encontrado el inverso multiplicativo de g(X) ∈ F .
De ahora en adelante aceptaremos de la teorı́a de campos el hecho de
que una cerradura algebraica siempre existe y que está determinada de
manera única. Denotaremos por F a una cerradura algebraica fija de Fp .
Esto quiere decir: primero que todo elemento a ∈ F es algebraico sobre Fp ,
es decir satisface una equación polinomial con coeficientes en Fp . Y segundo,
F es algebraicamente cerrado, es decir, todo polinomio con coeficientes en F
se descompone como producto de factores lineales sobre el mismo campo.
n
Consideremos de nuevo al polinomio X p − X. Supongamos la existencia
de un campo con pn elementos. Al ser este un campo finito, debe ser una ex-
tensión algebraica sobre Fp , entonces se puede considerar como un subcampo
de F. Como el grupo multiplicativo de este campo tiene pn − 1 elementos,
n−1
todo elemento no nulo u satisface up = 1. Por lo que todo elemento de
dicho campo es raı́z de dicho polinomio. De esta forma, vemos que un campo
con pn elementos queda determinado de manera única, si es que existe, como
n
cierto subcampo de F. Por otro lado el polinomio X p − X es separable, es
decir sus pn raices son distintas. Como ya estamos trabajando dentro de un
campo, es suficiente demostrar que sumas, productos e inversos multiplica-
tivos de raı́ces son raı́ces. Esto es obvio para producos e inversos. Para la
suma necesitamos el siguiente Lema:

1.4 El automorfismo de Frobenio. Existencia


de Campos finitos
Lema 1.4.1 (automorfismo de Frobenio). Sea F un campo de caracterı́stica
p. Entonces el mapeo σ, donde σ(x) = xp , es un automorfismo de F en F p .
En el caso que F es un campo finito tenems que F p = F . El campo fijado
por σ es Fp .

10
Demostración: Sean x, y ∈ F . Tenemos que σ(xy) = xp y p = σ(x)σ(y) y
σ(x + y) = (x + y)p . Usando el teorema del binomio tenemos que
p µ ¶
p
X p
(x + y) = xi y p−i .
i
i=0
µ ¶
p
Pero es múltiplo de p si i 6= 0, p por lo que (x + y)p = xp + y p (el
i
sueño de todo estudiante de secundaria). Con esto, σ(x + y) = σ(x) + σ(y).
Hemos demostrado que σ abre productos y sumas. ¥
Usando el Lema 1.4.1 podemos demostrar que la suma y el producto de
n
raı́ces del polinomio X p − X son de nuevo raı́ces. Es decir, demostramos la
existencia y unicidad de un campo con pn elementos.
Resumimos lo anterior en el siguiente

Teorema 1.4.1. Para todo primo p y natural n existe un campo con pn


elementos. Y cada cerradura algebraica F de Fp contiene exactamente un
n
subcampo con pn elementos, consistiendo de las raı́ces de el polinomio X p −
X. Denotaremos este campo como Fpn

1.5 Extensiones algebraicas


Una vez construido el campo Fpn podemos construir extensiones algebraicas
con pkn elementos pues siempre existen polinomios irreducibles de grado
k en Fpn [x]. Como vimos, estas extensiones, es decir estos nuevos campos,
son determinados de manera única. Ası́ pues Fpn ⊂ Fpm siempre y cuando
n divida a m. Por otro lado, si tenemos que Fpn ⊂ Fpm entonces el campo
grande es un espacio vectorial sobre el pequeño. De aquı́ que pm debe ser
una potencia de pn y entonces n divide a m. Hemos visto que:

Teorema 1.5.1. Fpn ⊂ Fpm si y solo si n divide a m.

Un resultado importante es el siguiente:

Teorema 1.5.2. El grupo multiplicativo F×


pn := Fpn −{0} es un grupo cı́clico.

Demostración: Notemos que F× n


pn es un grupo abeliano de orden p − 1.
n d
Sea d un divisor de p − 1. La ecuación x − 1 = 0 tiene a lo mas d soluciones
en F× × d
pn . Por otro lado, todo elemento a ∈ Fpn que satisface a = 1 es raı́z de

11
xd − 1. Entonces, para cada divisor d de pn − 1 existe a lo mas un subgrupo
cı́clico de orden d. Por lo tanto F× pn es un grupo cı́clico.¥
n
Sea q := p . En los párrafos anteriores discutimos la existencia y unicidad
de un campo con q elementos. Hablaremos un poco acerca de la extensión
F q n ⊃ Fq .
Lema 1.5.1. Considerese la extensión Fqn ⊃ Fq , q una potencia de un primo.
El mapeo σ, donde σ(x) = xq , es un automorfismo de Fqn sobre Fq , es
decir, los elementos del campo base son fijados por σ. Las potencias de σ
forman un grupo de automorfismos de orden n. Llamaremos a este grupo el
grupo de Galois G(Fqn /Fq ).
Demostración: σ es una potencia del automorfismo de Frobenio. En-
tonces σ es ciertamente un automorfismo de Fqn . Los elementos del campo
base satisfacen la ecuación xq = x por lo que todo elemento de Fq es fijado
por σ. Por esta misma razón vemos que σ n es el mapeo identidad en Fqn , lo
cual no es el caso para ninguna otra potencia menor de σ. ¥
Definición 1.5.1 (Traza). Sea σ el generador de G(Fqn /Fq ). Entonces la
traza tr : Fqn −→ Fq se define como
n−1
X
tr(x) = σ i (x) (1.2)
i=0

En otras palabras tr(x) se define como la suma de las imágenes de x bajo


los elementos del grupo de Galois. Y tiene las siguientes propiedades:
1. tr es un mapeo lineal sobre Fq .

2. Como cada aplicación de σ permuta a los elementos del grupo de Galois


tenemos que σ(tr(x)) = tr(x).

3. De la propiedad anterior tenemos que tr(x) ∈ Fq

4. La traza se puede ver como un polinomio de grado q n−1 en σ por lo que


no es identicamente cero.

5. Ker(tr) es un hiperplano de Fqn (visto como espacio vectorial sobre


Fq ).

6. Para cada x ∈ Fqn el mapeo y 7→ tr(xy) es un funcional lineal.

12
1.6 Ejemplos de campos finitos
Ejemplo 1: En el anillo Z2 [x] existe un único polinomio irreducible de grado
dos: x2 + x + 1. Tenemos que

F4 = Z2 [x]/(x2 + x + 1).

Podemos listar todos los elementos de F4 :

F4 = {aX + b|a, b ∈ Z2 } = {0, 1, X, X + 1},

donde X es la imagen de x mod (x2 + x + 1). En algunos casos es conveniente


describir los elementos utilizando un generador del grupo cı́clico: sea α tal
que α2 + α + 1 = 0. Vemos que α2 = α + 1 por lo que

F4 = {0, 1, α, α2 }.

Ejemplo 2: Los polinomios x3 + x + 1 y x3 + x2 + 1 son los únicos poli-


nomios cúbicos irreducibles en Z2 [x]. Entonces, si α es tal que α3 +α2 +1 = 0,
tenemos que F8 = {0, 1, α, α2 , α3 , α4 , α5 , α6 }. El grupo aditivo queda deter-
minado por 1 + α4 = (1 + α2 )2 = (α3 )2 = α6 y 1 + α = α5 . Ejemplo
3: Para construir un campo de orden 16 podemos extender F2 o F4 . Us-
ando F4 como campo base (Ejemplo 1) buscamos un polinomio irreducible
de grado dos con coeficientes en F4 , digamos x2 + x + α (recordemos que
α2 + α + 1 = 0). Sea β tal que β 2 + β + α = 0. Como antes, los ele-
mentos de F16 son polinomios de grado 1 en β con coeficientes en F4 , i.e
todo elemento de F16 se escribe como aβ + b con a, b ∈ F4 . Se sigue que
β 3 = (β + α)β = β 2 + αβ = β + α + αβ = α2 β + α. De manera similar
β 4 = β + 1, β 5 = β 2 + β = α, las demas potencias de β son de la forma
β 5+i = αβ i y β 10+i = α2 β i . La estructura aditiva queda determinada por

0 = 1 + β + β 4 = 1 + β 2 + β 8 = 1 + β 3 + β 14 ;
0 = 1 + β 6 + β 13 = 1 + β 7 + β 9 = 1 + β 11 + β 12 .

Sea tr la traza de F16 a F4 . Por lo anterior podemos calcular la traza de


los elementos del campo grande: tr(β) = β + β 4 = β(1 + β 3 ) = ββ 14 = 1,
tr(β 3 ) = β 3 + β 12 = β 3 (1 + β 9 ) = β 3 β 7 = β 10 = α2 , etc.

13
1.7 El campo de funciones racionales K(x)
Sea K un campo y x un elemento trascendente sobre K, es decir, un elemento
no algebraico sobre K. Sea K[x] el anillo de polinomios en la ”variable” x
con coeficientes en K. El campo de funciones racionales K(x) se define como

f (x)
K(x) := { |f (x), q(x) ∈ K[x], q(x) 6= 0}.
q(x)

Se sigue que K(x) es el campo de fracciones del anillo K[x].


Sea p(x) ∈ K[x] un polinomio irreducible. Definimos

f (x)
Op(x) := { ∈ K(x)|p(x) 6 |q(x)}
q(x)
y
f (x)
Pp(x) := { ∈ K(x)|p(x)|f (x), p(x) 6 |q(x)}.
q(x)
El lector puede verificar que Op(x) es un anillo con ideal maximal Pp(x) .
Definimos una función
vp(x) : K(x) −→ Z ∪ {∞}
z 7→ np(x) ,

donde, np(x) = i si z = p(x)i h y vp(x) (0) := ∞. Podemos verificar que

Op(x) = {z ∈ K(x)|vp(x) (z) ≥ 0}

y que
Pp(x) = {z ∈ K(x)|vp(x) (z) > 0}.
De ahora en adelante llamaremos al anillo Op(x) anillo de valoración y
a Pp(x) le llamaremos lugar.
Asociamos al polinomio irreducible p(x) el campo Kp(x) ⊂ K(x): Al ser
Pp(x) un ideal maximal del anillo Op(x) podemos definir el campo residual
Kp(x) := Op(x) /Pp(x) . Definimos el grado de un lugar Pp(x) como

grado(Pp(x) ) := [Kp(x) : K],

el grado de la extensión Kp(x) /K. Notemos que grado(Pp(x) ) = grado(p(x)) <


∞. Ejemplo: Los dos lugares de F2 (x) de grado 3 son Px3 +x+1 y Px3 +x2 +1 .

14
En ambos casos su campo residual es F8 . Ejemplo: Los lugares de grado 1
de Z3 (x) son P0 , P1 , P2 y P∞ (ver más abajo), los campos residuales corre-
spondientes son isomorfos a Z3 .
Dado un elemento z ∈ K(x) y un lugar P de grado uno entonces podemos
interpretar a z como una funcion P 7→ z(P ) ∈ K ∪ {∞}. Esto justifica el
nombre de campo de funciones. Notemos que si P = Px−a donde a ∈ K y si
z = f /q, entonces z(P ) = z(a) y z(a) := ∞ si q(a) = 0.
En K(x) existe otro anillo de valoración:
f (x)
O∞ := { ∈ K(x)|grado(f (x)) ≤ grado(q(x))}
q(x)
con ideal maximal
f (x)
P∞ = { ∈ K(x)|grado(f (x)) < grado(q(x))}.
g(x)
El lugar P∞ es llamado el lugar infinito de K(x). Cabe notar que esta
etiqueta depende del generador de la extensión K(x)/K que se utilice, pues,
por ejemplo P0 es el lugar infinito de K(1/x).
Se sigue que existe una correspondencia biyectiva entre los lugares de
grado 1 de K(x) y los puntos de la recta proyectiva P G(1, K).

1.8 Extensiones separables


Sea F una extensión sobre K y a ∈ F un elemento algebraico sobre K.
Supongamos que f (x) ∈ K[x] es tal que f (a) = 0. Si f (x) = (x − a)m g(x) y
si g(a) 6= 0 entonces decimos que a es una raı́z de multiplicidad m de f (x).
Llamaremos a una raı́z de multiplicidad 1 de f (x) raı́z simple de f (x). Un
criterio para verificar si una raı́z a de f (x) es simple es evaluar en f ′ (x): a
es raı́z simple de f (x) si y solo si f ′ (a) 6= 0 (ver ejercicios).
Diremos que un elemento a ∈ F es separable sobre K si a es algebraico
sobre K y a es raı́z simple de Irr(K, a). Diremos que una extensión algebraica
F/K es separable si todo elemento de F es separable sobre K. Tambien
diremos que F es separable sobre K o que F/K es separable. Una extensión
algebraica F/K que no sea separable le llamaremos extensión inseparable
de K. Un campo K es perfecto si no tiene extensiones inseparables.
Teorema 1.8.1. Un campo K con car(K) = p es perfecto si y solo si K =
K p.

15
Demostración: Sea F una extensión algebraica de K, a ∈ F y p(x) =
Irr(K, a). Supongamos primero que K p = K y que a no es separable sobre
K. Esto implica que p′ (a) = 0. Como grado(p′ (x)) < grado(p(x)) contra-
decimos que p(x) es el polinomio minimal de a a menos que p′ (x) = 0. Sea
pm xm un monomio de p(x). Entonces mpm xm = 0 por lo cual, o bien, pm = 0
o m es divisible entre p. Por lo tanto
n
X
p(x) = pi xpi .
i=0

Por hipótesis, cada pi tiene una raı́z p-ésima, digamos ri . Entonces podemos
factorizar à n !p
X
p(x) = ri x i ,
i=0

contradiciendo el hecho que p(x) es irreducible. Por lo que F/K debe ser
separable y entonces K es perfecto.
Ahora supongamos que K es perfecto. Queremos demostrar que K p = K.
Sea f (x) = xp −a ∈ K[x]. Si f (x) tiene una raı́z b ∈ K entonces a = bp ∈ K p .
Supongamos que f (x) no tiene raı́ces en K y que p(x) es un factor irreducible
de f (x). Consideremos la extensión K(b)/K con p(b) = 0. En el anillo de
polinomios K(b)[x] tenemos que f (x) = xp − a = xp − bp = (x − b)p , por otro
lado p(x) divide a f (x) por lo que p(x) = (x − b)m para alguna m. Si m = 1
tendrı́amos que b ∈ K, lo cual no es el caso, entonces m > 1. Pero entonces
b no es raı́z simple de p(x), es decir, b no es separable sobre K. Esto último
contradice el hecho que K es perfecto. Por tanto a ∈ K p para toda a ∈ K,
es decir K p = K.¥

Corolario 1.8.1. Todo campo finito es perfecto.

En lo que resta de esta sección K denota un campo de caracterı́stica p y F


una extensión algebraica de K. Un elemento a ∈ F se le llama puramente
inseparable sobre K si Irr(K, a) = (x − a)m para alguna m. Una extensión
finita F/K de llama extensión puramente inseparable si todo elemento
de F es puramente inseparable sobre K.
Sea a ∈ F un elemento puramente inseparable sobre K y sea p(x) =
Irr(K, a). Escribamos grado(P (x)) = m · pe con m no divisible entre p, es
decir
e e e
p(x) = (x − a)mp = (xp − ap )m ∈ K[x].

16
e
Cada coeficiente de p(x) pertence a K, en particular, map ∈ K. Como p
e
no divide a m se sigue que ap ∈ K. Por otro lado, p(x) es irreducible sobre
d
K, por lo que m = 1. Ahora bien, si d < e y ap ∈ K tendrı́amos que
d d
f (x) = xp − ap ∈ K[x] y que f (a) = 0 lo que implica que p(x)|f (x), lo cual
es imposible. Acabamos de demostrar que el grado del polinomio minimal de
d
un elemento puramente inseparable es pe , para alguna e > 0 y que ap 6∈ K
para 0 ≤ d < e.
Corolario 1.8.2. Si F es una extensión puramente inseparable de K en-
tonces [F : K] es una potencia de p.
Demostración: Ver ejercicios.
Teorema 1.8.2. Sea a ∈ K tal que a 6∈ K p . Entonces, para todo entero
e
e ≥ 0 el polinomio f (x) = xp − a es irreducible en K[x].
Demostración: Sea p(x) un factor no constante, mónico e irreducible de
e
f (x) y sea F = K(b) con p(b) = 0. Entonces f (b) = 0 y a = bp . En F [x]
tenemos que
e
f (x) = (x − b)p ,
lo que nos dice que todo factor irreducible q(x) de f (x) en K[x] es una
potencia de (x−b) y, en particular, q(b) = 0 por lo que p(x)|q(x). Se sigue que
q(x) = p(x) y que f (x) = p(x)m para alguna m ≥ 1. Como grado(f (x)) = pe
tenemos que grado(p(x)) y m son potencias de p, con lo que
r
f (x) = p(x)p

para alguna r ≥ 0. Sea c ∈ K el término constante de p(x), entonces


r
a = (±c)p . Si r > 0 tendrı́amos que a ∈ K p , una contradicción. Entonces
r = 0 por lo que f (x) = p(x) es irreducuble en K[x].¥
e
Corolario 1.8.3. Sea a ∈ F . Si exise un entero e ≥ 0 tal que ap ∈ K
entonces a es puramente inseparable sobre K.
Demostración: Sea e el entero no negativo mas pequeño con la propiedad
e
que ap ∈ K. Si e = 0 entonces a ∈ K y entonces a es puramente inseparable
e e
sobre K. Supongamos que e > 0. Si ap ∈ K p entonces ap = bp para alguna
e−1
b ∈ K. En este caso, tenemos que, ap = b ∈ K lo que contradice la
pe
definición de e. Ahora supongamos que a 6∈ K p , por el Teorema anterior
tenemos que el polinomio
e e
x p − ap

17
e
es irreducible en K[x] y entonces Irr(K, a) = (x − a)p por lo que a es
puramente inseparable sobre K.¥
Un elemento a ∈ F que sea al mismo tiempo separable y puramente
inseparable sobre K necesariamente es un elemento de K: Sea e el entero no
e e e
negativo mas pequeño tal que ap ∈ K . Tenemos que Irr(K, a) = xp − ap .
Como a es tambien separable tenemos que la derivada (Irr(K, a))′ 6= 0. Se
sigue que e = 0 y por lo tanto a ∈ K.

1.9 Ejercicios
1. Sea f (x) = f0 + f1 x + · · · + fn xn ∈ K[x] un polinomio con coeficientes
en K. Definimos

f ′ (x) := f1 + f2 x + · · · + nfn xn−1

demuestra que, para g(x) ∈ K[x], (f (x) + g(x))′ = f ′ (x) + g ′ (x) y que
(f (x)g(x))′ = f (x)g ′ (x) + f ′ (x)g(x).

2. Demuestra que a es raı́z simple de f (x) si y solo si f ′ (a) 6= 0.

3. Demuestra el Corolario 1.8.2. Sugerencia: F se obtiene de K por una


sucesión de extensiones simples F1 = K(a1 ), F2 = F1 (a2 ), . . . , F =
Fn = Fn−1 (an ). Si p(x) = Irr(K, ai ) y q(x) = Irr(Fi−1 , ai ) demuestra
que q(x) divide a p(x) para i = 2, . . . , n.

4. Calcula la suma de todos los elementos de un campo finito.

5. Calcula el producto de todos los elementos distinos de cero de un campo


finito.

6. Demuestra que Op(x) es un anillo tal que para toda z ∈ K(x) z ∈ Op(x)
z ∈ Op(x) o z −1 ∈ Op(x) . Demuestre tambien que Pp(x) es el único ideal
maximal de Op(x) (hint: un ideal maximal no contiene unidades, i.e.

Pp(x) = Op(x) − Op(x) ).

7. Lista todos los lugares de grado 2 del campo F4 (x).

8. Demuestra que K(x) = K( x1 ).

18
9. Demuestre que la función v := vp(x) definida anteriormente satisface:
v(zw) = v(z) + v(w), v(z + w) ≥ min{v(z), v(w)} y v(r) = 0 para
z, w ∈ K(x), r ∈ K.

10. Demuestra que todo elemento z ∈ K(x) admite una representación


única Y
z =a· pi (x)ni ,
i

donde a ∈ K − {0}, los pi (x) ∈ K[x] son polinomios mónicos irre-


ducibles distintos y ni ∈ Z.

19
Capı́tulo 2

Códigos Correctores de Errores

2.1 Introducción
Sea A un conjunto finito con v ∈ N elementos. Un código C de longitud n
sobre el alfabeto A es un subconjunto del producto cartesiano An , es decir,
C ⊆ An . A los elementos de C les llamaremos palabras.
Dados a, b ∈ C, digamos a = (a1 , . . . , an ) y b = (b1 , . . . , bn ), definimos la
distancia de Hamming enre las palabras a y b como

d(a, b) := |{i|ai 6= bi }| (2.1)

Un parámetro fundamental de un código C es la distancia mı́nima


d := d(C) entre sus palabras:

d := d(C) := min{d(a, b)|a, b ∈ C, a 6= b}. (2.2)

Distinguimos un caso especial: A = Fq y C ≤ Fnq es un subespacio vecto-


rial de Fnq . En este caso decimos que C es un código lineal. En este contexto
consideramos un parámetro adicional para el código C, su dimensión como
subespacio vectorial de Fnq . La denotaremos como k := dim(C).
Si C es un código lineal y a, b ∈ C entonces d(a, b) = d(a − b, 0). Lo
anterior motiva la definición del peso, w, de un palabra a ∈ C

w(a) := d(a, 0). (2.3)

En otras palabras, el peso de la palabra a, de acurdo a la definición 2.1, es


el número de sus coordenadas distintas de cero. Por linealidad se sigue que

20
d = min{w(a)|a ∈ C, a 6= 0}, es decir la distancia mı́nima es igual al peso
mı́nimo.
Para ahorrar espacio, diremos que C es un [n, k, d]q código lineal si C
tiene longitud n, dimensión k sobre el campo Fq y distancia mı́nima d.
Para describir un código lineal C ≤ Fnq de dimensión k basta con especi-
ficar una base. Una matriz generadora para el código lineal C es una
matriz k × n cuyos k renglones contienen las coordenadas de los vectores de
una base dada. Esta manera de representar a C permite codificar el mensaje
m = (m1 , . . . , mk ) en la palabra
m · G.
Como C es un subespacio lineal de Fnq es conveniente fijarnos el el comple-
mento ortogonal C ⊥ ≤ Fnq de C. Una matriz de verificación para el código
C es una matriz H cuyos renglones contienen las coordenadas de los vectores
de una base para C ⊥ . Tenemos entonces que
c ∈ C si y solo si H · c = 0.
De esta manera, al recibir una palabra c, el receptor verifica si hubo errores
de transmisión calculando el producto H ·c. Si el resultado de dicho producto
es distinto de cero entonces concluye que hubo errores en la transmisión.
En este curso nos enfocaremos a la construcción de códigos lineales por
diversos métodos y seguiremos parte del contenido de los textos [1] y [13].

2.2 Ejercicios
1. Demuestra que la distancia de Hamming es una métrica en An .

2.3 Códigos de Reed-Solomon


La clase de Códigos de Reed-Solomon se considera de gran importancia den-
tro de la Teorı́a de Códigos ya que, entre otras propiedades que iremos des-
cubriendo, son miembros de la familia de Códigos de Goppa o Códigos Alge-
braicos.
Supongamos que Fq = {0, 1, α, . . . , αq−2 }. Para 1 ≤ k ≤ q consideramos
el espacio vectorial
Lk := {f ∈ Fq [x]|grado(f ) < k} (2.4)

21
y el mapeo φ : Lk −→ Fqq dado por

φ(f ) := (f (0), f (1), f (α), . . . , f (αq−2 )) ∈ Fqq . (2.5)

El mapeo lineal 2.5 es inyectivo pues un polinomio de grado a lo mas k − 1


tiene menos de q raı́ces. Entonces

RS(k, q) := {(f (0), f (1), f (α), . . . , f (αq−2 ))|f ∈ Lk } (2.6)

es un Código lineal de longitud q, dimensión k y peso mı́nimo q − k + 1.

2.4 Códigos MDS


Cuando consideramos un código C ⊆ An sobre el alfabeto finito A de cardi-
nalidad v podemos concluir que |C| ≤ v n , esto es trivial. Pero si conocemos
d, su distancia mı́nima, y proyectamos sobre cualquier conjunto de n − d + 1
coordenadas obtenemos un código C ′ ⊆ An−d+1 tal que |C| = |C ′ | por lo que

|C| ≤ v n−d+1 . (2.7)

Si C es un [n, k, d]q código lineal la cota 2.7 se puede escribir como

k + d ≤ n + 1.

A los códigos que satisfacen la igualdad en las desigualdades anteriores se


les llaman códigos MDS (MDS es la abreviación de Maximum Distance
Separable).
El código lineal 2.6 con parámetros [q, k, q − k + 1]q es MDS pues

k + q − k + 1 = q + 1.

2.5 Interpolación de Lagrange


Un polinomio no nulo p(x) ∈ Fq [x] de grado n tiene a lo mas n raı́ces. En
efecto, si p(a) = 0 entonces p(x) es divisible entre el factor lineal x − a.
Si p(x) tiene n + 1 raı́ces a1 , a2 , . . . , an+1 , entonces p(x) es divisible por el
producto de los n + 1 factores correspondientes. Si grado(p(x)) ≤ n entonces
p(x) es el polinomio nulo.

22
Teorema 2.5.1 (interpolación de Lagrange). Sea F un campo. Dados n
elementos distintos a1 , . . . , an ∈ F y n elementos arbitrarios b1 , . . . , bn ∈
F existe exactamente un polinomio p(x) ∈ F [x], grado(p(x)) < n, tal que
p(ai ) = bi , i = 1, . . . , n.

Demos. Primero demostraremos la unicidad. Supongamos que p(x), q(x) ∈


F [x] satisfacen las condiciones del Teorema, entonces el polinomio p(x)−q(x),
de grado n−1, tendrı́a n raı́ces distintas, por lo que el polinomio p(x)−q(x) es
el polinomio nulo. La existencia de un polinomio de interpolación se resuelve
escribiendo dicho polinomio:
n Q
j6=i (x − aj )
X
p(x) = bi Q .¥ (2.8)
i=1 j6=i (ai − aj )

2.6 Decodificación en RS(k, q)


Ahora nos situamos del otro lado del canal de transmisión, es decir, del lado
del receptor. Supongamos que recibimos la palabra y = (y1 , . . . , yq ) ∈ Fqq y
que ocurrieron e errores en su transmisión. Queremos recuperar el mensaje
original, f (x) ∈ Lk . Sean

B := {i|f (αi ) = yi },

M := {i|f (αi ) 6= yi } y
e := |M |.
Definimos los siguientes polinomios:
Y
w(x) := (x − αi )
i∈B

y Y
w̄(x) := (x − αi ).
i∈M

Y sea ∆(x) el polinomio de grado < e tal que, para i ∈ M ,

yi − f (αi )
∆(αi ) = .
w(αi )

23
Finalmente, sean
q
Y
p0 := w · w̄ = (x − αi ) = xq − x,
i=1

p1 := w · ∆ + f.
Notemos primero que p1 (αi ) = yi para i = 1, . . . , q. Sean r0 := w̄ y r1 :=
∆. Mediante el algoritmo de Euclides extendido, obtenemos la secuencia

ri−1 := qi ri + ri+1

con grado(ri+1 ) < grado(ri ). Y supongamos que rm+1 = 0.


Queremos ver que obtenemos la misma secuencia de cocientes qi al aplicar
el algoritmo de Euclides extendido a los polinomios p0 y p1 . Para ver esto,
definimos u0 = 1, u1 = 0, ui = ui−2 − qi−2 ui−1 , v0 = 0, v1 = 1, vi =
vi−2 − qi−2 vi−1 para 2 ≤ i ≤ m y entonces

ri = ui r0 + vi r1 = ui w̄ + vi ∆ para 0 ≤ i ≤ m + 1

Ahora escribimos
pi := ui p 0 + v i p 1
= ui w · w̄ + vi w · ∆ + vi · f
= w(ui · w̄ + vi · ∆) + vi · f
= w · ri + vi · f.

Tenemos entonces que

qi · pi + pi+1 = qi (w · ri + vi · f ) + w · ri+1 + vi+1 · f


= w(qi · ri + ri+1 ) + (qi · vi + vi+1 ) · f
= w · ri−1 + vi−1 · f
= pi−1 .

Notemos que grado(pi ) = grado(w · ri + vi · f ). Ahora bien, grado(vi ) <


grado(r0 ) = e, por lo que grado(vi · f ) ≤ e + k − 1. Por otro lado grado(w) =
q − e. Suponiendo que e ≤ q−k2
(esta es la capacidad de corrección del código
RS(k, q)), tenemos que

q+k
grado(w · ri ) ≥ q − e ≥ > e + k − 1 ≥ grado(vi · f ).
2
24
Se sigue que grado(pi ) = grado(w̄ · ri ) el cual es estrictamente decreciente.
Es decir, grado(pi+1 ) < grado(pi ). Con esto último vemos que los mismos
cocientes qi se obtienen al aplicar el algoritmo de Euclides extendido a p0 y
p1 . En particular, fijándonos en

pm+1 = w · rm+1 + vm+1 · f = vm+1 · f,


pm+1
tenemos que f = vm+1
. Es decir hemos recuperado el mensaje original f (x).

Teorema 2.6.1 (Algoritmo de decodificación de Gao).


Entrada: La palabra recibida y = (y1 , . . . , yq ) ∈ Fqq .
Salida: El polinomio f (x) de grado ≤ k − 1 o declarar una Falla de decodi-
ficación.

Paso 1 Sea p0 (x) = xq − x y sea p1 (x) el polinomio de grado ≤ q − 1 tal que


p1 (αi ) = yi para i = 1, . . . , q.

Paso 2 Aplicamos el algoritmo euclideano extendido a p0 y a p1 deteniendonos


cuando el grado del residuo pm (x) es menor que q+k
2
.

Paso 3 Dividimos pm (x) = f (x)vm (x) + r(x). Si r(x) = 0 y grado(f (x)) < k
entonces el polinomio es f (x), en caso contrario declaramos Falla de
decodificación.

2.7 Ejercicios
1. Construye una matriz generadora para el código RS(4, 11).

2. Supón que recibes la palabra y = (1, 2, 6, 1, 9, 8, 9, 1, 6, 2, 2) ∈ F11


11 . Usa
el algoritmo de Gao para recuperar el mensaje original si el código que
se usó para codificarlo es el RS(4, 11).

3. Construye una base para Lk de tal manera que la matriz generadora del
código RS(k, q) sea de la forma [Ik |P ] donde Ik es la matriz identidad
k × k y P es una matriz k × (q − k).

25
2.8 Códigos Simplex y de Hamming
Sea V = Fkq . V es un espacio vectorial de dimensión k sobre Fq . El número
de subespacios de V de dimensión 1 es

qk − 1
.
q−1
Esto es, el numerador de la expresión anterior dice que vamos a considerar
solo vectores no nulos de V . El denominador dice que cada subespacio de
dimensión 1 tiene exactamente q − 1 vectores no nulos. Definimos el Código
Simplex de dimensión k sobre Fq , denotado por S(k, q), como el código
generado por los renglones de la matriz G que tiene por columnas a vectores
representantes de todos y cada uno de los subespacios de dimensión 1 de V .
k −1
El código Simplex tiene longitud qq−1 y dimensión k. A las columnas de G
las denoteremos por C1 , . . . , C qk −1 .
q−1
Para calcular su distancia mı́nima procedemos de la siguiente manera: sea
x ∈ S(k, q) un vector no nulo. El conjunto {x} es linealmente independiente;
al ser x un vector no nulo, se puede extender a una base para el espacio
S(k, q). Podemos pensar pues que x es un renglón de la matriz G. Ahora
bien, el número de ceros en un renglón de la matriz G es (q k−1 − 1)/(q − 1),
esto se sigue pues de que la columna correspondiente es representante de un
subespacio de dimensión 1 de V , por lo que las k − 1 entradas restantes de
dicha columna no pueden ser todas iguales a cero. El peso de un renglón de
la matriz G es entonces
q k − 1 q k−1 − 1
− = q k−1 .
q−1 q−1
El código Simplex S(k, q) tiene parámetros

[(q k − 1)/(q − 1), k, q k−1 ]q

. Por la construcción de S(k, q), todo par de columnas de G es un conjunto


linealmente independiente. Definimos el Código de Hamming denotado
q k −1

por H(k, q) como el complemento ortogonal del código S(k, q) en Fqq−1 . Es


decir, la matriz generadora G de S(k, q) es una matriz de verificación para
H(k, q). Se sigue que el código H(k, q) tiene longitud (q k − 1)/(q − 1) y
dimensión (q k − 1)/(q − 1) − k.

26
Sea x ∈ H(k, q). Supongamos que peso(x) = 1 y que xi es su única coor-
denada no nula. Como x ∈ H(k, q) tenemos que G · x = 0̄ como G · x = xi Ci
tendrı́amos que la i-ésima columna de G es nula, esto es imposible. Si x
tiene peso igual a 2, digamos que las coordenadas no nulas de x son i y j,
entonces tendrı́amos que G · x = 0̄ pero por otro lado G · x = xi Ci + xj Cj = 0̄
contradiciendo el hecho que las columnas Ci y Cj de G son linealmente inde-
pendientes. Concluimos pues que peso(x) ≥ 3. Las columnas de G son dos a
dos linealmente independientes. El subespacio de dimensión 2 generado por
cualquier par de columnas de G, digamos Ci y Cj , necesariamente contiene
al menos otro subespacio de dimensión 1 distinto de < Ci > y de < Cj >.
por lo que tenemos que la distancia mı́nima de H(k, q) es d = 3. El código
de Hamming H(k, q) tiene parámetros
(q k − 1) (q k − 1)
[ , − k, 3]q ,
(q − 1) (q − 1)
y puede corregir 1 error de transmisión.
Ejemplo: Consideremos el código H(3, 4) con parámetros [21, 18, 3]4 .
Recordemos que F4 = {0, 1, z, z 2 } con z 2 + z + 1 = 0. Una matriz de verifi-
cación para H(3, 4) es cualquier matriz generadora para S(k, q). Por ejemplo
z2 z2 z2 z2
0 1
0 1 1 1 1 z z z z 1 1 1 1 0 0 0 0
G=@ 1 0 1 z z2 z2 z 1 0 z2 z 1 0 z2 z 1 0 z2 z 1 0 A.
1 1 0 z2 z 1 0 z2 z 0 1 z z2 z2 z 1 0 z z2 0 1

Supongamos que recibimos el vector


y = (1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1) ∈ F21
4

y que estamos usando el código H(3, 4) para corregir posibles errores de


transmisión. Lo primero que hace el receptor es calcular el sı́ndrome de y
S(y) := G · y.
Tenemos que S(y) = 0 si y solo si y ∈ H(3, 4). En nuestro ejemplo,
tenemos que S(y) = (z, 0, z)t 6= 0 por lo que concluimos que hubo errores
de transmisión. Notemos que (z, 0, z)t = z · (1, 0, 1)t y que (1, 0, 1)t es la
segunda columna de G, en este punto sabemos que la segunda coordenada
es incorrecta. El vector error es
e := (0, z, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)
por lo tanto concluimos que la palabra enviada fue
x = y − e = (1, z 2 , 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1).

27
2.9 Códigos perfectos y empaquetado por es-
feras
Sea A, como siempre, un conjunto finito de sı́mbolos con v elementos. Con-
sideramos An equipado con la métrica de Hamming. Definimos la bola de
radio r con centro en a ∈ An como el conjunto de palabras a distancia de
Hamming menor o igual a r. En realidad estamos interesados en su volumen
r
X
V (r, n, v) := C(n, i)(v − 1)i . (2.9)
i=0

Sea e := ⌊ d−1
2
⌋. Si C ⊆ An es un código con distancia mı́nima d entonces
las bolas de radio e centradas en las palabras de C son ajenas. Por lo tanto
tenemos que
|C| · V (e, n, v) ≤ v n . (2.10)
A la desigualdad 2.10 se le llama cota de empaquetado por esferas y a los
códigos que la satisfagan con igualdad les llamaremos códigos perfectos.
En el caso del código de Hamming H(k, q) tenemos que e = 1, v = q y
k −1
n = qq−1 . Tenemos que

q k −1
−k qk − 1 q k −1
|H(k, q)| · V (e, n, v) = q q−1 · (1 + (q − 1) ) = q q−1 .
q−1
Por lo que concluimos que los códigos H(k, q) son códigos perfectos.

2.10 Ejercicios
1. Sea V = Fnq . Demuestra que el número de subespacios de V de di-
mensión i, i = 1, . . . , n es

(q n − 1)(q n − q) · · · (q n − q i−1 )
G(n, i) := . (2.11)
(q i − 1)(q i − q) · · · (q i − q i−1 )

A G(n, i) se le conoce como polinomio de Gauss.

2. Supón que recibes el vector

y = (1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1) ∈ F21
4

28
por el canal de transmisión y que estás usando el código de Hamming
H(3, 4). Verifica que la palabra recibida pertenece a dicho código o
realiza su correción.
3. Demuestra que un código perfecto con distancia mı́nima d = 2e + 1
tiene radio de cubierta ρ = e.
4. Sea C un código lineal binario con distancia mı́nima impar d. Sea D ⊂
C el subconjunto de todas las palabras de peso par de C. Demuestra
que D es un subespacio de codimensión 1 en C.

2.11 Método Geométrico


Sea V un espacio vectorial de dimensión n sobre un campo F . Dados x, y ∈
V − {0̄} definimos la relación de equivalencia R como sigue
(x, y) ∈ R ⇐⇒ existe λ ∈ F tal que x = λ · y.
A los elementos de (V − {0̄})/R (clases de equivalencia) les llamaremos pun-
tos. Estas clases de equivalencia, o puntos, están en correspondencia con los
subespacios de dimensión uno de V (quitandoles el vector 0̄). Llamaremos
a los subespacios de dimensión 2 de V rectas, . . ., a los subespacios de
dimensión i + 1 les llamaremos i-planos y a los subespacios de dimensión
n − 2 hiperplanos. Diremos que dos subespacios de V son incidentes si
uno está totalmente contenido en el otro. Al cociente (V − {0̄})/R, junto
con la relación de incidencia anterior se le llama espacio proyectivo de
dimensión n − 1 sobre F y lo denotaremos por
P G(n − 1, F ).
En nuestro contexto nos interesa estudiar el espacio proyectivo
P G(n − 1, q) := Fnq − {0̄}/R.
Por el ejercicio 1 del capı́tulo anterior, P G(n − 1, q) tiene
q n −1
- q−1
puntos,
(q n −1)(q n −q)
- (q 2 −1)(q 2 −q)
rectas

- y en general, G(n, i + 1) i-planos.

29
2.11.1 Códigos asociados a conjuntos de puntos
Podemos pensar en las columnas de una matriz generadora k × n, G, de
un código lineal C como representantes de n puntos P1 , . . . , Pn en el espacio
proyectivo P G(k−1, q). Esto nos da una interpretación geométrica del código
C. Notemos que en esta interpretación podemos repetir puntos, pues G puede
tener columnas repetidas o puede tener columnas que sean múltiplos de otras.
En este sentido, diremos que un código es proyectivo si ninguna columna
de G es múltiplo de alguna otra. A la interpretación geométrica de C le
llamaremos descripción geométrica del código C.
Para calcular el peso de una palabra arbitraria no nula xP∈ C hacemos lo
siguiente: sean r1 , . . . , rk los renglones de G. Entonces x = ki=1 ai ri . Ahora
bien, la coordenada j de x es xj = ki=1 ai rij . La coordenada xj es cero si el
P
punto (r1j , . . . , rkj ) pertenece al hiperplano (a1 , . . . , ak )⊥ . Por lo que el peso
mı́nimo de una palabra no nula en C es

d = n − max{|H ∩ {P1 , . . . , Pn }| : H es hiperplano de P G(k − 1, q)}.

Un ejemplo de un código proyectivo es el código Simplex S(k, q). En este


caso las columnas de una matriz generadora para S(k, q) considera a todos
los puntos en P G(k − 1, q). En la siguiente sección construiremos algunos
subconjuntos de puntos en el plano proyectivo que dan origen a códigos
interesantes.

2.11.2 Códigos relacionados a cónicas


Sea p(x, y, z) un polinomio en tres variables. Decimos que el polinomio p
es homogéneo de grado d si todos sus monomios tienen grado d. Si p
es homogéneo de grado d y si (x1 , y1 , z1 ) es una raı́z de p, entonces todo
múltiplo escalar λ(x1 , y1 , z1 ), con λ ∈ K tambien lo es. Por lo anterior
podemos interpretar a las raı́ces de polinomios homogéneos en tres variables
como puntos en un plano proyectivo. Al conjunto de dichos puntos se denota
(comunmente) por V (p) y se le llama (comunmente) la variedad definida
por p(x, y, z).
En el plano euclideano, una cónica es una curva de segundo grado que
tiene por ecuación

ax2 + by 2 + c + 2hxy + 2gx + 2f y = 0,

30
donde a, b, c, f, g, h son números reales. Ejemplos de cónicas son los cı́rculos,
elipses, parábolas e hipérbolas. En el Plano Proyectivo la situación es más
simple:
La ecuación general de una cónica en el Plano Proyectivo es:

ax2 + by 2 + cz 2 + 2hxy + 2gxz + 2f yz = 0.

La variable z se introduce para hacer cada monomio de grado dos (ho-


mogéneo). Sean S1 = 0 y S2 = 0 las ecuaciones de dos cónicas, entonces
el polinomio S := λS1 + µS2 es homogéneo de grado dos, y la ecuación S = 0
es la ecuación de una cónica. Nota que si P1 es un punto común a S1 y S2
entonces P1 es un punto de S. Es decir el haz de cónicas definido por S1 y
S2 descrito por S pasa por los cuatro puntos de intersección de las cónicas
base.
En particular, si S1 = xz = 0 y S2 = y 2 = 0 (S1 es un par de lı́neas, S2
es una lı́nea repetida) las cónicas del haz son tangentes a las lı́neas z = 0 y
x = 0 en los puntos de interseccion de estas lı́neas con la lı́nea doble y 2 = 0.
Supongamos ahora que el punto unitario [1 : 1 : 1] pertenece a S. Entonces
λ + µ = 0 y entonces S = y 2 − xz.
Es decir, si escogemos nuestro triángulo de referencia de manera adecuada
la ecuación general de una cónica en el Plano Proyectivo es y 2 − xz = 0.
Ademas, todo punto en la cónica es de la forma [t2 : t : 1], para alguna
t ∈ Fq . Nota que el punto [1 : 0 : 0] pertenece a la cónica.

2.11.3 Cónicas sobre campos finitos de orden impar


De los q 2 + q + 1 puntos en P G(2, q), con q impar, q + 1 pertenecen a una
cónica
µ dada.¶ Las tangentes en esos q + 1 puntos se intersectanµ ¶por pares
q+1 q+1
en puntos externos que son los polos de las secantes.
2 µ ¶ 2
q
Los restantes puntos son puntos internos (no pertenecen a ninguna
µ2 ¶
q
tangente); sus polares son las lı́neas externas. Se sigue que cada lı́nea
2
externa contiene q + 1 puntos, 12 (q + 1) de los cuales son externos (ya que
las dos tangentes a la cónica por cada uno cuentan las q + 1 tangentes); los
1
2
(q + 1) puntos restantes son internos. Cada secante contiene dos puntos de
la cónica y 12 (q + 1) puntos externos (pues las dos tangentes a la cónica por

31
cada uno cuentan las tangentes en los q − 1 puntos restantes en la cónica);
los 21 (q + 1) puntos restantes son internos. Obtenemos la configuracion con
parámetros µ ¶
q
2 1 (q+1)
2
µ ¶ µ ¶
q q
formada por los puntos internos y las rectas externas. Y la
2 2
configuración con parámetros
µ ¶
q+1
2 1
(q−1)
2
µ ¶ µ ¶
q+1 q+1
formada por los puntos externos y las secantes. Ver
2 2
[3].
Usando los puntos internos y un punto de la cónica podemos construir
un código con parámetros
[C(q, 2) + 1, 3, (q − 1)2 /2]q .
Usando los puntos externos y todos los puntos de la cónica obtenemos un
código con parámetros
[C(q + 1, 2) + 1, 3, (q 2 − 1)/2]q .

2.11.4 Cota de Griesmer


La imagen de un código lineal C ≤ Fnq de dimensión k y distancia mı́nima d
bajo la acción de una matriz diagonal no singular n × n es un código C ′ ≤ Fnq
con los mismos parámetros que C. Diremos que los códigos C ≤ Fnq y C ′ ≤ Fnq
son diagonalmente equivalentes si existe una matriz diagonal no singular
D ∈ Fqn×n tal que C ′ = D · C.
Tambien diremos que los códigos C y C ′ son equivalentes si uno se
obtiene del otro mediante una permutación de coordenadas.
Teorema 2.11.1 (Griesmer). Sea C ≤ Fnq un código lineal con parámetros
[n, k, d]q . Entonces existe un código C ′ con parámetros [n − d, k − 1, ⌈d/q⌉]q
y
k−1
X
n≥ ⌈d/q i ⌉
i=0

32
Demostración: Sea x ∈ C una palabra de peso d. Sin pérdida de gen-
eralidad, podemos suponer que x tiene sus entradas distintas de cero en sus
primeras d coordenadas y que éstas son todas iguales a 1.
Vamos a construir el código residual, C ′ , de C respecto de la palabra
x. Consideremos el complemento en C del subespacio < x > y proyectemos
sus vectores en las últimas n − d coordenadas. Sea C ′ la imagen de dicha
proyección. Entonce C ′ ∪ {0̄} tiene longitud n − d y dimensión k − 1.
Ahora vamos a calcular la distancia mı́nima d′ de C ′ . Sea y ∈ C una
palabra cuya proyección tiene peso i en C ′ . Entonces y debe de tener al
menos d − i entradas distintas de cero en las primeras d coordenadas, de las
cuales al menos (d − i)/(q − 1) tienen la misma entrada. Podemos suponer
que esta entrada es igual a 1. Tenemos que 0 6= y − x ∈ C, entonces d ≤
(d−i)
peso(y − x) ≤ i + d − (q−1) . Resolviendo para i obtenemos que i ≥ d/q. Por
lo tando d ≥ ⌈d/q⌉. Iterando este procedimiento con C ′ obtenemos la Cota

de Griesmer.

2.12 Ejercicios
1. Demuestra que todas las palabras no nulas en el código Simplex S(k, q)
tienen el mismo peso. Es decir, el código Simplex es un código de peso
constante.

2. Supón que tienes 17 puntos en P G(3, 4) con la propiedad que cada


hiperplano contiene a lo mas 5 de esos puntos. Usando el método
geométrico, calcula los parámetros del código asociado a dicho conjunto
de puntos.

3. Determina cuál es la distancia mı́nima máxima D que un código lineal


con parámetros [11, 6, D]3 puede tener.

4. Determina cuál es la distancia mı́nima máxima D que un código lineal


con parámetros [14, 3, D]2 puede tener. Demuestra que dicho código
existe. (hint: usa el método geométrico comenzando con el código
S(3, 2)).

5. Sea C un código lineal con parámetros [n, k, d]q y sea x ∈ C una palabra
no nula en C con peso(x)−⌈ peso(x)
q
⌉ < d. Basiándote en la demostración
del Teorema 2.11.1 construye el código residual Cx de C respecto de

33
x proyectando C en el conjunto de coordenadas nulas de x. Calcula los
parámetros de Cx como código lineal.

6. Demuestra que no puede existir un código con parámetros [23, 7, 10]2 .


(sugerencia: construye códigos residuales hasta que llegues a distancia
mı́nima 3. Luego usa la cota de empaquetado por esferas).

2.13 Construcciones recursivas


En esta sección describimos como construir códigos a partir de códigos que
tengamos a la mano. En la práctica, resulta útil poder construir códigos
binarios a partir de códigos construidos sobre campos con 2r elementos.

2.13.1 Proyección y acortamiento


Sea C un código lineal con parámetros [n, k, d]q . Fijemos una coordenada,
digamos n. Definimos el código

D := {(x1 , . . . , xn−1 )|(x1 , . . . , xn−1 , 0) ∈ C}.

Entonces D tiene parámetros [n − 1, ≥ k − 1, ≥ d]q : Tenemos, por definición,


que D es un subespacio de C por lo que su distancia mı́nima es ≥ d. De
hecho, D es el kernel del funcional lineal

T : C −→ Fq

dado por T (x1 , . . . , xn−1 , xn ) := xn . Se sigue que dim(D) ≥ k − 1. La


dimensión de D es k cuando C = D, i.e., cuando toda palabra de C tiene
su coordenada n igual a cero. Llamaremos al código D el acortamiento del
código C respecto de la coordenada n.
Podemos también definir a partir del código C el código

D′ := {(x1 , . . . , xn−1 )|(x1 , . . . , xn−1 , x) ∈ C p.a. x ∈ Fq }.

Entonces, si d > 1, D′ tiene parámetros [n − 1, k, ≥ d − 1]q : La distancia


mı́nima de D′ no puede ser menor a d − 1. Si la dimensión de D′ es < k
entonces la proyección

P (x1 , . . . , xn−1 , xn ) := (x1 , . . . , xn−1 )

34
tendrı́a un kernel no trivial, lo que implica que d = 1. Al código D′ le
llamaremos la proyección de C en n − 1 de sus coordenadas.
En particular, la existencia de un código C con parámetros [n, k, d]q im-
plica la existencia de códigos con parámetros [n−1, k−1, d]q y [n−1, k, d−1]q .

2.13.2 Alargamiento
Consideremos el código binario C con parámetros [n, k, d]2 y supongamos que
d es impar. Construimos el código C ′ de longitud n + 1

C ′ := {x := (x1 , . . . , xn , x)|(x1 , . . . , xn ) ∈ C, peso(x) es par }.

Los parámetros de C ′ son [n + 1, k, d + 1]2 . A la coordenada n + 1 se le llama


bit de verificación de paridad.
Esta idea se puede extender a códigos no binarios: sea C un código con
parámetros [n, k, d]q , definimos el código C ′ de longitud n + 1
n
X

C := {x := (x1 , . . . , xn , − xi )|(x1 , . . . , xn ) ∈ C}.
i=1

Los parámetros de C ′ son [n+1, k, d+1]q y se le conoce como el código suma


cero (la suma de las coordenadas de sus palabras es cero).

2.13.3 Construcción X
Sean C un código con parámetros [n, k, d]q , D ≤ C un subcódigo de C con
parámetros [n, k −k ′ , d′ ]q con d′ > d y supongamos que existe un código auxi-
liar E con parámetros [l, k ′ , δ]q . Entonces existe un código C ′ con parámetros
[n+l, k, min(d+δ, d′ )]q . Esta construcción se llama construcción X en [4] y
consiste en alargar C l veces. Describimos el código C ′ mediante una matriz
generadora:  
GD 0
 .
GC/D GE
Donde GD , GC/D y GE son matrices generadoras para los códigos D, C/D y
E respectivamente.

35
2.13.4 Construcción XX
Sean C un código con parámetros [n, k, d]q , y Ci ≤ C, i = 1, 2, dos subcódigos
con parámetros [n, k − ki , di ]q respectivamente. Sea D el peso mı́nimo de una
palabra en C1 ∩C2 . Supongamos además que existen dos códigos auxiliares E1
y E2 con parámetros [li , ki , δi ]q respectivamente. Entonces existe un código
con parámetros

[n + l1 + l2 , k, min(D, d2 + δ1 , d1 + δ2 , d + δ1 + δ2 )]q .

Dicho código se obtiene aplicando la construcción X al par C, C1 usando el


código auxiliar E1 para obtener el código C ′ con distancia mı́nima

min(d1 , d + δ1 ).

Consideremos ahora el subcódigo C2′ ≤ C ′ . Una palabra en C2 − (C1 ∩ C2 )


obtiene un alargamiento no trivial en C ′ , la palabra correspondiente en C ′
tiene peso ≥ d2 + δ1 . Entonces el peso mı́nimo de C2′ es ≥ min(D, d2 +
δ1 ). Aplicando la construcción X al par C2′ ≤ C ′ con el código auxiliar E2
obtenemos un código con los parámetros buscados.

2.13.5 Encadenamiento
Sea Q = q h . El método de encadenamieno construye un código E sobre
Fq de un código sobre FQ : Sea C un código con parámetros [N, K, D]Q .
Y supongamos que existe un código I con parámetros [n, h, d]q . Fijamos
cualquier isomorfismo ϕ : FQ −→ I ⊆ Fnq . Entonces

E := {(ϕ(c1 )), . . . , ϕ(xN ))|(x1 , . . . , xN ) ∈ C}.

El código E tiene parámetros

[N · n, K · h, D · d]q .

2.14 Ejercicios
1. Calcula los parámetros del código lineal que resulta de proyectar el
código Reed-Solomon RS(k, q) en las columnas correspondientes a los
elementos de F∗q . Verifica si el código resultante es MDS.

36
2. Calcula los parámetros del código lineal que resulta al extender cada
palabra del código Reed-Solomon RS(k, q) en una coordenada, donde
esta coordenada se define como el coeficiente de xk−1 del polinomio
asociado a la palabra. Compara el código extendido RS(3, q) con el
código geométrico que resulta de usar todos los puntos de la cónica
y 2 − xz = 0 sobre Fq .

37
Capı́tulo 3

Códigos cı́clicos

Decimos que dos códigos son equivalentes si uno se puede obtener del otro
mediante una permutación de sus coordenadas. Un automorfismo de un
código C es una permutación de las coordenadas de C que deja fijo a C.
El conjunto de todos los automorfismos de C es un grupo bajo la operación
composición. Denotaremos a dicho grupo por Aut(C).
En esta parte del curso describiremos la construcción de códigos cı́clicos
lineales. Dichos códigos tienen como caracterı́stica principal un grupo de
automorfismos no trivial.

3.1 Códigos cı́clicos


Sea C ≤ Fnq un código lineal. Decimos que C es un código cı́clico si

(c0 , c1 , . . . , cn−1 ) ∈ C si y solo si (cn−1 , c0 , c1 , . . . , cn−2 ) ∈ C.

Es decir, la permutación σ := (0, 1, 2, . . . , n − 2, n − 1) es un automorfismo


de C.
Es conveniente identificar a los elementos de Fnq con los polinomios del
anillo cociente R := Fq [x]/(xn − 1):

(c0 , c1 , . . . , cn−1 ) −→ c(x) := c0 + c1 x + · · · + cn−1 xn−1 .

Esta identificación es útil por lo siguiente:

(cn−1 , c0 , c1 , . . . , cn−2 ) −→ cn−1 +c0 x+c1 x2 +· · ·+cn−2 xn−1 ≡ xc(x) mod xn −1

38
Con esta identificación hablaremos indistintamente de la palabra c ∈ C o
de la palabra c(x) ∈ C. Tambien diremos que C es un subconjunto de
polinomios del anillo R.
Si C es un código cı́clico tenemos que xi c(x) mod xn − 1 ∈ C para toda
i ≥ 0. Si a(x) ∈ R, se sigue por linealidad que a(x)c(x) ∈ C. Esto último
nos dice que C es un ideal de R. Por otro lado, si C es un ideal de R entonces
xi c(x) mod xn −1 ∈ C para toda i ≥ 0, por lo que C es un código cı́clico. Es
decir, existe una correspondencia uno a uno entre los códigos cı́clicos lineales
y los ideales de R.
El anillo R es un anillo de ideales principales, es decir, todo ideal C está
generado por un único elemento g(x), escribimos

C =< g(x) >:= {a(x)g(x)|a(x) ∈ R}.

Es decir, el ideal C consta de todos los múltiplos de g(x) en R. El polinomio


g(x) queda determinado de manera única como el polinomio mónico de grado
menor en C. Llamaremos al polinomio g(x) el polinomio generador de C.
Como d(x) := M CD(g(x), xn − 1) ∈ C es un polinomio de grado menor
que grado de g(x), tenemos que g(x) = d(x) es un divisor del polinomio
xn − 1, es decir
xn − 1 = g(x)h(x).
En particular, si
g(x) = g0 + g1 x + · · · + gn−k xn−k
y
h(x) = h0 + h1 x + · · · + hk xk ,
entonces g0 h0 = −1 y gn−k hk = 1 (pues g(x)h(x) = xn − 1), lo que implica
que g0 , gn−k , h0 , hk 6= 0.
Llamaremos a h(x) el polinomio de verificación de C. Este nom-
bre tiene sentido por lo siguiente: supongamos que a(x) ∈ R es tal que
a(x)h(x) ≡ 0 mod xn − 1, es decir a(x)h(x) = p(x)(xn − 1) = p(x)g(x)h(x)
por lo que h(x)(a(x) − p(x)g(x)) = 0 como h(x) 6≡ 0 mod xn − 1 tenemos
que a(x) ≡ p(x)g(x) mod xn − 1, es decir a(x) ∈ C. Entonces

C = {c(x) ∈ C|c(x)h(x) ≡ 0 mod xn − 1}.

Convención: Solo consideraremos el caso en que xn − 1 no tiene factores


repetidos. Por lo cual supondremos de ahora en adelante que M CD(n, q) =
1.

39
Una base para el código cı́clico C =< g(x) > es g(x), xg(x), . . . , xk−1 g(x).
Es decir C es un código lineal de longitud n y dimensión k. Calcularemos
una cota inferior para la distancia mı́nima mas adelante.
Para codificar un mensaje m(x) = m0 +m1 x+· · ·+mk−1 xk−1 simplemente
hacemos la multiplicación m(x)g(x) mod xn − 1. Si recibimos un mensaje
r(x), podemos verificar si dicho mensaje pertenece a C calculando el residuo
módulo g(x); si dicho residuo es cero, entonces r(x) pertenece a C. En caso
contrario concluimos que hubo errores en la transmisión.

3.2 Codificación sistemática


Sea C un código cı́clico con generador g(x). El mensaje que queremos codi-
ficar es m := (m0 , . . . , mk−1 ). A dicho mensaje le asociamos el polinomio
m(x) := m0 + m1 x + · · · + mk−1 xk−1 .
Una manera conveniente de codificar mensajes es la siguiente: Multiplicamos
m(x) por xn−k y dividimos entre g(x) para obtener
xn−k m(x) = q(x)g(x) + p(x).
De donde se sigue que el polinomio c(x) := xn−k+1 m(x) − p(x) es un múltiplo
de g(x) y tiene grado n − 1. Éste polinomio es la palabra del código que
asociamos al mensaje m. Notemos que
c(x) = xn−k m(x) − p(x)
= −(p0 + p1 x + · · · + pn−k−1 xn−k−1 ) + m0 xn−k + · · · + mk−1 xn−1 .
Por lo que al recibir una palabra de C podemos recuperar (decodificar) el
mensaje enviado m(x) fijándonos en las últimas k coordenadas de la palabra
recibida. A este tipo de codificación, donde el mensaje original aparece en la
palabra, se le llama codificación sistemática.

3.3 Decodificación
Supongamos que recibimos la palabra r(x). Dividiendo entre el polinomio
generador g(x) tenemos
r(x) = q(x)g(x) + s(x)

40
donde
g(x) = g0 + g1 x + g2 x2 + · · · + gn−k−1 xn−k−1 + gn−k xn−k
y
s(x) = s0 + s1 x + s2 x2 + · · · + sn−k−1 xn−k−1
es el residuo. Notemos que r(x) es una palabra del código si y solo si s(x) = 0.
Llamaremos a s(x) el sı́ndrome de r(x).
Como r(x) = c(x) + e(x) y r(x) = q(x)g(x) + s(x) tenemos que
e(x) = q(x)g(x) + s(x) − c(x)
= q(x)g(x) + s(x) − q ′ (x)g(x)
= (q(x) − q ′ (x))g(x) + s(x)
Por lo que s(x) es el residuo que se obtiene al dividir e(x) entre g(x).

3.4 Ejemplos
Sea q = 3 y n = 7. Entonces
x7 − 1 = (x − 1)(x6 + x5 + x4 + x3 + x2 + x + 1).
Entonces los únicos códigos cı́clicos de longitud 7 sobre Z3 son
{(0, 0, 0, 0, 0, 0, 0)}, < x − 1 >, < x6 + x5 + x4 + x3 + x2 + x + 1 > y Z73 .
El primero corresponde al polinomio g(x) = 0 = x7 − 1, el segundo es el
código suma cero, el tercero es el código de repetición, y Z73 corresponde al
polinomio g(x) = 1.
Consideremos ahora el caso n = 8. Tenemos que
x8 − 1 = (x − 1)(x + 1)(x2 + 1)(x2 + x − 1)(x2 − x − 1).
Por lo que hay 25 = 32 códigos cı́clicos de longitud 8 sobre Z3 . Por ejemplo,
consideremos el generado por g(x) = (x2 − x − 1)(x + 1). El código C =<
g(x) > tiene longitud 8 y dimensión 5. Calculemos una base para C:
x3 = (1)g(x) + (2x + 2) g(x) 7→ (2, 1, 0, 1, 0, 0, 0, 0)
x4 = (x)g(x) + (2x2 + x) x4 + x2 + 2x 7→ (0, 2, 1, 0, 1, 0, 0, 0)
x5 = (x2 − 1)g(x) + (x2 + x + 2) x5 + 2x2 + 2x + 1 7→ (1, 2, 2, 0, 0, 1, 0, 0)
x6 = (x3 − x + 1)g(x) + (x2 + x + 1) x6 + 2x2 + 2x + 2) 7 → (2, 2, 2, 0, 0, 0, 1, 0)
x7 = (x4 − x2 + x + 1)g(x) + (x2 + 1) x7 + 2x2 + 2) 7 → (2, 2, 0, 2, 0, 0, 0, 1)
(3.1)

41
Por lo que una matriz generadora para C es
 
2 1 0 1 0 0 0 0
 0 2 1 0 1 0 0 0 
 
G=  1 2 2 0 0 1 0 0 

 2 2 2 0 0 0 1 0 
2 2 0 2 0 0 0 1
Supongamos que queremos enviar el mensaje
m = (0, 1, 2, 2, 1) 7→ m(x) = x + 2x2 + 2x3 + x4 .
Para codificarlo primero multiplicamos x3 m(x) y dividimos entre g(x) =
x3 + x + 2:
x3 m(x) = (x4 − x3 + x2 + 1)g(x) + (x2 − x + 1).
Entonces nuestro mensaje codificado es
c(x) = x3 m(x) − (x2 − x + 1) = 2 + x + 2x2 + x4 + 2x5 + 2x6 + x7 .
La palabra asociada es c := (2, 1, 2, 0, 1, 2, 2, 1). Esta papalbra se transmite
por el canal. El receptor, al recibir la palabra r = (2, 1, 2, 0, 2, 2, 2, 1), le
asocia el polinomio
2 + x + 2x2 + 2x4 + 2x5 + x6 + x7
y divide entre x3 + x + 2:
2 + x + 2x2 + 2x4 + 2x5 + x6 + x7 = (1 + x + x2 + 2x3 + x4 )g(x) + (2x2 + x).
Y fijándose en la tabla 3.1 se da cuenta que x4 tiene el mismo sı́ndrome
que r(x) por lo que debió de ocurrir un error de transmisión en la cuarta
coordenada. Concluye que esta debe de ser igual a uno.

3.5 Ceros de un código cı́clico


Recordemos la hipótesis M CD(n, q) = 1. Esto quire decir que el polinomio
xn − 1 no tiene factores repetidos, es decir, es separable sobre Fq . Por otro
lado sus raı́ces son las raı́ces n-ésimas de la unidad. Tenemos que
n−1
Y
n
x −1= (x − β i )
i=0

42
con β una raı́z primitiva de la unidad en alguna cerradura algebraica de
Fq . Sea C un código cı́clico de longitud n con polinomio generador g(x) de
grado n−k. Recordemos que g(x)|(xn −1). Supongamos que α1 , α2 , . . . , αn−k
son todas las raı́ces de g(x) en alguna cerradura algebraica de Fq . Al ser β
una raiz primitiva de la unidad, tenemos que para i = 1, . . . , n − k

αi = β j p. a. j ∈ {0, 1, . . . , n − 1}.

Capturamos estas potencias j de β en el conjunto

D(β) := {0 ≤ j ≤ n − 1|g(β j ) = 0}.

Al conjunto D(β) se le llama conjunto completo de definición para C,


tiene cardinalidad n − k y depende del elemento β.
Supongamos ahora que D(β) = {δ1 , δ2 , . . . , δn−k }. Y sea

c ∈ C =< g(x) >,

digamos c = (c0 , c1 , . . . , cn−1 ). Tenemos que


n−1
X
δj 2δj (n−1)δj
c · (1, β , β ,...,β )= ci β iδj = 0
i=0

para j = 1, . . . , n − k. Por lo que la matriz

1 β δ1 β 2δ1 . . . β (n−1)δ1
 
 1 β δ2 β 2δ2 . . . β (n−1)δ2 
 
 . . . . 
H :=  .

 . . . 

 . . . . 
δn−k 2δn−k
1 β β . . . β (n−1)δn−k

es una matriz de verificación para el código C.

3.5.1 Códigos BCH


En [2] y en [6] se propone lo siguiente: si β es una raiz primitiva de la
unidad sobre Fq , entonces el código cı́clico que consiste de los polinomios
c(x) ∈ Fq [x]/(xn − 1) que tienen las (d − 1) raices β l , β l+1 , . . . , β l+d−2 tiene

43
distancia mı́nima ≥ d. Para ver esto escribimos la matriz de verificación H
como en la sección anterior
βl β 2l β (n−1)l
 
1 ...
 1 β l+1 β 2(l+1) . . . β (n−1)(l+1) 
 
 . . . . 
H := 
 
 . . . . 

 . . . . 
l+d−2 2(l+d−2) (n−1)(l+d−2)
1 β β ... β

y consideremos cualquier conjunto de d − 1 columnas de H para formar una


submatriz (d − 1) × (d − 1) H ′ de H. Digamos que β i1 l , β i2 l , . . . , β id−1 l son
los elementos del primer renglón de H ′ . Es decir

β i1 l β i2 l β i3 l β id−1 l
 
...
 β i1 (l+1) β i2 (l+1) β i3 (l+1) . . . β id−1 (l+1) 
 

 . . . . 
H := 
 .
 . . . . 

 . . . . 
i1 (l+d−2) i2 (l+d−2) i3 (l+d−2) id−1 (l+d−2)
β β β ... β

Tenemos que el determinante de H ′ es


Y
det(H ′ ) = β (ii +i2 +···+id−1 )l (β ir − β is ) 6= 0
r>s

pues β es raiz primitiva de la unidad. Esto último quiere decir que cualquier
conjunto de d − 1 columnas de H es linealmente independiente y como

c · HT = 0

para toda c ∈ C, vemos que peso(c) ≥ d.


Un código cı́clico de longitud n sobre Fq se le llama código BCH si
consiste de todos los polinomios en Fq [x]/(xn − 1) que tienen las (d − 1)
raices β l , β l+1 , . . . , β l+d−2 , donce β es una raiz primitiva de la unidad. Tiene
distancia mı́nima ≥ d. Nota que dicho código es generado por el polinomio
mı́nimo común múltiplo de los polinomios de las raices β l , β l+1 , . . . , β l+d−2
en Fq [x]. En el caso l = 1 se dice que C es un código BCH en sentido
estricto.

44
3.6 El idempotente de un código cı́clico
Recordemos la hipótesis que hicimos respecto del polinomio xn − 1: no tiene
factores repetidos. Si g(x) es un divisor de xn − 1 entoces existe h(x) tal que
xn − 1 = g(x)h(x). Como xn − 1 no tiene factores repetidos, los polinomios
g(x) y h(x) no tienen ningún factor en común, por lo que existen polinomios
a(x), b(x) ∈ Fq [x] tales que
a(x)g(x) + b(x)h(x) = 1
de donde
1 − b(x)h(x) = a(x)g(x).
Esto último implica que i(x) := 1 − b(x)h(x) pertenece al código cı́clico C
generado por g(x). Pero eso no es todo: si p(x)g(x) ∈ C tenemos que
i(x)p(x)g(x) = (1 − b(x)h(x))p(x)g(x) = p(x)g(x) − b(x)h(x)p(x)g(x)
≡ p(x)g(x) mod xn − 1.
Entonces i(x) es una identidad para el código C, y por lo tanto es único.
En particular
i2 (x) = i(x) (3.2)
por lo que i(x) se le llama el idempotente de C.
Como cada palabra c(x) ∈ C se puede escribir como c(x)i(x) vemos que
i(x) es un generador para C.
Notemos que, por 3.2, si el término xa aparece en el polinomio i(x),
entonces tambien aparece el término x2a en i(x).

3.7 Ejercicios
1. Describe todos los códigos cı́clicos de longitud 7 sobre F2 .
2. Sea C un código cı́clico de longitud n sobre Fq . Demuestra que la
permutación de coordenadas i 7→ iq mod n es un automorfismo de C.
3. Sea C un código cı́clico de longitud n y distancia mı́nima d > 2 sobre
Fq , supongamos que recibimos la palabra r(x) y que ocurrieron ≤ e =
⌊ d−1
2
⌋ errores de transmisión. Demuestra que si s(x) es el sı́ndrome
de r(x), entonces xi s(x) es el sı́ndrome de xi r(x). (hint: si r(x) =
r0 + r1 x + · · · + rn−1 xn−1 entonces xr(x) = xr(x) − rn−1 (xn − 1)).

45
4. (Cota BCH:) Sea β una raiz n-ésima primitiva de la unidad sobre Fq .
Supón que C es un código cı́clico de longitud n sobre Fq con conjunto
de definición D(β) y que D(β) contiene un subconjunto de d−1 enteros
consecutivos. Demuestra que C tiene distancia mı́nima ≥ d.

5. Sea C el código que se obtiene del código de Reed-Solomon RS(k, q)


al proyectar sobre las columnas correspondientes a los elementos de
F∗q := Fq − {0}. Demuestra que C es un código BCH de longitud q − 1.

6. Construye un código BCH de longitud 8 sobre F3 con distancia mı́nima


≥ 3.

46
Capı́tulo 4

Campos de Funciones
Algebraicos

En este capı́tulo introducimos los conceptos básicos que nos permitirán estu-
diar curvas algebraicas sobre campos finitos y construir códigos correctores de
errores basados en estas. Uno puede buscar en la literatura disponible (bas-
tante amplia) y darse cuenta que en la gran mayorı́a de los textos se hace
referencia a resultados profundos de geometrı́a algebraica. En este capı́tulo
resumiremos los resultados necesarios de la teorı́a de campos de funciones
que nos permitirán definir y estudiar los códigos de Goppa. Seguiremos las
exposiciones de [12], [10], [11], [9], [13], [7] y de [8].

4.1 Lugares y Valoraciones


En general un campo de funciones algebraico F sobre un campo K
es una extensión algebraica finita del campo de funciones racionales K(x).
Es decir, F = K(x, y) donde y es un elemento algebraico sobre K(x). En
otras palabras, existe un polinomio irreducible ϕ con coeficientes en K(x)
(i.e. ϕ ∈ K(x)[T ]) tal que ϕ(y) = 0. A dicho campo de funciones F lo
denotaremos por F/K.
El conjunto de elementos algebraicos sobre K

K := {z ∈ F |z es algebraico sobre K}

es un subcampo de F . Decimos que K es algebraicamente cerrado en F si


K = K. A los elementos de K les llamaremos constantes. Por otro lado

47
z ∈ F es trascendente si y sólo si [F : K(z)] < ∞ pues K(z) es isomorfo a
K(x).
En un campo de funciones F/K no tenemos la noción de elemento ir-
reducible como en el caso de el campo de funciones racionales K(x). Para
contrarrestar esto generalizaremos el concepto de lugar.

Definición 4.1.1. Un anillo de valoración de F/K es un anillo O ⊆ F


tal que

1. K & O & F , y

2. para cualquier z ∈ F , z ∈ O o z −1 ∈ O.

Proposición 4.1.1. Sea O un anillo de valoración de F/K. Entonces

1. O es un anillo local, es decir O tiene un único ideal maximal

P = O\O∗

donde O∗ es el grupo de unidades de O.

2. Para x ∈ F \{0}, x ∈ P sii x−1 6∈ O.

3. K j O y K ∩ P = {0}.

Demostración. (1) En general, un ideal maximal M de un anillo R no


puede contener unidades. Entonces es suficiente demostrar que P es un ideal
del anillo O. Sean x, y ∈ P , z ∈ O. Tenemos que demostrar que zx ∈ P
y que x + y ∈ P . Ahora bien, zx ∈ O, y si zx ∈ O∗ entonces exitirı́a un
elemento t ∈ O tal que zxt = 1 lo cual implicarı́a que x es una unidad. Esto
último es una contradicción pues x ∈ P , por lo que zx ∈ P .
Por otro lado x + y = x(1 + xy ). Sin pérdida de generalidad, podemos
suponer que xy ∈ O. Entonces el elemento x(1 + xy ) ∈ P , y la parte (1) queda
demostrada.
(2) Si x ∈ P entonces x no es una unidad de O, es decir, x−1 6∈ O. Si
x−1 6∈ O entonces x ∈ O y x no es una unidad de O lo cual implica que
x ∈ P.
(3) Sea z ∈ K y supongamos que z 6∈ O. Entonces, por definición de O,
z ∈ O, y por lo tanto K[z −1 ] ⊆ O. Ahora bien, z −1 es algebraico. Tenemos
−1

que existen elementos a1 , ..., ar ∈ K tales que ar (z −1 )r +· · ·+1 = 0. Entonces

48
z −1 (ar (z −1 )r + · · · + a1 ) = −1 y asi z = −(ar (z −1 )r + · · · + a1 ) ∈ K[z −1 ] ∈ O.
Como P no contiene unidades, se sigue que K ∩ P = {0}.¥
Un hecho interesante es el siguiente: sea O un anillo de valoración de
F/K, sea P su ideal maximal y sea x ∈ P , x 6= 0. Construimos la secuencia
x1 = x, xi ∈ xi+1 P , para i = 1, . . . , n, con n un entero positivo. El conjunto
{x1 , . . . , xn } es un conjunto linealmente independiente sobre K(x). Como
x ∈ P , x no es algebraico sobre K, y entonces [F : K(x)] < ∞, por lo que la
longitud de cualquier secuencia ası́ construida estará acotada por [F : K(x)].
Supongamos entonces que existe una combinación lineal no trivial de las xi
tal que
Xn
ϕi xi = 0 (4.1)
i=1

con ϕi ∈ K(x). De entrada, podemos suponer que las ϕi son polinomios en


x con coeficientes en K (si es necesario multiplicamos la ecuación 4.1 por el
mı́nimo común múltiplo de los denominadores de las ϕi ) y que x no divide
a todas las ϕi (si es necesario dividimos la ecuación 4.1 entre xm ). De aquı́
que las ϕi son elementos del anillo O. Sea ai := ϕi (0), el término constante
de ϕi , y sea j ∈ {1, . . . , n} tal que aj 6= 0 pero ai = 0 para toda i > j. De la
ecuación 4.1 obtenemos X
−ϕj xj = ϕi xi . (4.2)
i6=j

Separamos el lado derecho de 4.2 en dos sumandos: ϕi es múltiplo de x


para i > j, i.e. ϕi = xgi , gi ∈ K[x], y dividiendo 4.2 por xj obtenemos
X xi X x
−ϕj = ϕi · + · gi x i .
i<j
x j i>j
x j

Todos los sumandos del lado derecho pertenecen a P : de hecho para i < j
xi ∈ xj P por lo que xxji ∈ P y xxj ∈ P . Entonces ϕj ∈ P . Por otro lado
ϕj = aj + xgj , con gj ∈ K[x] ⊆ O, 0 6= aj ∈ K y x ∈ P por lo que
aj = ϕj − xgj ∈ P ∩ K = {0}, y como aj 6= 0 contradecimos la parte (3) de
la Proposición anterior. Resumimos este resultado en el siguiente Lema.
Lema 4.1.1. Sea O un anillo de valoración de F/K, P su ideal maximal
y 0 6= x ∈ P . Sean x1 , . . . , xn ∈ P tales que x1 = x, xi ∈ xi+1 P para
i = 1, . . . , n − 1. Entonces tenemos que n ≤ [F : K(x)] < ∞.¥
Teorema 4.1.1. Sea O un anillo de valoración de F/K, P su ideal maximal.
Entonces

49
1. P es un ideal principal.
2. si P = tO entonces toda 0 6= z ∈ F tiene una representación única de
la forma z = tn u para alguna n ∈ Z, y u ∈ O∗ .
3. O es un dominio de ideales principales. De manera más precisa, si
P = tO y {0} 6= I ⊆ O es un ideal entonces I = tn O para alguna
n ∈ N.

Demostración: 1) Supongamos que P no es principal. Sea x1 ∈ P , como


P 6= x1 O existe x2 ∈ P − x1 O. Tenemos que, como x−1 1 6∈ O y x2 6∈ x1 O,
x2 x−1
1 ∈
6 O. Entonces x −1
2 x 1 ∈ P . Se sigue que x 1 ∈ x 2 P . Por inducción,
podemos construir una sucesión infinita x1 , x2 , . . . con la propiedad de que
xi ∈ xi+1 P para toda i ≥ 1 contradiciendo el Lema 4.1.1.
2) Sea P = tO. La unicidad de la representación z = tn u con u ∈ O es
inmediata: si z = tn u′ entonces u = u′ .
Sea z ∈ F . Entonces z ∈ O o z −1 ∈ O. Supongamos sin pérdida de
generalidad que z ∈ O. Si z ∈ O∗ entonces z = t0 z. Supongamos que z ∈ P .
Entonces existe un entero maximal m ≥ 1 tal que x ∈ tm O, pues la secuencia
x1 = z, x2 = tm−1 , . . . , xm = t está acotada por el Lema 4.1.1: z ∈ tm−1 P ,
etc. Escribimos z = tm u con u ∈ O. Si u ∈ P entonces u es múltiplo de t y
z = tm+1 h con h ∈ O contradiciendo la maximalidad de m.
3) Sea {0} 6= I ⊂ O un ideal. Sea A := {r ∈ N|tr ∈ I}. Notemos primero
que si 0 6= x ∈ I entonces x = tr u con u ∈ O∗ y tr = xu−1 ∈ I. Por lo que
A no es vacio. Sea n := min(A). Claramente I ⊇ tn O y si x ∈ I entonces
x = ts u con u ∈ O∗ y s ≥ n. Sea s = n + r, entonces x = tn ts−r u ∈ tn O. ¥
Definición 4.1.2. Un anillo O de un campo de funciones F/K con las
propiedades del Teorema anterior se le llama anillo de valoración disc-
reta.
Definición 4.1.3. 1. Un lugar de un campo de funciones F/K es el ideal
maximal de un anillo de valoración O de F/K. Todo elemento t ∈ P tal
que P = tO es llamado, dependiendo del contexto, elemento primo,
parámetro local o variable de uniformización.
2. PF := {P |P es un lugar de F/K}.
Un lugar P determina a O de manera única:
O = {z ∈ F |z −1 6∈ P }.

50
Diremos entonces que OP := O es el anillo de valoración del lugar P .
Otra descripción de los lugares de un campo de funciones se puede obtener
en términos de valoraciones discretas:
Definición 4.1.4. Una valoración discreta de F/K es una función
v : F → Z ∪ {∞}
con las siguientes propiedades:
1. v(x) = ∞ si y solo si x = 0.
2. v(xy) = v(x) + v(y) para toda x, y ∈ F .
3. v(x + y) ≥ min{v(x), v(y)}.
4. Existe un elemento z ∈ F tal que v(z) = 1.
5. v(a) = 0 para toda a ∈ K.
En este contexto ∞ + ∞ = ∞ + n = n + ∞ = ∞ y ∞ > m para toda
n, m ∈ Z.
La función v es sobre: dada m ∈ Z buscamos una z ∈ F con v(z) = 1 y
entonces v(z m ) = m. La propiedad 3 es conocida en este contexto como la
desigualdad del triángulo.
Lema 4.1.2 (Desigualdad del triángulo estricta). Sea v una valoración dis-
creta de F/K, y x, y ∈ F con v(x) 6= v(y). Entonces v(x+y) = min{v(x), v(y)}.

Demostración: Podemos suponer que v(x) < v(y). Supongamos que


v(x + y) 6= min{v(x), v(y)}, en particular v(x + y) > v(x) = v((x + y) − y) ≥
min{v(x + y), v(y)} > v(x) (pues v(−y) = v(−1) + v(y) = 0 + v(y)), una
contradicción. ¥
A cada lugar P ∈ PF asociamos una valoración discreta
vP : F → Z ∪ {∞}
de F/K: sea t un parámetro local de P . Entonces toda función 0 6= z ∈ F
tiene una representación única de la forma z = tn u con u ∈ OP∗ y n ∈ Z.
Definimos vP (z) := n y vP (0) := ∞.
Esta definición depende de P y no del parámetro local t: si P := sO
entonces t = sw para alguna w ∈ OP∗ . Entonces tn u = sn wn u = sn (wn u) con
wn u ∈ OP∗ .

51
Teorema 4.1.2. Sea F/K un campo de funciones.
1. para P ∈ PF , la función vP definida arriba es una valoración discreta
de F/K. Ademas, tenemos que

OP = {z ∈ F |vP (z) ≥ 0},

OP∗ = {z ∈ F |vP (z) = 0},


P = {z ∈ F |vP (z) > 0}.
Un elemento x ∈ F es elemento primo de P si y solo si vP (x) = 1.

2. Recı́procamente, supongamos que v es una valoración discreta de F/K.


Entonces el conjunto P := {z ∈ F |vP (z) > 0} es un lugar de F/K, y
OP = {z ∈ F |vP (z) ≥ 0} es el anillo de valoración correspondiente.

3. Todo anillo de valoración O de F/K es un subanillo maximal de F .

Demostración: 1) Obviamente vP (x) = ∞ si y solo si x = 0. Sean t


un parámetro local para P y x, y ∈ F , entonces vP (xy) = vP (tn utm w) =
vP (tn+m (uw)) = n + m = vP (x) + vP (y) con u, w ∈ O∗ . Tambien vP (t) = 1.
Si a ∈ K entonces vP (a) = 0. Ahora bien, vP (x + y) = vP (tn u + tm w).
Supongamos que n ≤ m < ∞, entonces vP (tn u+tm w) = vP (tn (u+tm−n w)) =
vP (tn z) con z ∈ OP . Si z = 0 entonces vP (tn z) = ∞ > n, de otra manera
tendrı́amos que z = tk u1 de donde vP (tn z) = n+k ≥ n = min{vP (x), vP (y)}.
2) El ideal P es el único ideal maximal de el anillo de valoración OP .
3) Sean O un anillo de valoración de F/K, P su ideal maximal, vP la
valoración asociada a P y z ∈ F \O. Demostraremos que F = O[z]. Sea
y ∈ F una función arbitraria; entonces vP (yz −k ) ≥ 0 para un entero k ≥ 0
suficientemente grande (notemos que vP (z −1 ) ≥ 0 ya que z 6∈ O). Se sigue
que w := yz −k ∈ O y y = wz k ∈ O[z]. ¥
Sea P un lugar de F/K y OP su anillo de valoración. Como P es un
ideal maximal, el anillo cociente OP /P es un campo. Llamaremos el campo
residual de P al campo
FP := OP /P.
S
Al mapeo x 7→ x(P ) de F en FP {∞} le llamaremos el mapeo de clases
residuo con respecto a P . Tambien usaremos la notación x + P := x(P )
para x ∈ OP . Extendemos el mapeo a todo F : dada x ∈ F \OP definimos
x(P ) := ∞.

52
En particular, por la Proposición 4.1.1 el campo de constantes K queda
inmerso en el campo residual FP . Esto último es importante, pues en caso
de existir un lugar P de grado 1 tendrı́amos que K = K.
El grado de un lugar P se define como

grado(P ) := [FP : K].

Proposición 4.1.2. Si P es un lugar de F/K y 0 6= x ∈ P entonces

grado(P ) ≤ [F : K(x)] < ∞.

Demostración. Ya demostramos que [F : K(x)] < ∞. Entonces es su-


ficiente demostrar que cualesquiera elementos z1 , . . . , zn ∈ OP , cuyas clases
residuo z1 (P ), . . . , zn (P ) ∈ FP sean linealmenten independientes sobre K,
son linealmenten independientes sobre K(x). Supongamos pues que existe
una combinación lineal no trivial de la forma
n
X
ϕi zi = 0 (4.3)
i=1

con ϕi ∈ K(x). Sin pérdida de generalidad, podemos suponer que las ϕi


son polinomios en x y que x no divide a todas las ϕi , i.e. ϕi = ai + xgi
con ai ∈ K, gi ∈ K[x], y no todas las ai = 0. Como x ∈ P y gi ∈ OP ,
ϕi (P ) = ai (P ) = ai . Calculando 4.3 modulo P obtenemos
n
X n
X
0 = 0(P ) = ϕi (P )zi (P ) = ai zi (P ).
i=1 i=1

Esto contradice la independencia lineal de las z1 (P ), . . . , zn (P ) sobre K.¥


Sea z ∈ F y P ∈ PF . Diremos que P es un cero de z si y solo si vP (z) > 0;
que P es un polo de z si y solo si vP (z) < 0. Si vP (z) = m > 0, diremos que
P es un cero de orden m de z y si vP (z) = −m < 0 entonces diremos que
P es un polo de z de orden m.
Teorema 4.1.3 (Existencia de lugares). Sea F/K un campo de funciones y
R un subanillo de F tal que K ⊆ R ⊆ F . Supongamos que {0} 6= I $ R
es un ideal propio de R. Entonces existe un lugar P ∈ PF tal que I ⊆ P y
R ⊆ OP .

53
Demostración. Consideremos el siguiente conjunto
F := {S|S es subanillo de F con R ⊆ S and IS 6= S}.
P
(Por definición, IS es el conjunto de sumas finitas de la forma aν sν con
aν ∈ I, sν ∈ S ; IS es un ideal de S.) F es no vacio pues R ∈ F, y F
esta ordenado de manera inductiva por inclusion. De hecho, S si H ⊆ F es un
subconjunto totalmente ordenado de F entonces T := {S|S ∈ H} es un
subanillo de F con R ⊆ T . TenemosPn que verificar que IT 6= T . Supongamos
que no es cierto, entonces 1 = ν=1 aν sν con aν ∈ I, sν ∈ T . Como H es
un conjunto totalmente
Pn ordenado existe S0 ∈ H tal que s1 , . . . , sn ∈ S0 , y
entonces 1 = ν=1 aν , lo cual es una contradicción.
Por el Lema de Zorn F contiene un elemento maximal i.e. existe un anillo
O ⊆ F tal que R ⊆ O ⊆ F , IO 6= O, y O es maximal con respecto a esas
propiedades. Queremos demostrar que O es anillo de valoración de F/K.
Como I 6= {0} e IO 6= O tenemos que O & F and I ⊆ O\O∗ . Supongase
que existe un elemento z ∈ F con z 6∈ O y z −1 6∈ O. Entonces IO[z] = O[z]
e IO[z −1 ] = O[z −1 ], y podemos encontrar a0 , . . . , an , b0 , . . . , bm ∈ IO con
1 = a0 + a1 z + · · · + an z n and (4.4)
1 = b0 + b1 z −1 + · · · + an z −m . (4.5)
Claramente n ≥ 1 y m ≥ 1. Podemos suponer que m, n en 4.4 y 4.5 se
escogen minimales y m ≤ n. Multiplicando 4.4 por 1 − b0 y 4.5 por an z n
obtenemos
1 − b0 = (1 − b0 )a0 + (1 − b0 )a1 z + · · · + (1 − b0 )an z n , y
0 = (b0 − 1)an z n + b1 an z n−1 + · · · + bm z −m .
Sumando estas ecuaciones obtenemos que 1 = c0 + c1 z + · · · + cn−1 z n−1
con coeficientes ci ∈ IO. Esto es una contradicción a la minimalidad de n
en 4.4 . Hemos probado que z ∈ O o z −1 ∈ O para toda z ∈ F , por lo tanto
O es anillo de valoración de F/K. ¥
Corolario 4.1.1. Sea F/K un campo de funciones, z ∈ F trascendente sobre
K. Entonces z tiene al menos un cero y un polo. En particular PF 6= ∅.
Demostración. Consideremos el anillo R = K[z] y el ideal I = zK[z]. El
Teorema anterior asegura la existencia de un lugar P ∈ PF con z ∈ P , por
lo tanto P es un cero de z. El mismo argumento demuestra que z −1 tiene un
cero Q ∈ PF . Entonces Q es un polo de z. ¥

54
4.2 El teorema de aproximación débil
Teorema 4.2.1 (Teorema de aproximación débil). Sean F/K un campo de
funciones, P1 , . . . , Pn ∈ PF lugares de F/K distintos dos a dos, x1 , . . . , xn ∈
F y r1 , . . . , rn ∈ Z. Entonces existe una función x ∈ F tal que

vPi (x − xi ) = ri for i = 1, . . . , n.

Demostración. Sea vi := vPi . La demostración se divide en tres pasos:


Paso 1. Existe u ∈ F con v1 (u) > 0 y vi (u) < 0 para i = 2, . . . , n.
La demostración del paso 1 es por inducción sobre n. Para n = 2 observa-
mos que OP1 * OP2 y vice versa pues los anillos de valoración son subanillos
maximales propios de F , cf. Teorema 4.1.2. Por lo tanto podemos encontrar
y1 ∈ OP1 \OP2 y y2 ∈ OP2 \OP1 . Entonces v1 (y1 ) ≥ 0, v2 (y1 ) < 0, v2 (y2 ) ≥ 0.
La función u := y1 /y2 es tal que v1 (u) ≥ 0 and v2 (u) < 0 como querı́amos.
Para n > 2 tenemos, por hipótesis de inducción, un elemento y ∈ F
con v1 (y) > 0, v2 (y) < 0, . . . , vn−1 (y) < 0. Si por el contrario sucede que
vn (y) ≥ 0 escogemos z con v1 (z) > 0 y vn (z) ≥ 0 y hacemos u := y +z r . Aquı́
r ≥ 1 se escoge de tal manera que rvi (z) 6= vi (y) para i = 1, . . . , n − 1. Se
sigue que v1 (u) ≥ min{v1 (y), r · v1 (z)} > 0 y vi (u) ≥ min{vi (y), r · vi (z)} < 0
para i = 2, . . . , n. Esto demuestra el paso 1.
Paso 2. Existe una función w ∈ F tal que v1 (w − 1) > r1 y vi (w) > ri
para i = 2, . . . , n.
Para demostrar el paso 2, escogemos u ∈ F como en el paso 1 y hacemos
w := (1 + us )−1 . Tenemos que, para una s ∈ N suficientemente grande,
v1 (w − 1) = v1 (−us (1 + us )−1 ) = sv1 (u) > r1 y vi (w) = −vi (1 + us ) =
−s · vi (u) > ri para i = 2, . . . , n.
Paso 3. Dadas y1 , . . . , yn ∈ F existe un elemento z ∈ F con vi (z−yi ) > ri
para i = 1, . . . , n. Escogiendo s ∈ Z tal que vi (yj ) ≥ s para todas i, j ∈
{1, . . . , n}. Por el paso 2 (aplicado n veces) existen w1 , . . . , wn ∈ F con

vi (wi − 1)) > ri − s and vi (wj ) > ri − s for j 6= i.

Entonces la función z := nj=1 yj wj es la buscada.


P
Procederemos a demostrar el Teorema. Por el Paso 3 podemos encontrar
z ∈ F con vi (z−xi ) > ri , i = 1, . . . , n. Escogemos funciones zi con vi (zi ) = ri .

55
De nuevo por el Paso 3 existe z ′ ∈ F con vi (z ′ − zi ) > ri para i = 1, . . . , n.
Se sigue que

vi (z ′ ) = vi ((z ′ − zi ) + zi ) = min{vi (z ′ − zi ), vi (zi )} = ri .

Sea x := z + z ′ . Entonces

vi (x − xi ) = vi ((z − xi ) + z ′ ) = min{vi (z − xi ), vi (z ′ )} = ri .¥

Una consecuencia inmediata del Teorema anterior es el siguiente


Corolario 4.2.1. Todo campo de funciones F/K tiene un número infinito
de lugares.
Demostración. Supongamos que F/K tiene un número infinito de lugares,
digamos P1 , . . . , Pn . Por el Teorema 4.2.1 podemos encontrar una función
x ∈ F con vPi (x) > 0, para i = 1, . . . , n. Entonces x es trascendente sobre K
pues tiene ceros, pero x no tendrı́a polos, contradiciendo el Corolario 4.1.1.¥
Este último corolario es de suma importancia. De hecho demostraremos
más adelante que todo elemento trascendente de F tiene tantos ceros como
polos y un número finito de ellos. Un paso importante hacia este resultado
es la siguiente
Proposición 4.2.1. Sea F/K un campo de funciones, P1 , . . . , Pn ∈ PF ceros
de x ∈ F . Entonces
r
X
vPi (x) · grado(Pi ) ≤ [F : K(x)].
i=1

Demostración. Definimos vi := vPi , fi := grado(Pi ) y ei = vi (x). Para


toda i existe un elemento ti (por ejemplo ti parámetro local de Pi ) con

vi (ti ) = 1 and vk (ti ) = 0 for k 6= i.

Escogemos funciones si1 , . . . , sifi ∈ OPi tales que los residuos

si1 (Pi ), . . . , sifi (Pi )

sean una base para FPi sobre K. Por el teorema de aproximación débil existen
funciones zij ∈ F tales que lo siguiente se cumple para toda i, j:

vi (sij − zij ) > 0 and vk (zij ) ≥ ek for k 6= i. (4.6)

56
Afirmamos que los elementos

tai · zij , 1 ≤ i ≤ r, 1 ≤ j ≤ fi , 1 ≤ a ≤ ei
Pr
Pr son linealmente independientes sobre K(x). En número son i=1 fi ei =
v
i=1 Pi · grado(P i ), entonces la proposición se seguirá directamente.
El argumento es standar: Supongamos que existe una combinación lineal
no trivial de la forma
r X fi ei −1
X X
ϕija zij = 0 (4.7)
i=1 j=1 a=0

sobre K(x). Sin pérdida de generalidad podemos suponer que ϕija ∈ K[x] y
no todas las ϕija son divisibles por x. entonces existen ı́ndices k ∈ {1, . . . , r}
y c ∈ {1, . . . , ek − 1} tales que

x|ϕkja para toda a < c y toda j ∈ {1, . . . , fk },

y x ∤ ϕkjc para alguna j ∈ {1, . . . , fk }. (4.8)


Multiplicando 4.7 por t−c
k obtenemos

fi ei −1
r X
X X
ϕija tai t−c
k zij = 0. (4.9)
i=1 j=1 a=0

Para i 6= k, todos los sumandos de 4.9 pertenecen a Pk ya que

vk (ϕija tai t−c


k zij ) = vk (ϕija ) + avk (ti ) − cvk (tk ) + vk (zij )

≥ 0 + 0 − c + ek > 0.
Para i = k y a < c tenemos que

vk (ϕkja ta−c
k zkj ) ≥ ek + a − c ≥ ek − c > 0.

(Notemos que x|ϕkja y por lo tanto vk (ϕkja ) ≥ ek ). Para i = k y a > c,


vk (ϕkja ta−c
k zkj ) ≥ a − c > 0.
Combinando lo anterior con 4.9 obtenemos que
fk
X
ϕkjc zkj ∈ Pk . (4.10)
j=1

57
Observemos que ϕkjc (Pk ) ∈ K, y no todas las ϕkjc (Pk ) = 0 (por 4.8),
entonces 4.10 nos da la combinación lineal no trivial
fk
X
ϕkjc (Pk ) · zkj (Pk ) = 0
j=1

sobre K. Esto es una contradiction, pues los elementos zk1 (Pk ), . . . , zkfk (Pk )
son una base de FPk /K. ¥
Corolario 4.2.2. En un campo de funciones F/K, todo elemento 0 6= x ∈ F
tiene un número finito de ceros y de polos.
Demostración. Si x es una constante, entonces x no tiene ni ceros ni
polos. Si x es trascendente sobre K, el número de ceros está acotado por
[F : K(x)] por la Proposición 4.2.1. El mismo argumento muestra que x−1
tiene solo un número finito de ceros, cada uno de ellos siendo un polo de x.
¥

4.3 Divisores
Como el campo K de constantes de una extensión algebraica F/K es una
extensión finita de K, y F se puede ver como un campo de funciones sobre
K, entonces podemos suponer que F/K es un campo de funciones tal que K
es el campo de constantes.
Definición 4.3.1. Denotaremos por DF , al grupo abeliano libre generado
por los lugares de F/K. Le llamaremos el grupo de divisores de F/K.
Llamaremos a los elementos de DF divisores de F/K. En otras palabras
un divisor D es una suma formal de lugares
X
D= nP P con nP ∈ Z, y casi todas las nP = 0.
P ∈PF

El soporte de un divisor D ∈ DF se define como


supp(D) := {P ∈ PF |nP 6= 0}.
A veces es conveniente escribir
X
D= nP P ,
P ∈S

58
donde S ⊆ PF es un conjunto finito y S ⊇ supp(D).
Un divisor
P de la forma

P= ′P con P ∈ PF se le llama divisor primo .
D
Dados D = nP P y D = nP P se suman coeficiente a coeficiente:
X
D + D′ = (nP + n′P )P .
P ∈PF

El elemento cero del grupo DF es el divisor


X
0 := nP P con todas las nP = 0.
P ∈PF

Para Q ∈ PF y D ∈ DF definimos vQ (D) = nQ , entonces


X
supp(D) = {P ∈ PF |vP (D) 6= 0} y D = vP (D) · P .

Definimos un orden parcial en DF de la siguiente manera:

D1 ≤ D2 :⇐⇒ vP (D1 ) ≤ vP (D2 ) para todo P ∈ PF .

Un divisor tal que D ≥ 0 se dice positivo o efectivo . El grado de un


divisor se define como
X
grado(D) := vP (D) · grado(P )
P ∈PF

y define un homomorfismo grado : DF −→ Z.


Como toda función 0 6= x ∈ F tiene un número finito de ceros y de polos
la siguiente definición tiene sentido.

Definición 4.3.2. Sea 0 6= x ∈ F y sean Z el conjunto de ceros y N el


conjunto de polos de x en PF . Definimos
X
(x)0 := vP (x)P , el divisor de ceros de x,
P ∈Z
X
(x)∞ := − vP (x)P , el divisor de polos de x,
P ∈N

(x) := (x)0 − (x)∞ , el divisor principal de x.

59
Claramente (x)0 y (x)∞ son divisores positivos. Y
X
(x) = vP (x)P . (4.11)
P ∈PF

Por lo tanto los elementos constantes distintos de cero en F se caracterizan


como
x ∈ K ⇐⇒ (x) = 0.
El conjunto
PF := {(x)|0 6= x ∈ F }
es llamado el grupo de divisores principales de F/K. Es un subgrupo
de DF pues si 0 6= x, y ∈ F , entonces (xy) = (x) + (y). El grupo cociente

CF := DF /PF

le llamaremos el grupo de clases de divisores. Para D ∈ DF , el elemento


correspondiente en CF se denota por [D], la clase de D. Dos divisores D,
D′ ∈ DF se dicen equivalentes (D ∼ D′ ) si [D] = [D′ ], esto es, D = D′ + (x)
para alguna x ∈ F \{0}. Esta es una relación de equivalencia.
Los divisores principales serán el reemplazo que buscábamos para la des-
composición en irreducibles de K(x).
Definición 4.3.3. Dado un divisor A ∈ DF definimos

L(A) := {x ∈ F |(x) + A ≥ 0} ∪ {0}.

Podemos interpretar la definición anterior como sigue: si escribimos


r
X s
X
A= ni Pi − mj Qj
i=1 j=1

con ni > 0 y mj > 0 entonces x ∈ L(A) si y solo si


1. x tiene ceros de orden ≥ mj en los Qj , para j = 1, . . . , s y
2. x solo puede tener polos en P1 , . . . , Pr , con orden polar Pi no mayor
que las ni , for i = 1, . . . , r.
Se sigue que x ∈ L(A) si y solo si vP (x) ≥ −vP (A) para todo P ∈ PF .
Tambien tenemos que L(A) 6= 0 si y solo si existe un divisor A′ ∼ A con
A′ ≥ 0.

60
Lema 4.3.1. Sea A ∈ DF . Tenemos que
1. L(A) es espacio vectorial sobre K.
2. Si A′ es un divisor equivalente a A entonces L(A) ≃ L(A′ ) como espa-
cios vectoriales sobre K.

Demostración. (1) Sea x, y ∈ L(A) y a ∈ K. Entonces


vP (x + y) ≥ min{vP (x), vP (y)} ≥ −vP (A)
y vP (ax) = vP (x) ≥ −vP (A) para todo P ∈ PF por lo tanto x + y y ax son
elementos de L(A).
(2) Por hipótesis A = A′ + (z) con 0 6= z ∈ F . Consideremos el mapeo
½
L(A) → F
ϕ:
x 7→ xz
Es un mapeo K-lineal cuya imagen esta contenida en L(A′ ). De manera
similar el mapeo
L(A′ ) → F
½

ϕ :
x 7→ xz −1
es K-lineal de L(A′ ) a L(A). Y uno es el inverso del otro. Por lo tanto ϕ es
un isomorfismo entre L(A) y L(A′ ). ¥
Lema 4.3.2. 1. L(0) = K.
2. Si A < 0 entonces L(A) = 0.
Demostración. (1) Tenemos que (x) = 0 para 0 6= x ∈ K, entonces
K ⊆ L(0). Si 0 6= x ∈ L(0) entonces (x) ≥ 0 esto quiere decir que x no tiene
polos y por lo tanto x ∈ K.
(2) Supongamos que existe 0 6= x ∈ L(A). Entonces (x) ≥ −A > 0, lo
que implica que x tiene al menos un cero pero no tiene polos, lo cual es una
contradicción. ¥
El paso siguiente es demostrar que para todo A ∈ DF , L(A) tiene di-
mensión finita sobre K.
Lema 4.3.3. Sean A, B ∈ DF tales que A ≤ B. Entonces L(A) ⊆ L(B) y
dim(L(B)/L(A)) = grado(B) − grado(A).

61
Demostración. Sea x ∈ L(A) entonces, para todo P ∈ PF ,

vP (x) ≥ −A ≥ −B

por lo tanto x ∈ L(B). Para demostrar la otra afirmación supongamos


primero que B = A + P para algún P ∈ PF , i.e., los divisores A y B solo
difieren en el lugar P por uno. (El caso general se sigue por inducción). Por
el Teorema de aproximación, podemos escoger un elemento t ∈ F tal que

vP (t) = vP (B) = vP (A) + 1.

Para x ∈ L(B) tenemos que vP (x) ≥ −vP (B) = −vP (t), y entonces xt ∈ OP .
De esta manera obtenemos el mapeo K-lineal
½
L(B) → FP ,
ψ:
x 7→ (xt)(P ).

x pertenece al kernel de ψ si y solo si vP (xt) > 0, i.e. vP (x) > −vP (A). Se
sigue que Ker(ψ) = L(A), y que ψ induce un mapeo K-lineal inyectivo de
L(B)/L(A) a FP . Entonces

dim(L(B)/L(A)) ≤ dim(FP ) = grado(B) − grado(A).¥

Proposición 4.3.1. Para todo divisor A ∈ DF , el espacio L(A) tiene di-


mensión finita sobre K. Esto es, si A = A+ − A− con divisores positivos A+
y A− , entonces
dim(L(A)) ≤ grado(A+ ) + 1.

Demostración. Como L(A) j L(A+ ), es suficiente demostrar que dim(L(A+ )) ≤


grado(A+ ) + 1. Ahora bien A+ ≥ 0, entonces el Lema 4.3.3 dice que

dim(L(A+ )/L(0)) ≤ grado(A+ ).

Como L(0) = K por el Lema 4.3.2,

dim(L(A+ )) = dim(L(A+ )/L(0)) + 1.¥

Definición 4.3.4. Dado A ∈ DF , al entero dim(A) := dim(L(A)) le lla-


maremos la dimensión de el divisor A.

62
Teorema 4.3.1. Todo divisor principal tiene grado cero. Sea x ∈ F \K
y denotemos por (x)0 y (x)∞ el divisor de ceros y el divisor de polos de x
respectivamente. Entonces

grado((x)0 ) = grado((x)∞ ) = [F : K(x)].

Demostración. Sean n = [F : K(x)] y


r
X
B := (x)∞ = −vPi (x)Pi ,
i=1

donde P1 , . . . , Pr son los polos de x. Entonces


r
X
grado(B) = vPi (x−1 )Pi ≤ [F : K(x)] = n
i=1

por la Proposición 4.2.1. Por otro lado, podemos elegir una base u1 , . . . , un de
F/K(x) y un divisor C ≥ 0 teles que (ui ) ≥ −C para i = 1, . . . , n. Entonces

dim(lB + C) ≥ n(l + 1) para toda l ≥ 0, (4.12)

pues xi uj ∈ L(lB + C) para 0 ≤ i ≤ l, 1 ≤ j ≤ n. Estos elementos


son linealmente independientes sobre K ya que u1 , . . . , un son linealmente
independientes sobre K(x). Sea c := grado(C) se sigue que n(l + 1) ≤
dim(lB + C) ≤ l · grado(B) + c + 1 por la Proposición 4.3.1. Entonces para
toda l ∈ N
l(grado(B) − n) ≥ n − c − 1 (4.13)
El lado derecho de 4.13 es independiente de l, de ahı́ que la desigualdad 4.13
solo es posible si grado(B) ≥ n. Por lo tanto

grado(x)∞ = [F : K(x)].

Como (x)0 = (x−1 )∞ entonces

grado(x)0 = grado(x−1 )∞ = [F : K(x−1 )] = [F : K(x)].¥

Corolario 4.3.1. (a) Sean A, A′ ∈ DF dos divisores equivalentes. En-


tonces dim(A) = dim(A′ ) y grado(A) = grado(A′ ).

63
(b) Si grado(A) < 0 entonces dim(A) = 0

(c) Sea A un divisor de grado cero. Las siguientes afirmaciones son equi-
valentes

(1) A es principal.
(2) dim(A) ≥ 1.
(3) dim(A) = 1

Demostración. (a) y (b) se siguen de los Lemas 4.3.1 y 4.3.2 respectiva-


mente.
(c) (1) implica (2): Si A = (x) entonces x−1 ∈ L(A), se sigue que
dim(A) ≥ 1.
(2) implica (3): Si dim(A) ≥ 1 y grado(A) = 0 entonces A ∼ A′ para
algún divisor A′ ≥ 0, entonces, como grado(A′ ) = 0 y A′ ≥ 0 tenemos que
A′ = 0, y ası́ dim(A) = dim(A′ ) = dim(0) = 1.
(3) implica (1): Supongamos que dim(A) = 1 y que grado(A) = 0. Sea
0 6= z ∈ L(A), entonces (z) + A ≥ 0. Como grado((z) + A) = 0 se sigue que
(z) + A = 0, por lo tanto A = −(z) = (z −1 ) es un divisor principal.¥

Proposición 4.3.2. Existe una constante γ ∈ Z tal que, para todo divisor
A ∈ DF , se tiene que

grado(A) − dim(A) ≤ γ.

El énfasis en esta Proposición es que la constante γ no depende de A;


solo depende de el campo de funciones F/K.
Demostración. Por el Lema 4.3.3

A1 ≤ A2 ⇒ grado(A1 ) − dim(A1 ) ≤ grado(A2 ) − dim(A2 ). (4.14)

Fijamos un elemento x ∈ F y consideremos especı́ficamente el divisor


B := (x)∞ . Como en la demostración del Teorema 4.3.1, existe un divisor
C ≥ 0 (que depende de x) tal que

dim(lB + C) ≥ (l + 1)grado(B)

64
para toda l ≥ 0 (ver ecuación 4.12). Por otro lado,

dim(lB + C) ≤ dim(lB) + grado(C)

por el Lema 4.3.3. Combinando estas desigualdades obtenemos que

dim(lB) ≥ (l + 1)grado(B) − grado(C)

= grado(lB) + ([F : K(x)] − grado(C)).


Por lo tanto
grado(lB) − dim(lB) ≤ γ para toda l ≥ 0 (4.15)
con γ ∈ Z. Queremos demostrar que 4.15 se satisface aún cuando sustituimos
lB por cualquier divisor A ∈ DF (con la misma γ).
Afirmación. Dado un divisor A, existen divisores A1 , D y un entero l ≥ 0
tal que A ≤ A1 , A1 D y D ≤ lB.
Usando esta afirmación, demostramos la Proposición 4.3.2 de la siguiente
manera:
grado(A) − dim(A) ≤ grado(A1 ) − dim(A1 ) por 4.14
= grado(D) − dim(D) por el Corolario 4.3.1
≤ grado(lB) − dim(lB) por 4.14
≤ γ por 4.15.

Demostración de la afirmación. Sea A1 ≥ A tal que A1 ≥ 0. Entonces

dim(lB − A1 ) ≥ dim(lB) − grado(A1 ) por el Lema 4.3.3


≥ grado(lB) − γ − grado(A1 ) por 4.15
> 0

para una l suficientemente grande. Entonces existe un elemento 0 6= z ∈


L(lB − A1 ). Haciendo D := A1 − (z) obtenemos A1 es equivalente a D y
D ≤ A1 − (A1 − lB) = lB como queriamos.¥

Definición 4.3.5. El género g of F/K está definido como

g := max{grado(A) − dim(A) + 1|A ∈ DF }.

65
Notemos que si A = 0 entonces
grado(0) − dim(0) + 1 = 0 − 1 + 1 = 0
por lo tanto g ≥ 0.
Teorema 4.3.2 (Teorema de Riemann). Sea F/K un campo de funciones
de género g.
(a) Para todo divisor A ∈ DF ,
dim(A) ≥ grado(A) + 1 − g.

(b) Existe un entero c, que depende de F/K, tal que


dim(A) = grado(A) + 1 − g
si gradoA ≥ c.

Demostración. (a) se sigue de la definición del género.


(b) Sea A0 ∈ DF tal que g = grado(A0 ) − dim(A0 ) + 1 y sea c :=
grado(A0 ) + g. Si grado(A) ≥ c entonces
dim(A − A0 ) ≥ grado(A − A0 ) + 1 − g ≥ c − grado(A0 ) + 1 − g ≥ 1.
Entonce existe un elemento 0 6= z ∈ L(A − A0 ). Consideremos el divisor

A := A + (z) ≥ A0 . Tenemos que
grado(A) − dim(A) = grado(A′ ) − dim(A′ ) por el Corolario 4.3.1
≥ grado(A0 ) − dim(A0 ) por el Lema 4.3.3
= g − 1.
Entonces dim(A) ≤ grado(A) + 1 − g.¥
Calcular el género de un campo de funciones no es trivial. Pero podemos
demostrar que el campo de funciones racionales K(x) tiene género cero: sea
P∞ el divisor de polos de x. Consideremos, para r ≥ 0 el espacio vecto-
rial L(rP∞ ). Tenemos que las funciones 1, x, . . . , xr pertenecen a L(rP∞ )
entonces
r + 1 ≤ dim(P∞ ) = grado(P∞ ) + 1 − g = r + 1 − g
para r suficientemente grande. Entonces g ≤ 0. Pero g ≥ 0 para todo campo
de funciones, entonces g = 0 para K(x).

66
4.4 El Teorema de Riemann-Roch
En esta sección F/K denota un campo de funciones algebraico de género g.

Definición 4.4.1. Para A ∈ DF definimos el ı́ndice de especialidad de


A como el entero

i(A) := dim(A) − grado(A) + g − 1.

Por el Teorema de Riemann, i(A) es un entero no negativo, y i(A) = 0 si


grado(A) es suficientemente grande.
En esta sección interpretaremos el entero i(A) como la dimensión of cier-
tos espacios vectoriales. El concepto de adele será fundamental para este
propósito.

Definición 4.4.2. Un adele de F/K es un mapeo


½
PF → F,
α:
P 7→ αP ,

Q ∈ PF . Considera-
tal que αP ∈ OP excepto en un número finito de lugaresP
remos a los adeles como elementos del producto directo P ∈PF F . Usaremos
la notación α = (αP ).

La suma de adeles (coordenada a coordenada) es cerrada, y la multipli-


cación de un adele por un elemento de K es un adele. Ası́ que al conjunto

AF := {α|α es un adele de F/K}

le llamaremos el espacio de adeles de F/K.


El adele principal de un elemento x ∈ F es el adele cuyas componentes
son todas iguales a x. Esta última definición tiene sentido pues toda x ∈ F
tiene un número finito de ceros y polos. De esta manera obtenemos una
inmersión natural de F en AF , que llamaremos la inmersión diagonal.
Las valoraciones vP de F/K se extienden de manera natural a AF como

vP (α) := vP (αP ),

aquı́ αP es la P -componente de el adele α. Entonces, por definición de α,


vP (α) ≥ 0 excepto en un número finito de lugares.

67
Definición 4.4.3. Dado A ∈ DF definimos

AF (A) := {α ∈ AF |vP (α) ≥ −vP (A) para todo P ∈ PF }

Este es un K-subespacio vectorial de AF . Conforme A recorre el conjunto


ordenado DF los AF (A) forman una familia creciente de subespacios de AF
cuya union es AF .

Lema 4.4.1. Sean A1 , A2 ∈ DF con A1 ≤ A2 . Entonces AF (A1 ) ⊆ AF (A2 )


y
dim(AF (A2 )/AF (A1 )) = grado(A2 ) − grado(A1 ). (4.16)

Demostración: Para demostrar 4.16 hacemos inducción en

grado(A2 ) − grado(A1 ).

Si grado(A2 ) − grado(A1 ) = 0 entonces A2 = A1 y

dim(AF (A2 )/AF (A1 )) = 0.

Es suficiente entonces con demostrar 4.16 en el caso A2 = A1 +P con P ∈ PF .


Sea t ∈ F tal que vP (t) = vP (A1 ) + 1 y consideremos el mapeo lineal sobre
K ϕ :−→ FP dado por ϕ(α) := (tαP )(P ). ϕ es sobre y ker(ϕ) = AF (A1 ).
Se sigue que

grado(A2 ) − grado(A1 ) = grado(P ) = dim(AF (A2 )/AF (A1 )).¥

La sucesión
0 → L(A2 )/L(A1 ) → AF (A2 )/AF (A1 )
(4.17)
→ (AF (A2 ) + F )/(AF (A1 ) + F ) → 0

es exacta por lo que

dim((AF ( A2 ) + F )/(AF (A1 ) + F ))


= dim(AF (A2 )/AF (A1 )) − dim(L(A2 )/L(A1 ))
= (grado(A2 ) − grado(A1 )) − (dim(A2 ) − dim(A1 )).

68
Ahora supongamos que B ∈ DF es tal que dim(B) = grado(B) + 1 − g.
Si B1 ≥ B entonces

dim(B1 ) ≤ grado(B1 ) + dim(B) − grado(B) = grado(B1 ) + 1 − g.

por el Lema 4.3.3. El Teorema 4.3.2 dice que

dim(B1 ) ≥ grado(B1 ) + 1 − g

por lo que

dim(B1 ) = grado(B1 ) + 1 − g para todo B1 ≥ B. (4.18)

Dado α ∈ AF podemos encontrar B1 ≥ B tal que α ∈ AF (B1 ). Por 4.17 y


por 4.18 tenemos que

dim((AF (B1 ) + F ) / ((AF (B) + F )


= (grado(B1 ) − dim(B1 )) − (grado(B) − dim(B))
= (g − 1) − (g − 1) = 0.

Es decir, AF (B1) + F = AF (B) + F . Como α ∈ AF (B1 ) tenemos que

AF = AF (B) + F. (4.19)

Llegamos a la primera interpretación de el ı́ndice de especialidad de un divi-


sor:
Teorema 4.4.1. Para cualquier divisor A ∈ DF , el ı́ndice de especialidad es

i(A) = dim(AF /(AF (A) + F )).

Demostración: Sea A ∈ DF . Por el Teorema 4.3.2 existe un divisor


A1 ≥ A tal que dim(A1 ) = grado(A1 ) + 1 − g. Por 4.19 tenemos que AF =
AF (A1 ) + F y 4.17 implica que

dim(AF /(AF (A) + F )) = dim((AF (A1 ) + F )/(AF (A) + F ))


= (grado(A1 ) − dim(A1 )) − (grado(A) − dim(A))
= g − 1 − dim(A) − grado(A) = i(A).¥

Como Corolario, obtenemos


Corolario 4.4.1. g=dim((AF /(AF (0) +F)).

69
Demostración. i(0) = dim(0) − grado(0) + g − 1 = 1 − 0 + g − 1 = g.¥
Resulta útil pensar en el espacio dual de AF /(AF (A) + F ), es decir,
en el espacio de funcionales lineales (AF /(AF (A) + F ))∗ . El concepto de
diferencial de Weil es fundamental para una segunda interpretación de el
ı́ndice de especialidad de un divisor.

Definición 4.4.4. Un diferencial de Weil de F/K es un mapeo K-lineal


ω : AF → K que se anula en AF (A) + F para algún divisor A ∈ DF .
Llamaremos al conjunto

ΩF := {ω|ω es un diferencial de Weil de F/K}

el módulo de diferenciales de Weil de F/K. Sea A ∈ DF , definimos

ΩF (A) := {ω ∈ ΩF |ω se anula en AF (A) + F }.

Tenemos que ΩF es un espacio vectorial sobreK, de hecho, si ω1 se anula


en AF (A1 ) + F y ω2 se anula en AF (A2 ) + F entonces ω1 + ω2 se anula en
AF (A3 ) + F para todo divisor A3 tal que A3 ≤ A1 y A3 ≤ A2 , y aω1 se anula
en AF (A1 ) + F para a ∈ K. Se sigue tambien que ΩF (A) es un subespacio
de ΩF .

Lema 4.4.2. Para todo A ∈ DF tenemos que dim(ΩF (A)) = i(A).

Demostración. El espacio ΩF (A) Es isomorfo el spacio de formas lineales


en AF /AF (A) + F . El Lema se sigue pues la dimensión de AF /AF (A) + F
es finita e igual a i(A).¥
Del Lema anterior podemos ver que ΩF 6= ∅ tomando un divisor A ∈ DF
con grado(A) ≤ −2. Entonces dim(ΩF ) = i(A) = dim(A) − grado(A) + g −
1 ≥ 1, entonces ΩF 6= ∅.
De esto ùltimo se sigue que ΩF 6= 0 tomando un divisor A ∈ DF tal que
grado(A) ≤ −2. Entonces dim(ΩF ) = i(A) = dim(A)−grado(A)+g−1 ≥ 1,
por lo que ΩF 6= 0.

Definición 4.4.5. Para cada x ∈ F y ω ∈ ΩF definimos xω : AF → K como

(xω)(α) := ω(xα).

Si ω se anula en AF (A) + F entonces xω se anula en AF (A + (x)) + F .


Esta definición le da a ΩF la estructura de espacio vectorial sobre F .

70
Proposición 4.4.1. ΩF es un espacio vectorial de dimensión uno sobre F .
Demostración. Sea ω1 ∈ ΩF −{0}. Tenemos que demostrar que para cada
ω2 ∈ ΩF existe z ∈ F tal que ω2 = zω1 . Supongamos que ω2 6= 0 (si ω2 = 0
entonces z = 0). Y sean A1 , A2 ∈ DF tales que ω1 ∈ ΩF (A1 ) y ω2 ∈ ΩF (A2 ).
Sea B ∈ DF , B ≥ 0, de grado suficientemente grande para que dim(Ai +
B) = grado(Ai +B)+1−g para i = 1, 2 (esto es posible por el Teorema 4.3.2).
Definimos los mapeos ϕi : L(Ai + B) −→ ΩF (−B) como ϕi (x) := xωi . Estos
mapeos son lineales (sobre K) e inyectivos. Definimos Ui = ϕi (L(Ai + B)) ≤
ΩF (−B).
Como
dim(ΩF (−B)) = i(−B) = 0 − grado(−B) + g − 1 = grado(B) + g − 1
tenemos que
dim(U1 ) + dim(U2 ) − dim(ΩF (−B)) =
grado(B) + (grado(A1 ) + grado(A2 ) + 3(1 − g)).
Observamos que el segundo sumando en el lado derecho de la ecuación ante-
rior es independiente de B, por lo que dim(U1 )+dim(U2 )−dim(ΩF (−B)) > 0
si grado(B) es lo suficientemente grande. Entonces
U1 ∩ U2 = ϕ1 (L(A1 + B)) ∩ ϕ2 (L(A2 + B)) 6= {0}.
Por lo que existen funciones x1 ∈ L(A1 + B) y x2 ∈ L(A2 + B) tales que
x1 ω1 = x2 ω2 6= 0 entonces ω2 = x1 x−1
2 ω1 . Esto demuestra la Proposición.¥
A cada diferencial de Weil le asociaremos un divisor como sigue: consi-
deremos el conjunto
M (ω) := {A ∈ DF |ω se anula en AF (A) + F }.
Lema 4.4.3. Sea 0 6= ω ∈ ΩF . Entonces existe un divisor, determinado de
manera única, W ∈ M (ω) tal que A ≤ W para todo divisor A ∈ M (ω).
Demostración. Por el Teorema de Riemann existe una constante c, que
depende solo de F/K, tal que i(A) = 0 siempre que grado(A) ≥ c. Como
dim(AF /(AF (A) + F )) = i(A) tenemos que grado(A) < c para todo A ∈
M (ω). Ası́ que podemos escoger W ∈ M (ω) de grado máximo.
Supongamos que exite un divisor A0 ∈ M (ω) con W < A0 , i.e. vQ (A0 ) >
vQ (W ) para algún Q ∈ PF . Demostraremos que
W + Q ∈ M (ω). (4.20)

71
Consideremos un adele α = (αP ) ∈ AF (W + Q). Lo escribimos como
α = α′ + α′′ con
½ ½
′ αP si P 6= Q, ′′ 0 si P 6= Q,
α := y α :=
0 si P = Q, αP si P = Q

Entonces α′ ∈ AF (W ) y α′′ ∈ AF (A0 ), por lo tanto

ω(α) = ω(α′ ) + ω(α′′ ) = 0.

Se sigue que ω se anula en AF (W +Q)+F , con lo que queda demostrada 4.20.


Se sigue tambien que tal divisor W es único.¥
Lo anterior motiva la siguiente

Definición 4.4.6. (a) El divisor (ω) de un diferencial de Weil ω 6= 0 es el


divisor de F/K determinado de manera única que satisface

1. ω se anula en AF ((ω)) + F .
2. Si ω se anula en AF (A) + F entonces A ≤ (ω).

(b) Dado 0 6= ω ∈ ΩF y P ∈ PF definimos vP (ω) := vp ((ω)).

(c) Decimos que un lugar P es un cero (resp. polo) si vP ((ω)) > 0 (resp.
vP ((ω)) < 0). ω se dice que es regular en P si vP ((ω)) ≥ 0, ω se dice
regular si es regular en todo P ∈ PF .

(d) Se dice que un divisor W es divisor canónico de F/K si W = (ω)


para algún ω ∈ ΩF .

De la definición anterior podemos reescribir

ΩF (A) = {ω ∈ ΩF |ω = 0 o (ω) ≥ A}

y, en particular que

ΩF (0) = {ω ∈ ΩF |ω es regular }.

Como ya sabiamos dim(ΩF (0)) = g.

Proposición 4.4.2. (a) Dada 0 6= x ∈ F y 0 6= ω ∈ ΩF tenemos que


(xω) = (x) + (ω).

72
(b) Cualesquiera dos divisores canónicos de F/K son equivalentes.
Demostración. (a) Si ω se anula en AF (A) + F entonces xω se anula
en AF (A + (x)) + F , por lo que (ω) + (x) ≤ (xω), en particular xω se
anula en AF ((ω) + (x)) + F ası́ que (ω) + (x) ≤ (xω). De igual manera
(xω) + (x−1 ) ≤ (x−1 xω) = (ω), de lo que se sigue que

(ω) + (x) ≤ (xω) ≤ −(x−1 ) + (ω) = (ω) + (x).

(b) Ya que ΩF es un F -espacio de dimensión uno cada ω ∈ ΩF se puede


escribir como ω = f ω1 para algún ω1 ∈
weild y f ∈ F . Sean W = (f ω1 ) = (ω1 ) + (f ) y W ′ = (gω1 ) = (ω1 ) + (g) dos
divisores canónicos. Vemos que ambos son claramente equivalentes a (ω1 ).¥
Este resultado nos dice que el conjunto de divisores canónicos de F/K es
una clase en el grupo de clases de divisores CF . A esta clase le llamaremos
la clase canónica de F/K.
Teorema 4.4.2. Sea A un divisor arbitrario y W = (ω) un divisor canónico
de F/K. Entonces el mapeo
½
L(W − A) → ΩF (A),
µ:
x 7→ xω

es un isomorfismo de espacios vectoriales sobre K. En particular,

i(A) = dim(W − A).

Demostración. Dada x ∈ L(W − A) se tiene que

(xω) = (x) + (ω) ≥ −(W − A) + W = A,

por lo que xω ∈ ΩF (A). Entonces µ mapea L(W − A) en ΩF (A). El mapeo


µ es lineal e inyectivo. Queda demostrar que µ es sobre. Para demostrar
esto, sea ω1 ∈ ΩF (A) un diferencial de Weil. Entonces ω1 = xω para x ∈ F .
Ya que (x) + W = (x) + (ω) = (xω) = (ω1 ) ≥ A obtenemos que

(x) ≥ A − W = −(W − A),

entonces x ∈ L(W − A) y w1 = µ(x). Por lo tanto i(A) = dim(ΩF (A)) =


dim(W − A).¥
Tenemos todas las herramientas para demostrar el siguiente

73
Teorema 4.4.3 (Riemann-Roch). Sea W un divisor canónico de F/K. En-
tonces para todo A ∈ DF ,
dim(A) = grado(A) + 1 − g + dim(W − A).¥
Corolario 4.4.2. Para un divisor canónico W , tenemos que
grado(W ) = 2g − 2 y dim(W ) = g.
Demostración. Para 0 = A ∈ DF tenemos, por el teorema de Riemann-
Roch que
1 = dim(0) = grado(0) + 1 − g + dim(W − 0).
Entonces dim(W ) = g. Para A = W tenemos que
g = dim(W ) = grado(W ) + 1 − g + dim(W − W ) = grado(W ) + 2 − g.
Por lo tanto grado(W ) = 2g − 2.¥
La constante c en el teorema de Riemann se puede escoger igual a 2g − 1:
Teorema 4.4.4. Si A ∈ DF tiene grado ≥ 2g − 1 entonces i(A) = 0 i.e.
dim(A) = grado(A) + 1 − g.
Demostración. El teorema de Riemann-Roch dice que dim(A) = grado(A)+
1 − g + dim(W − A) para un divisor canónico W de F/K. Pero grado(W ) =
2g − 2 < 2g − 1 = grado(A), por lo que grado(W − A) < 0 y entonces
dim(W − A) = 0.¥
El teorema de Riemann-Roch caracteriza al género y a la clase canónica:
Teorema 4.4.5. Supongamos que g0 ∈ Z y W0 ∈ DF satisfacen
dim(A) = grado(A) + 1 − g0 + dim(W0 − A)
para todo divisor A ∈ DF . Entonces g0 = g y el divisor W0 es canónico.
Demostración. Tomando A = 0 y A = W0 obtenemos, por hipótesis,
que dim(W0 ) = g0 y grado(W0 ) = 2g0 − 2 respectivamente. Sea A un
divisor de F/K con grado(A) > max{2g − 2, 2g0 − 2} entonces, por un lado
dim(A) = grado(A) + 1 − g, y por hipotesis dim(A) = grado(A) + 1 − g0 .
Entonces, g = g0 .
Ahora tomamos A = W . Entonces, por hipotesis, tenemos que g =
(2g − 2) + 1 − g + dim(W0 − W ). Entonces dim(W0 − W ) = 1. Como
grado(W0 − W ) = 0 tenemos que el divisorW0 − W es principal. Y entonces
W0 W .¥

74
Proposición 4.4.3. Un divisor B es canónico si y solo si grado(B) = 2g −2
y dim(B) ≥ g.

Demostración. Supongamos que grado(B) = 2g − 2 y que dim(B) ≥ g


entonces, si W es un divisor canónico tenemos que

g ≤ dim(B) = grado(B) + 1 − g + dim(W − B) = g − 1 + dim(W − B).

Por lo tanto dim(W − B) ≥ 1. Como grado(W − B) = 0 se sigue que


B ∼ W y entonces B es canónico.¥

4.5 Puntos de Weierstrass


Sean P ∈ PF y n ≥ 2g. Tenemos, por el Teorema de Riemann-Roch, que

dim((n − 1)P ) = (n − 1)grado(P ) + 1 − g < dim(nP ) = n · grado(P ) + 1 − g.

Esto implica que L((n − 1)P ) 6= L(nP ). Cualquier función f ∈ L(nP ) −


L((n − 1)P ) tiene divisor de polos (f )∞ = n · P . Es decir, existen funciones
en F que tienen un único polo. La siguiente definición tiene sentido:

Definición 4.5.1. Sea P ∈ PF . Un entero n ≥ 0 se dice orden polar de P


si y solo si existe un elemento x ∈ F tal que (x)∞ = nP . En caso contrario
decimos que n es un salto de P .

i es un salto de P si y solo si L(iP ) = L(i − 1)P .


Si (x1 )∞ = n1 P y si (x2 )∞ = n2 P entonces la función x1 x2 tiene divisor
de polos (x1 x2 )∞ = (n1 + n2 )P . Esto nos dice que el conjunto de órdenes
polares de un lugar P es un subsemigrupo del semigrupo N.
Un resultado interesante se obtiene al especializar la discusión anterior a
los lugares de grado 1:

Teorema 4.5.1 (Teorema de los saltos de Weierstrass). Sea F/K un campo


de funciones de género g > 0 y P ∈ PF un lugar de grado 1. Entonces P
tiene exactamente g saltos 1 = i1 < . . . < ig ≤ 2g − 1.

Demostración: Tenemos que dim(2g − 1)P = (2g − 1) + 1 − g = g


lo que quiere decir que hay g naturales 0 ≤ i ≤ 2g − 1 para los cuales
L(iP ) = L(i + 1)P . Estos enteros i son los g saltos de P buscados. Al ser

75
el conjunto de órdenes polares un subsemigrupo de N y g > 0 entonces 1 no
puede ser un orden polar (no habrı́a saltos).¥
Cuando K es un campo algebraicamente cerrado, casi todos los lugares de
grado uno tienen la misma secuencia de saltos de Weierstrass. Dichos lugares
se dicen ordinarios. Cualquier lugar no ordinario se le llama punto de
Weierstrass. Los puntos de Weierstrass son fundamentales para el cálculo
del grupo de automorfismos de F/K.

4.6 El Teorema del Residuo


Dado P ∈ PF consideramos el mapeo
ιP : F −→ AF
x 7→ α

tal que αP = x y αQ = 0 para todo Q ∈ PF − {P }. Dado ω ∈ ΩF definimos


su componente local ωP : F → K como el mapeo K-lineal

ωP (x) := ω(ιP (x)).

Un hecho interesante es el siguiente: si ω ∈ ΩF y α = (αP ) ∈ AF entonces


ωP (αP ) = 0 para casi todos los lugares P ∈ PF . Para deducir esto, supon-
gamos que ω 6= 0 y sea W := (ω) ∈ DF el divisor canónico asociado. Existe
un conjunto finito S ⊆ PF tal que

vP (W ) = 0 y vP (αP ) ≥ 0 para todo P 6∈ S.

Definimos el adele β = (βP ) tal que βP = αP si P 6∈ S y βP = 0 si P ∈ S.


Entonces tenemos que β ∈ AF (W ), por lo que ω(β) = 0. Por otro lado
X
α=β+ ιP (αP )
P ∈S

por lo que X
ω(α) = ωP (αP ).
P ∈S

Para P 6∈ S, ιP (αP ) ∈ AF (W ) por lo que ω(αP ) = 0. Tenemos que


X
ω(α) = ωP (αP ).
P ∈PF

76
Recordemos que vP (ω) = vP (W ), donde W = (ω) es el divisor canónico
asociado. Sea s := vP (ω), entonces, si x ∈ F es tal que vP (x) ≥ −s tenemos
que ιP (x) ∈ AF (W ), por lo que ωP (x) = ωP (ιP (x)) = 0. Supongamos ahora
que ωP (x) = 0 para toda x ∈ F con vP (x) ≥ −s − 1. Sea α = (αQ )Q∈PF ∈
AF (W + P ). Entonces

α = (α − ιP (αP )) + ιP (αP )

con α − ιP (αP ) ∈ AF (W ) y vP (αP ) ≥ −s − 1, por lo que

ω(α) = ω(α − ιP (αP )) + ωP (αP ) = 0,

es decir, ω se anula en AF (W + P ), contradiciendo la definición de W . En-


tonces vP (ω) queda caracterizado como

vP (ω) = max{r ∈ Z|ωP (x) = 0 para toda x ∈ F con vP (x) ≥ −r}.

En particular, si ω ′ ∈ ΩF es otro diferencial de Weil con ωP′ = ωP para algún


lugar P , entonces (ω − ω ′ )P = 0, el párrafo anterior nos dice que ω = ω ′ . Es
decir, un diferencial ω queda determinado por cualquiera de sus componentes
locales.

4.7 Extensiones Algebraicas de F/K.


Definición 4.7.1. (a) Un campo de funciones algebraicas F ′ /K ′ se dice
extension algebraica de F/K si F ′ ⊇ F es una estensión algebraica y
K ′ ⊇ K.

(b) La extensión F ′ /K ′ de F/K se dice extensión de constantes si F ′ =


F K ′.

(c) F ′ /K ′ se dice extensión finita si [F ′ : F ] < ∞.

Si F ′ /K ′ es una extensión algebraica de F/K entonces la extensión K ′ /K


es algebraica y K = F ∩ K ′ . Tambien tenemos que F ′ /K ′ es una extensión
finita de F K ′ /K ′ .
Por otro lado si F ′ /K ′ es una extensión finita de F/K entonces, con-
siderando a F ′ como un campo de funciones algebraico sobre K, tenemos
que K ′ es el campo de constantes de F ′ /K, por lo que [K ′ : K] < ∞.

77
Ahor bien, supongamos que [K ′ : K] < ∞ y sea x ∈ F − K. Entonces x
es trascendente sobre K ′ y F ′ /K ′ (x) es una extensión finita por lo que

[K ′ (x) : K(x)] = [K ′ : K] < ∞

y entonces
[F ′ : K(x)] = [F ′ : K ′ (x)][K ′ (x) : K(x)] < ∞.
Como K(x) ⊆ F ⊆ F ′ tenemos que [F ′ : F ] < ∞. En resumen, F ′ /K ′ es
una extensión algebraica finita de F/K si y solo si [K ′ : K] < ∞.

Definición 4.7.2. Consideremos una extensión algebraica F ′ /K ′ de F/K.


Un lugar P ′ ∈ PF ′ se dice que está sobre P ∈ PF si P ⊆ P ′ . Tambien dire-
mos que P ′ es una extensión de P o que P está debajo de P ′ , y escribiremos
P ′ |P .

Proposición 4.7.1. Sea F ′ /K ′ una extensión algebraica de F/K. Supon-


gamos que P ∈ PF y que P ‘ ∈ PF ′ , sean OP ⊆ F y OP′ ⊆ F ′ los anillos de
valoración correspondientes, vP and vP ′ las valoraciones dicretas correspon-
dientes. Entonces las siguientes afirmaciones son equivalentes:

1. P ′ |P .

2. OP ⊆ OP′ .

3. Existe un entero e ≥ 1 tal que vP ′ (x) = e · vP (x) para toda x ∈ F .


Además, si P ′ |P entonces P = P ′ ∩ F y OP = OP′ ∩ F . Es por esto
último que a P se le llama la restricción de P ′ a F .

Demostración: El anillo F ∩ OP′ es un subanillo de F que contiene a OP .


Entonces, como OP es un subanillo maximal de F , F ∩ OP′ = OP o bien
F ∩ OP′ = F . Supongamos que esto último es lo que sucede. En particular
F ⊆ OP′ . Sea z ∈ F ′ − OP′ . Como F ′ /F es algebraica, tenemos que existe
una ecuación no trivial

z n + cn−1 z n−1 + · · · + c1 z + c0 = 0 (4.21)

con ci ∈ F . Tenemos entonces que vP ′ (z n ) = nvP ′ (z) < 0 pues z 6∈ OP′ y


además
vP ′ (z n ) < vP ′ (ci z i ) para i = 0, 1, . . . , n − 1.

78
Por la desigualdad del triángulo estricta tenemos que

vP ′ (z n + cn−1 z n−1 + · · · + c1 z + c0 ) = nvP ′ (z) 6= vP ′ (0).

Esta contradicción nos dice que OP = F ∩ OP′ .


1) implica 2): supongamos que P ′ |P y que OP 6⊆ OP′ . Entonces existe
alguna función u ∈ F con vP (u) ≥ 0 y vP ′ (u) < 0. Como P ⊆ P ′ tenemos
que vP (u) = 0. Sea t ∈ F tal que vP (t) = 1, y sea r := vP ′ (t). Como P ⊆ P ′
tenemos que r > 0. Entonces

vP (ur t) = rvP (u) + vP (t) = 1,

vP ′ (ur t) = rvP ′ (u) + vP ′ (t) ≤ −r + r = 0.


Las dos ecuaciones anteriores dicen que ur t pertenece a P pero no pertence
a P ′ lo que contradice la hipótesis P ⊆ P ′ .
2) implica 1): Supongamos ahora que OP ⊆ OP′ y sea x ∈ P , entonces
x−1 6∈ OP por lo que x−1 6∈ OP′ lo que implica que (x−1 )−1 = x ∈ P ′ . Por lo
tanto P ⊆ P ′ .
2) implica 3): Sea u ∈ F tal que vP (u) = 0. Entonces u, u−1 ∈ OP ⊆ OP′
lo que implica que vP′ (u) = 0 (u es unidad). Sean t ∈ F tal que vP (t) = 1 y
e := vP′ (t). Como P ⊆ P ′ tenemos que e ≥ 1. Sean x ∈ F −{0} y r := vP (x).
Entonces vP (xt−r ) = 0 y entonces

vP′ (x) = vP′ (xt−r ) + vP′ (tr ) = 0 + rvP′ (t) = evP (x).

3) implica 2): Sea x ∈ OP . Entonces vP (x) ≥ 0. Como OP ⊆ OP′ ,


tenemos que vP′ (x) = evP (x) ≥ 0 por lo que x ∈ OP′ .
Sea x ∈ P ′ ∩ F . Tenemos entonces que 0 < vP′ (x) = evP (x) lo que implica
que vP (x) > 0.¥
Una consecuencia importante de la Proposición anterior es que podemos
inyectar de manera canónica el campo residual FP en el campo residual FP′ ′
como sigue
x(P ) 7→ x(P ′ ) para x ∈ OP .
Es decir podemos considerar a FP como subcampo de FP′ ′ . La proposición
y la discusión anterior motiva la siguiente
Definición 4.7.3. Sea F ′ /K ′ una extensión algebraica de F/K, y sea P ′ ∈
PF ′ un lugar de F ′ /K ′ sobre P ∈ PF .

79
1. Al entero e(P ′ |P ) := e con vP ′ (x) = e · vP (x) para toda x ∈ F se le
llama el ı́ndice de ramificación de P ′ sobre P . Diremos que P ′ |P
es ramificado si e(P ′ |P ) > 1, y P ′ |P es no ramificado si e(P ′ |P ) = 1.

2. A f (P ′ |P ) := [FP′ ′ : FP ] se le llama el grado relativo de P ′ sobre P .

Ahora queremos investigar la existencia de extensiones de lugares en ex-


tensiones de campos de funciones. Sea pues P ∈ P′F donde F ′ /K ′ es una
extensión algebraica de F/K. Afirmamos que existe una función 0 6= z ∈ F
tal que vP′ (z) 6= 0.
Supongamos que esta afirmación es falsa. Sea t ∈ F ′ con vP ′ (t) > 0. Al
ser t algebraico existe una ecuación de la forma

cn tn + cn−1 tn−1 + · · · + ct + c0 = 0

con ci ∈ F , c0 6= 0 y cn 6= 0. Por hipótesis tenemos que vP ′ (c0 ) = 0 y


vP ′ (ci ti ) = vP ′ (ci ) + ivP ′ (t) > 0 para i = 1, . . . , n. Esto último contradice la
desigualdad del triángulo estricta.
La discusión anterior dice que O = OP′ ∩ F es un anillo de valoración de
F/K y P = P ′ ∩ F el lugar correspondiente. Es claro ahora que existe un
único lugar P ∈ PF tal que P ′ |P .
Ahora consideremos un lugar P ∈ PF . Sea x ∈ F − K tal que P
sea su único cero, es decir vP (x) > 0. Entonces si P ′ |P tenemos que
vP′ (x) = e(P ′ |P )vP (x) > 0 lo que dice que P ′ es un cero de x en PF ′ . Ahora
supongamos que vP′ (x) > 0, y sea Q = P ′ ∩ F el lugar que está debajo de P ′ .
Entonces vQ (x) > 0 lo que dice que Q es un cero de x y como x solo tiene a
P como cero concluimos que Q = P .
En este contexto tenemos que

P ′ |P si y solo si vP ′ (x) > 0.

En particular, tenemos que un lugar P ∈ PF tiene un número finito de


extensiones P ′ ∈ PF ′ . Podemos entonces definir un homomorfismo de el
grupo de divisores DF al grupo de divisores DF ′ :

Definición 4.7.4. Sea F ′ /K ′ una extensión algebraica de F/K. Definimos


la conorma de un lugar P ∈ PF como el divisor
X
ConF ′ /F (P ) := e(P ′ |P )P ′ ,
P ′ |P

80
aquı́ la suma corre sobre todos los lugares P ′ ∈ PF ′ que están encima de P .
Este mapeo se extiende de manera natural a DF como sigue:
X X
ConF ′ /F ( nP P ) := nP ConF ′ /F (P ),
Una propiedad interesante de la conorma es que manda divisores princi-
pales en divisores principales: sea x ∈ F . El divisor principal de x en F ′ ,

denotado por (x)F es

X X X
(x)F = vP ′ (x)P ′ = e(P ′ |P )vP (x)P ′
P ′ ∈PF ′ P ∈PF P ′ |P
X X
= vP (x)ConF ′ /F (P ) = ConF ′ /F ( vP (x)P )
P ∈PF P ∈PF

el lado derecho de la igualdad anterior es ConF ′ /F ((x)). Como consecuencia


la conorma induce un homomorfismo de los grupos de clases de divisores
ConF ′ /F : CF → CF ′ .
Nuestro siguiente objetivo es encontrar una relación entre los grados de
un divisor D ∈ DF y su conorma.
Supongamos que F ′ /K ′ es una extensión finita de F/K y sean P ∈ PF
un lugar de F/K y P1 , . . . , Pm ∈ PF ′ todos los lugares de F ′ /K ′ que están
sobre P . Definimos ei := e(Pi |P ) y fi := f (Pi |P ). Sea x ∈ F tal que P sea
su único cero, y sea r := vP (x) > 0. Entonces P1 , . . . , Pm son todos los ceros
de x en PF ′ . Con esta información podemos calcular
[F ′ : K(x)] = [F ′ : K ′ (x)][K ′ (x) : K(x)]
F′ ′
= grado((x)
Pm 0 )[K : K]
= ( i=1 vPi (x)grado(Pi )) [K ′ : K]
P m ′ ′ ′
= Pm(ei vP′(x)[FPi : K ][K : K])
i=1
= r · i=1 [FPi : P FP ][FP : K]
= r · grado(P ) · m i=1 ei fi .

Por otro lado


[F ′ : K(x)] = [F ′ : F ][F : K(x)] = [F ′ : F ] · r · grado(P ),
pues rP es el divisor de ceros de x en F . Combinando estas dos ecuaciones
tenemos que
m
X

[F : F ] = ei fi .
i=1
En particular, en una extensión finita F ′ /K ′ de F/K tenemos que

81
1. |{P ′ ∈ PF ′ |P ′ está sobre P }| ≤ [F ′ : F ].

2. Si P ′ |P entonces e(P ′ |P ) ≤ [F ′ : F ] y f (P ′ |P ) ≤ [F ′ : F ].

Sea P ∈ PF . Entonces
³P ´
′ ′
grado(ConF ′ /F (P )) = grado P ′ |P e(P |P ) · P
′ ′ ′
P
= P ′ |P e(P |P ) · [FP ′ : K ]

[F :K]

P
= P ′ |P e(P |P ) · [KP′′:K]
= [K ′1:K] · P ′ |P e(P ′ |P ) · [FP′ ′ : FP ][FP : K]
P
³P ´
= [K ′1:K] · P |P
′ e(P ′
|P ) · f (P ′
|P ) · grado(P )
[F ′ :F ]
= [K ′ :K]
· grado(P ).

Como Corolario de la discusión anterior tenemos que para D ∈ DF

[F ′ : F ]
grado(ConF ′ /F (D)) = · grado(D).
[K ′ : K]

Estamos en condiciones de dar un criterio para determinar la irreducibi-


lidad de polinomios con coeficientes en un campo de funciones:

Proposición 4.7.2 (Criterio de Einsenstein). Consideremos el campo de


funciones F/K y un polinomio

ϕ(T ) = an T n + an−1 T n−1 + · · · + a1 T + a0

con coeficientes ai ∈ F . Supongamos que existe un lugar P ∈ PF tal que una


de las siguientes condiciones (a) o (b) se satisface:

(a) vP (an ) = 0, vp (ai ) ≥ vP (a0 ) > 0 para i = 1, . . . , n − 1, y

M CD(n, vP (a0 )) = 1.

(b) vP (an ) = 0, vp (ai ) ≥ 0 para i = 1, . . . , n − 1, vP (a0 ) < 0, y

M CD(n, vP (a0 )) = 1.

Entonces ϕ(T ) es irreducible en F [T ]. Si F ′ = F (y) = K(x, y) con ϕ(y) = 0,


entonces P tiene una única extensión P ′ ∈ PF ′ , e(P ′ |P ) = n y f (P ′ |P ) = 1.

82
Demostración: Consideremos la extensión F ′ = F (y) con ϕ(y) = 0.
Tenemos que [F ′ : F ] = grado(ϕ) si y solo si ϕ(T ) es irreducible. Sea P ′
alguna extensión de P en F ′ . Tenemos que

−an y n = a0 + a1 y + · · · + an−1 y n−1 .

Supongamos que ocurre (a): vemos que vP ′ (y) > 0. Sea e := e(P ′ |P ),
entonces vP ′ (a0 ) = e · vP (a0 ) y vP ′ (ai y i ) = e · vP (ai ) + i · vP ′ (y) > e · vP (a0 )
para i = 1, . . . , n − 1. La desigualdad del triángulo estricta nos dice que

n · vP ′ (y) = e · vP (a0 ).

Como M CD(n, vP (a0 )) = 1 tenemos que n|e y entonce n ≤ e. Por otro


lado habiamos visto que n ≥ [F ′ : F ] ≥ e. Entonces

n = e = [F ′ : F ].¥

4.8 Códigos de Goppa


Sea F/K un campo de funciones algebraico de género g. Sean P1 , . . . , Pn ∈
PF n lugares distintos de grado 1 de F . Definimos el divisor

D := P1 + · · · + Pn ∈ DF ,

y sea G ∈ DF un divisor tal que soporte(G) ∩ soporte(D) = ∅. El código


de Goppa o código geométrico CL (D, G) asociado a los divisores D y G
se define como

CL (D, G) := {(f (P1 ), . . . , f (Pn ))|f ∈ L(G)} ≤ Fnq .

Notemos que toda f ∈ L(G) está definida en Pi (vPi (f ) ≥ 0), i = 1, . . . , n,


por lo que f (Pi ) ∈ Fq . De esta manera CL (D, G) es simplemente la imagen
del espacio L(G) bajo el mapeo lineal evaluación

evD : L(G) −→ Fnq

dado por evD (f ) := (f (P1 ), . . . , f (Pn )).


Esta definición es análoga a la de los códigos de Reed-Solomon. De hecho,
en el caso del código Reed-Solomon RS(k, q) tenemos que F = K(x),

D = P0 + P1 + Pα + · · · + Pαq−2

83
y
G = k · P∞ .
Se sigue que Ker(evD ) = L(G − D) por lo que, usando Riemann-Roch

dim(CL (D, G)) = dim(G) − dim(G − D).

Ahora sea f ∈ L(G) tal que d = peso(evD (f )). Entonces f tiene exactamente
n − d ceros Pi1 , . . . , Pin−d ∈ soporte(D). Esto último nos dice que

f ∈ L(G − (Pi1 + . . . + Pin−d )),

de donde

0 ≤ grado(G − (Pi1 + . . . + Pin−d )) = grado(G) − (n − d).

Por lo que d ≥ n−grado(G). Entonces CL (D, G) es un código con parámetros

[n, dim(G) − dim(G − D), ≥ n − grado(G)]q .

84
Capı́tulo 5

Extensiones de grado dos

Consideremos el polinomio
T 2 + a(x) ∈ K(x)[T ]
con
a(x) = xm + am−1 xm−1 + · · · + a1 x + a0
y P = (x)∞ , m > 2 impar. Por el criterio de Einsenstein (b) el polinomio
ϕ(T ) := T 2 + a(x) es irreducible sobre K(x). Sea F := K(x, y) con
ϕ(y) = y 2 + a(x) = 0.
El mismo criterio nos dice que P tiene una única extensión Q en F , e(Q|P ) =
2 y f (Q|P ) = 1. Es decir Q es un lugar de grado uno y K es el campo de
constantes de F .
Entonces
(x)F∞ = −vQ (x)Q = −2 · vP (x)Q = 2Q.
Como
y 2 = −a(x) = −(xm + am−1 xm−1 + · · · + a1 x + a0 )
tenemos que
2vQ (y) = mvQ (x) = 2mvP (x) = −2m,
es decir vQ (y) = −m. Por lo que
(y)F∞ = mQ.
Como consecuencia inmediata tenemos que 2 y m son órdenes polares de Q.
Como el conjunto de órdenes polares de Q es un semigrupo, tenemos que

85
todo natural > 2m − 2 − m = m − 2 es órden polar de Q. El Teorema se los
saltos de Weierstrass nos dice que
m−1
g=
2
pues, en particular 2i es orden polar de Q para i = 1, 2, . . ..
Supongamos que F es una extensión cuadrática de K(x) de género g > 0.
Entonces existe z ∈ F tal que z 2 ∈ K(x) si char(K) 6= 2. En particular
F = K(x, z) con z 2 = a(x) ∈ K(x). Escribiendo
Y
a(x) = c · pi (x)αi , c ∈ K − {0},

con pi ∈ K[x] polinomios mónicos irreducibles y αi ∈ Z. Escribamos αi =


2βi + ri , con βi ∈ Z y ri ∈ {0, 1}. Sea
Y −β
y := z · pi i .

Entonces F = K(x, y) con y 2 = f (x) ∈ K[x] de grado 2g + 1 o 2g + 2.


Notemos que f (x) no tiene factores cuadráticos.

5.1 Campos de funciones elı́pticos


Un campo de funciones F/K se dice elı́ptico si tiene género 1 y existe un
divisor A ∈ DF de grado 1.
El Teorema de Rieman-Roch dice que dim(A) = grado(A) + 1 − g = 1
por lo que A es equivalente a un divisor efectivo A1 de grado 1. Se sigue
que A1 = P ∈ PF es un lugar de grado 1. Eso quiere decir que un campo
elı́ptico tiene al menos un lugar de grado uno. Como 2g − 2 = 0, Rieman-
Roch nos dice que dim(iP ) = i y dim((i + 1)P ) > dim(iP ) para i > 0. Sean
x1 ∈ L(2P ) − K, y1 ∈ L(3P ) − L(2P ). Entonces

(x1 )∞ = 2P, (y1 )∞ = 3P,

lo que implica que [F : K(x1 )] = 2 y que [F : K(y1 )] = 3. Se sigue que


F = K(x1 , y1 ). Los siete elementos 1, x1 , y1 , x21 , x1 y1 , x31 , y12 son linealmente
dependientes pues pertenecen al espacio L(6P ) de dimensión 6. Por lo que
existe una relación no trivial de la forma

a1 y12 + b1 x1 y1 + c1 y1 = d1 x31 + e1 x21 + f1 x1 + g1 ,

86
con a1 , . . . , g1 ∈ K, a1 , d1 6= 0. Despues de multiplicar por a31 d21 y susti-
tuyendo y2 = a21 d1 y1 y x2 = a1 d1 x2 obtenemos que F = K(x2 , y2 ) con
y22 + (b2 x2 + c2 )y2 = x32 + e2 x22 + f2 x2 + g2
con b2 , c2 , e2 , f2 , g2 ∈ K.
Si char(K) 6= 2 podemos sustituir y = y2 + (b2 x2 + C2 )/2 y x = x2 para
obtener que F = K(x, y) con
y 2 = x3 + ex2 + f x + g = f (x) ∈ K[x].
Por otro lado, si char(K) = 2 entonces sustituimos
y2
y3 = .
(b2 x2 + c2 )
Nota que b2 x2 + c2 6= 0 pues, en caso contrario, y22 ∈ K(x2 ) implica que
la extensión F/K(x2 ) es puramente inseparable de grado 2, es decir F 2 =
K(x2 ); como el género de K(x2 )/K es cero y el género de F 2 /K es uno (F
y F 2 son isomorfos via Frobenio) aribamos a una contradicción. Obtenemos
que F = K(x2 , y3 ) con
x32 + e2 x22 + f2 x2 + g2
y32 + y3 = .
(b2 x2 + c2 )2
Si b2 = 0 entonces el lado derecho es un polinomio de grado 3 en K[x2 ].
Si b2 6= 0 entonces el lado derecho de la ecuación se puede escribir (usando
fracciones parciales) como
C D
Ax2 + B + 2
+
(b2 x2 + c2 ) b2 X2 + c2
con A, B, C, D ∈ K, A 6= 0. Sea C1 ∈ K tal que C = C12 . Sea
C1
y4 = y3 + ,
b2 X2 + c2
entonces
C2
y42 + y4 = A2 x2 + B2 +
b2 X2 + c2
con A2 , B2 , C2 ∈ K, A = A2 6= 0. Notemos que C2 6= 0 pues, de otra manera,
F = (x2 , y4 ) serı́a racional. Finalmente escribimos y = y4 y x = A2 X2 + B2
para obtener que F = K(x, y) con
1
y2 + y = x +
ax + b
con a, b ∈ K, a 6= 0.

87
5.2 Ejemplo
En este ejemplo usaremos como campo base a F4 = {0, 1, α, α2 } donde
α2 + α + 1 = 0.
Consideremos el campo de funciones F := F4 (x, y) con
y 2 + y = x3 .
Sea P∞ el polo de x en Fx (x). Por el criterio de Einsenstein, usando P∞ , el
polinomio T 2 + T − x3 es irreducible por lo que [F : F4 (x)] = 2. El mismo
criterio nos dice que hay un único lugar Q∞ ∈ PF que está encima de P∞ ,
que e(Q∞ |P∞ ) = 2 y por lo tanto f (Q∞ |P∞ ) = 1 lo que nos dice que Q∞ es
un lugar de grado uno en F . Entonces
vQ∞ (x) = 2 · vP∞ (x) = −2,
vQ∞ (y 2 + y) = min{2vQ∞ (y), vQ∞ (y)} = 2vQ∞ (y) = −2 · 3
por lo que
vQ∞ (y) = −3.
Tenemos que
(x)F∞ = 2Q∞
y
(y)F∞ = 3Q∞ .
De lo anterior tenemos que las funciones xi y j ∈ L(rQ∞ ) para 0 ≤ 2i+3j ≤ r.
Supongamos ahora que Q ∈ PF − {Q∞ } es un lugar de grado uno. Eva-
luando en Q obtenemos x1 = x(Q) ∈ F4 , y1 := y(Q) ∈ F4 tales que
y12 + y1 = x31 .
Por lo que los lugares de grado uno de F quedan determinados por pares de
elementos (x1 , y1 ) en F24 tales que y12 + y1 = x31 . En este ejemplo podemos
calcular todos los lugares de grado uno distintos de Q∞ :
(0, 0), (0, 1), (1, α), (1, α2 ), (α, α), (α, α2 ), (α2 , α), (α2 , α2 ).
Podemos ahora construir un código de Goppa: Por ejemplo, definimos los
divisores D, G ∈ DF
D := (0, 0) + (0, 1) + (1, α) + (1, α2 ) + (α, α) + (α, α2 ) + (α2 , α) + (α2 , α2 )

88
y
G := 3 · Q∞ .
Las funciones 1, x, y ∈ L(G), y son linealmente independientes. Como

grado(G) = dim(G) = 3

las funciones 1, x, y son una base para L(G). Una matriz generadora para el
código de Goppa asociado a los divisores D y G es

(0, 0) (0, 1) (1, α) (1, α2 ) (α, α) (α, α2 ) (α2 , α) (α2 , α2 )


1 1 1 1 1 1 1 1 1
2
x 0 0 1 1 α α α α2
2 2
y 0 1 α α α α α α2

El código obtenido tiene parámetros

[8, 3, 5]4

y puede corregir 2 errores de transmisión.

5.3 Ejercicios
1. Demuestra que si char(K) 6= 2 el polinomio cúbico f (x) en la ecuación
y 2 = f (x) no tiene factores cuadráticos.

2. En referencia al ejemplo. Sean ǫ ∈ F∗4 , δ, µ ∈ F4 tales que

µ2 + µ = δ 3 .

Demuestra que existe un automorfismo σ ∈ Aut(F/F4 (x)) tal que


σ(x) := ǫx + δ y σ(y) = ǫ3 y + ǫδ q x + µ. Concluye que el código
del ejemplo tiene al menos 24 automorfismos.

5.4 Campos de funciones hiperelı́pticos


Un campo de funciones F/K se dice hiperhelı́ptico si g ≥ 2 y F contiene
un subcampo racional K(x) tal que [F : K(x)] = 2.
Supongamos que F/K es un campo hiperelı́ptico de género g. Entonces
[F : K(x)] = 2 para alguna x ∈ F . Se sigue que grado((x)∞ ) = 2. Sea

89
A = (x)∞ , entonces 1, x ∈ L(A) por lo que dim(A) ≥ 2. Por lo que todo
campo hiperelı́ptico tiene al menos un divisor A ∈ DF con grado(A) = 2 y
dim(A) ≥ 2.
Recı́procamente, supongamos que F/K es un campo de funciones de
género g ≥ 2 y tal que existe A ∈ DF con grado(A) = 2 y dim(A) ≥ 2. Se
sigue que existen un divisor efectivo A1 ∼ A, con grado(A1 ) = 2 y dim(A1 ) ≥
2 y x ∈ L(A1 ) − K. Entonces (x)∞ ≤ A1 y [F : K(x)] = grado((x)∞ ) ≤ 2.
Pero como F no es racional (g ≥ 2) tenemos que, en particular, F 6= K(x),
por lo tanto [F : K(x)] = 2. Entonces todo campo de funciones F/K de
género g ≥ 2 tal que existe a ∈ DF con grado(A) = 2 y dim(A) ≥ 2 es
hiperelı́ptico.
Podemos demostrar ahora que todo campo de funciones de género g = 2
es hiperelı́ptico: Consideremos un divisor canónico W ∈ DF . Tenemos que
grado(W ) = 2g − 2 = 2 y dim(W ) = g = 2. El párrafo anterior nos dice que
F/K es hiperelı́ptico.

5.5 Ejemplo
Sea F8 = {0, 1, α, α2 , α3 , α4 , α5 , α6 } tal que α3 + α2 + 1 = 0. Consideremos
el campo de funciones hiperelı́ptico de género 2 F = F8 (x, y) con

y 2 + y = x(x − 1)(x − α)(x − α2 )(x − α3 ).

Sus lugares de grado uno distintos de Q∞ son

P1 := (0, 0), P2 := (0, 1), P3 := (1, 0), P4 := (1, 1),


P5 := (α, 0), P6 := (α, 1), P7 := (α2 , 0), P8 := (α2 , 1),
P9 := (α3 , 0), P10 := (α3 , 1), P11 := (α4 , α2 ), P12 := (α4 , α3 ).

Se sigue del crierio de Einseinstein que

(x)F∞ = 2Q∞

y que
(y)F∞ = 5Q∞ .
Definimos los divisores

D := P1 + P2 + P3 + P4 + P5 + P6 + P7 + P8 + P9 + P10 + P11 + P12

90
y
G := 5 · Q∞ .
Tenemos que las funciones xi y j pertenecen a L(G) si y solo si 2i + 5j ≤ 5.
Por Riemann-Roch

dim(G) = grado(G) + 1 − g = 5 + 1 − 2 = 4.

Se sigue que las funciones


1, x, x2 , y
son una base para L(G). Una matriz generadora para el código de Goppa
asociado a los divisores D y G es

P1 P2 P3 P4 P5 P6 P7 P8 P9 P10 P11 P12


1 1 1 1 1 1 1 1 1 1 1 1 1
x 0 0 1 1 α α α2 α2 α3 α3 α4 α4
x2 0 0 1 1 α 2 α 2 α 4 α 4 α 6 α 6 α α
y 0 1 0 1 0 1 0 1 0 1 α2 α3

Este código tiene parámetros

[12, 4, 7]8

Y puede corregir 3 errores de transmisión.

91
Bibliografı́a

[1] J. Bierbrauer. Introduction to Coding Theory. Chapman and Hall/CRC,


2004.
[2] D. K. Bose, R. C.; Ray-Chaudhuri. On a class of error correcting binary
group codes. Information and Control 3, 1:68–79, 1960.
[3] H. S. M. Coxeter. My graph. Proc. London Math. Soc. (3), 46:117–136,
1983.
[4] J. A. Sloane F. J. Macwilliams. The Theory of Error-Correcting Codes.
North-Holland, 1977.
[5] Joseph A. Gallian. Contemporary Abstract Algebra. HEATH, 1990.
[6] A. Hocquenghem. Codes correcteurs d’erreurs. Chiffres (Paris), 2:147–
156, 1959.
[7] G. van der Geer J.H. van Lint. Introduction to Coding Theory and
Algebraic Geometry. Birkhäuser, 1988.
[8] P.J. McCarthy. Algebraic Extensions of Fields. Dover, 1976.
[9] C. Moreno. Algebraic Curves over Finite Fields. Cambridge, 1991.
[10] O. Pretzel. Codes and Algebraic Curves. Oxford, 1998.
[11] Jean-Pierre Serre. Algebraic Groups and Class Fields. Springer-Verlag,
1997.
[12] Henning Stichtenoth. Algebraic Function Fields and Codes. Springer-
Verlag, 1993.
[13] J.H. van Lint. Introduction to Coding Theory. GTM, Springer, 1998.

92

También podría gustarte