0% encontró este documento útil (0 votos)
77 vistas91 páginas

A Pun Tesco Dig Os Master Completo

Este documento presenta apuntes sobre códigos correctores de errores. Introduce conceptos básicos sobre la transmisión de información digital, incluyendo la codificación de mensajes, canales con y sin interferencia, y los tres objetivos principales de los códigos: compresión, detección y corrección de errores, y privacidad. Se enfoca en el estudio de los códigos correctores de errores para canales con ruido, y sólo considera códigos en bloques donde cada palabra tiene longitud fija.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
77 vistas91 páginas

A Pun Tesco Dig Os Master Completo

Este documento presenta apuntes sobre códigos correctores de errores. Introduce conceptos básicos sobre la transmisión de información digital, incluyendo la codificación de mensajes, canales con y sin interferencia, y los tres objetivos principales de los códigos: compresión, detección y corrección de errores, y privacidad. Se enfoca en el estudio de los códigos correctores de errores para canales con ruido, y sólo considera códigos en bloques donde cada palabra tiene longitud fija.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 91

Apuntes de Codigos Correctores de Errores

Juan Jacobo Simon Pinero


Master 2011-2012

Indice general
1. Informaci
on y c
odigos
1.1. La transmisi
on de la informacion . . . . .
1.2. Medida de la incertidumbre y de la
informaci
on . . . . . . . . . . . . . . . . .
1.3. Capacidad de un canal con interferencias .
1.4. C
odigos correctores de errores . . . . . . .
1.5. Teorema de Shannon . . . . . . . . . . . .

. . . . . . . . . . . . .
.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

5
5
9
14
19
22

2. Generalidades sobre C
odigos
25
2.1. Conceptos b
asicos . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Equivalencia y automorfismos de codigos . . . . . . . . . . . . . . 32
2.3. Construcci
on de c
odigos a partir de otros . . . . . . . . . . . . . 32
3. C
odigos lineales
3.1. Conceptos b
asicos . . . . . . . . . . . .
3.2. C
odigos duales u ortogonales . . . . . .
3.3. Pesos y distancias . . . . . . . . . . . .
3.4. Codificaci
on y decodificacion en codigos
lineales . . . . . . . . . . . . . . . . . . .
3.5. Construcciones con c
odigos lineales . . .
4. Cotas a los par
ametros
4.1. Generalidades . . . . . . . . . . .
4.2. Cota de Hamming . . . . . . . .
4.3. Cota de Singleton y c
odigos MDS
4.4. Otras cotas . . . . . . . . . . . .

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

35
35
38
39

. . . . . . . . . . . . . .
. . . . . . . . . . . . . .

42
46

.
.
.
.

49
49
51
51
53

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

.
.
.
.

5. Tipos especiales de c
odigos lineales
55
5.1. C
odigos de Hamming y c
odigos simplex . . . . . . . . . . . . . . 55
5.2. C
odigos de Golay . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3. C
odigos de Reed-Muller (binarios) . . . . . . . . . . . . . . . . . 59
3

INDICE GENERAL

4
6. Cuerpos finitos
6.1. Suma y producto en cuerpos finitos
6.2. Polinomios y n
umeros algebraicos .
6.3. Existencia y unicidad. . . . . . . .
6.4. Ejemplos . . . . . . . . . . . . . .
6.5. El anillo F[X]/(X n 1) . . . . . .
6.6. Automorfismos . . . . . . . . . . .

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

7. C
odigos cclicos
7.1. Conceptos b
asicos . . . . . . . . . . . . . . .
7.2. C
odigos cclicos y anillos de polinomios . . . .
7.3. Ceros de un codigo cclico y matriz de control
7.4. Codificaci
on y decodificacion en codigos
cclicos . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

63
63
65
67
69
71
76

. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .

77
77
78
81

. . . . . . . . . . .

82

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

.
.
.
.
.
.

8. C
odigos cclicos cl
asicos
85
8.1. C
odigos de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.2. C
odigos BCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.3. C
odigos de Reed-Solomon . . . . . . . . . . . . . . . . . . . . . . 89

Captulo 1

Informaci
on y c
odigos
1.1.

La transmisi
on de la informaci
on

La transmisi
on de la informacion digital consiste en enviar mensajes, o cadenas de palabras que son, a su vez, cadenas de elementos de un alfabeto o
conjunto de smbolos, donde incluimos tambien a las se
nales de cualquier tipo.
As, los mensajes ser
an cadenas de smbolos que separaremos en palabras (tal
vez una o tal vez, muchas).
Los smbolos se envan a traves de un canal. Un canal es cualquier medio
de transmisi
on, como puede ser el cable de telefono, la fibra optica, las ondas
de radio, el empleado del supermercado que teclea en la caja el codigo de
barras de un producto cuando ha fallado el lector, etcetera; aunque al final
siempre trabajaremos con algunas restricciones. Desde el punto de vista de la
fiabilidad de la transmisi
on hay dos tipos fundamentales de canales; a saber,
los canales con interferencia (o ruido) y los canales sin interferencia. Nosotros
s
olo nos ocuparemos del estudio de los canales con interferencia o ruido, que,
obviamente, es el caso donde se pueden producir errores.
En este texto, adem
as, s
olo nos ocuparemos de la parte cuantitativa de la
transmisi
on de la informaci
on y no del significado (si analizamos el contenido
de los mensajes que normalmente se transmiten en el mundo, seguro que nos
desanimamos).
El siguiente cuadro refleja el proceso directo de la transmision de mensajes.
Figura 1.1.1: Esquema general
emisor

canal

receptor

Codificar mensajes es reescribirlos (en el caso no trivial) en forma diferente, incluso usando un alfabeto distinto, pero nosotros siempre lo haremos bajo
5

Y CODIGOS

CAPITULO 1. INFORMACION

determinadas reglas. Una de ellas es que cada palabra no pueda tener mas de
una correspondiente en el codigo; formalmente, la codificacion es una aplicacion.
Vamos a verlo. Para cualquier alfabeto A, denotamos con P al(A) el conjunto
de todas sus palabras.
1.1.1. Definici
on. Sean A, F alfabetos y sea M P al (A) un subconjunto
finito.
1. Una codificaci
on del alfabeto es una aplicaci
on inyectiva C : A P al(F).
2. Una codificaci
on de palabras de M es una aplicaci
on inyectiva C : M
P al(F).
Llamamos c
odigo a la imagen de C y se llama palabra c
odigo o simplemente
palabra a cada uno de sus elementos.
1.1.2. Observaci
on. Sean A, F alfabetos y sea M P al (A) un subconjunto
finito. Supongamos que estamos transmitiendo informacion codificada a traves
de un canal. El proceso de decodificacion lo realizaremos siempre en dos pasos;
a saber:
1. Separaremos (de alguna forma) la lista de smbolos en partes a las que
asignaremos palabras del codigo.
2. A cada palabra de codigo le asignaremos su imagen inversa (que es u
nica)
bajo C.
1.1.3. Ejemplo. Supongamos que somos un GPS para un punto que se va a
mover en un tablero. Partimos de una casilla salida y tenemos que mostrarle la
ruta a la casilla meta. Nuestro alfabeto y palabras seran A = {, , , } =
M.
Vamos a transmitir la ruta al punto de forma codificada; es decir, definiremos
una aplicaci
on C : M P al (F), para alg
un conjunto F. Luego se decodificara y
entonces el punto seguira la ruta que aparece en el tablero.
s






Elegimos una ruta que se transmitira completa


, , , , , , ,

Ahora codificamos. Lo haremos con tres codigos diferentes:

DE LA INFORMACION

1.1. LA TRANSMISION

Codificaci
on 1: Hacemos F = Z2 , y C () = 0, C () = 1, C () =
C () = 01.
Entonces enviamos la cadena 111010110101 que se transmite sin errores y
ahora se tiene que decodificar. El problema es que, quien recibe la cadena tiene
m
as posibilidades de decodificar que la contemplada por nosotros. Vamos a ver
dos opciones m
as:
10,

Una es:
que se decodifica:
Otra:
que se decodifica:

01

01 10 10

0

Como se puede apreciar, estas decodificaciones conducen a rutas no deseadas.


Para resolver este problema agregamos un smbolo, el STOP, digamos ],
como en la Clave Morse.
Codificaci
on 2: Hacemos F = Z2 {]}, y C () = 0], C () = 1], C () =
10], C () = 01] con tres smbolos, pero si solo podemos enviar binarios
podramos que hacer algo como F = Z2 , y C () = 01, C () = 001, C () =
0001, C () = 00001, o sea que el n
umero de cifras 0 nos indica la direccion
de la flecha y el 1 el STOP.
Entonces enviamos
1]1]10]10]1]10]10]1]
o, en binario,
0010010001000100100010001001
Estas codificaciones no dejan lugar a dudas sobre la decodificacion. A este
tipo de c
odigos los llamaremos c
odigos de decodificacion u
nica.
Hay una tercera alternativa:
Codificaci
on 3: C () = 00, C () = 11, C () = 10, C () = 01
Esta decodificaci
on no necesita smbolo de separacion porque tiene una propiedad permanente que de antemano sabra siempre el decodificador: que las
palabras tienen longitud fija; a saber, longitud 2. As que usa dos smbolos y es
de decodificaci
on u
nica.
Enviamos
1111101011101011
y tiene s
olo una interpretaci
on, la que queremos.

Tipos de c
odigos
En general, el uso de los c
odigos abarca tres grandes objetivos en la transmisi
on de la informaci
on:
1. Comprimir mensajes.

Y CODIGOS

CAPITULO 1. INFORMACION

2. Detectar y corregir posibles errores.


3. Garantizar la privacidad.
En pocas palabras, hacer la transmision rapida, fiable y segura. La teora
aborda por separado cada uno de estos objetivos, porque son, de hecho, independientes. As, tenemos tres tipos diferentes de codigos; a saber,
1. Los c
odigos compresores.
2. Los c
odigos correctores de errores.
3. Los c
odigos criptograficos o secretos.
Nosotros s
olo nos ocuparemos de los codigos correctores de errores. El proceso de codificar, enviar y decodificar, modifica la Figura 1.1.1 a la Figura 1.1.2.
Figura 1.1.2: Transmision codificada
emisor

- codificador


canal

receptor

6
- decodificador


1.1.4. Definici
on. Decimos que un c
odigo es de decodificaci
on u
nica si cada
vez que recibimos una cadena de smbolos, o mensaje, esta corresponde con una
u
nica lista de palabras.
1.1.5. Definici
on.
1. Decimos que una palabra tiene longitud n N si utiliza exactamente n smbolos.
2. Decimos que un c
odigo es un c
odigo en bloques (o bloqueado) si existe
n N, tal que toda palabra es de longitud n.
Se tiene por supuesto la definicion, obvia, de codigo de longitud variable.
Nosotros s
olo nos ocuparemos del estudio de los codigos en bloques. Un ejemplo
tpico e importante de codigo de longitud variable es la clave Morse. Uno de
bloques es el c
odigo de barras, donde, ademas, todo mensaje es de exactamente
una palabra.
1.1.6. Observaci
on. Es claro que todo codigo en bloques es de decodificacion
u
nica.

1.2. MEDIDA DE LA INCERTIDUMBRE Y DE LA

1.2.

INFORMACION

Medida de la incertidumbre y de la
informaci
on

Vamos a comentar c
omo se lleva a cabo la cuantificacion de la informacion
(que se va a transmitir a traves de un canal). En [8] y [10] se pueden encontrar exposiciones m
as amplias de este tema. Nosotros solo vamos a hacer una
exposici
on breve e intuitiva, tratando de no perder por ello claridad.
El criterio para cuantificar la informacion sera mas informa mientras mas
sorprende o, en terminos m
as cercanos a la probabilidad, mas informacon
tiene mientras menos probable es que ocurra. Por ejemplo, casi nunca veremos
una noticia que diga ma
nana por la ma
nana saldra el sol; ya sabemos que va
a ocurrir ma
nana y muchos a
nos pues no esta previsto a corto plazo una colision
o que el sol se apague. Lo que es noticia es que en un da despejado el sol se
esconda; es decir, que haya un eclipse de sol.
Vamos a transmitir informaci
on usando palabras; es decir, cadenas de smbolos (y se
nales). Cada smbolo tiene una probabilidad de aparecer; as que, si A
es un alfabeto, podemos establecer una distribucion de probabilidades sobre el
suceso que aparezca a A (en una palabra o en un mensaje)
Una fuente de informaci
on [8] (source of transmision [10]) es una pareja
(A, P) formada
por
un
alfabeto
A junto con una distribucion de probabilidades
P
P; es decir, aA p(a) = 1. Se puede extender la fuente original; por ejemplo, si
A = {a1 , a2 } (que normalmente denotamos con A = {0, 1}), podemos extenderla
a An , de la forma obvia. Entonces, volvemos a calcular la probabilidad. Por
ejemplo,
si los sucesos son independientes entonces para v An , se tiene p(v) =
Qn
seguimos con las palabras, etcetera.
i=1 p(v(i)) y as
Cuando no se preste a confusi
on, escribiremos A = (A, P).
Lo anterior puede replantearse en terminos puramente probabilsticos y definir una fuente de informaci
on como una variable aleatoria sobre el espacio de
sucesos de las palabras o los smbolos.
1.2.1. Ejemplo. Vamos a construir una fuente para enviar palabras en binario,
simplificando el c
odigo ASCII.
Supongamos que tenemos un canal binario para enviar mensajes de palabras
en castellano. Podemos usar, por ejemplo, el C
odigo ASCII extendido (American
Standard Code for Information Interchange).
Es una codificaci
on numerica de la que escribimos su version binaria, de
28 = 256 smbolos (letras, n
umeros, etc.) pensado sobre todo para transmitir
textos en ingles. Cada smbolo tiene asociada una cadena 8 dgitos binarios.
El c
odigo ASCII tiene dos tipos de caracteres, los imprimibles y los de control. La tabla del c
odigo es muy larga y no podemos reproducirla completa aqu.
Lo que haremos es crear nuestra propia tabla solo para las letras del castellano
y algunos smbolos, como los parentesis y el nuevo parrafo.

Y CODIGOS

CAPITULO 1. INFORMACION

10

Imitaci
on del c
odigo ASCII
Smbolo

Decimal

Binario

t
(
)
 (salto)
.
A
B
C
D
E
F
G
H
I
J
K

00
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15

00000
00001
00010
00011
00100
00101
00110
00111
01000
01001
01010
01011
01100
01101
01110
01111

Smbolo
L
M
N

N
O
P
Q
R
S
T
U
V
W
X
Y
Z

Decimal

Binario

16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31

10000
10001
10010
10011
10100
10101
10110
10111
11000
11001
11010
11011
11100
11101
11110
11111

Ahora vamos a calcular la distribucion de la fuente para A = {0, 1}.


Si fuesemos a usar estas letras para enviar mensajes en cualquier lengua,
debemos obtener la distribucion de la fuente simplemente contando las frecuencias; es decir, asumiendo que las letras estan distribuidas uniformemente. Es
obvio que vuleve a salir equiprobable; es decir p(0) = p(1) = 21 .
Ahora vamos a suponer que solo nos interesa enviar palabras en castellano.
Entonces es conveniente tomar en cuenta la distribucion de las letras y demas
caracteres del castellano, que aparecen a continuacion.

Distribuci
on de las letras del castellano y el espacio
Smbolo
E
t
A
O
L
S
N
D
R
U
I

Probabilidad
0,1460
0,1140
0,1041
0,0756
0,0729
0,0685
0,0610
0,0598
0,0430
0,0418
0,0361

Smbolo
T
C
P
M
Y
Q
.
B
H
G
F

Probabilidad
0,0288
0,0254
0,0240
0,0185
0,0134
0,0133
0,0097
0,0080
0,0078
0,0064
0,0045

Smbolo
V

J

N
(
)
Z
X
K
W

Probabilidad
0,0034
0,0029
0,0027
0,0026
0,0019
0,0019
0,0013
0,0005
<0,0001
<0,0001

1.2. MEDIDA DE LA INCERTIDUMBRE Y DE LA

INFORMACION

11

Esta tabla ya es una fuente, pues tiene sus smbolos y su distribucion. Nosotros queremos una fuente EN BINARIO y que considere la aparicion de 0 y 1
como sucesos independientes. Vamos a calcular la distribucion de la fuente para
A = {0, 1} tomando la tabla de imitacion del codigo ASCII y la distribucion
anterior.
Las cuentas para la nueva distribucion las haremos simplemente calculando
las probabilidades del 0 y 1, de la forma habitual, por ejemplo,
X
p(0) =
p(smbolo) p(0|smbolo)
smbolos

y lo mismo con p(1). As obtenemos


Distribuci
on con la tabla binaria y las letras del castellano.

Smbolo
0
1

Probabilidad
0,6137
0,3863

Un ejemplo m
as manejable es el siguiente.
1.2.2. Ejemplo. Supongamos que en la situacion del GPS (1.1.3), conocemos
una distribuci
on.
Smbolo

Probabilidad
1/2
1/4
1/16
3/16

Codificacion
00
11
10
01

Igual que antes, calculamos la nueva distribucion binaria.


Distribuci
on con la tabla binaria y el GPS.

Smbolo
0
1

Probabilidad
5/8
3/8

Medida de informaci
on
En vista de lo anterior, queremos determinar la cantidad de informacion o
grado de incertidumbre para un smbolo o una palabra; o mas bien, el suceso
de que aparezca.
Supongamos que tomamos una muestra de una fuente de informacion (A, P);
es decir, elegimos aleatoriamente un elemento de la fuente de acuerdo con la

Y CODIGOS

CAPITULO 1. INFORMACION

12

distribuci
on de probabilidades que tiene. Entonces, ANTES de que el muestreo tenga lugar existe una cantidad de INCERTIDUMBRE asociada con la
de recoger la muestra, hemos ganado cierta cantidad
aparici
on y, DESPUES

de INFORMACION. As, aunque ambos conceptos tendran asociada la misma


cantidad, que denotaremos con I(a)1 , para a A, el grado de incertidumbre es
un concepto a priori mientras que la cantidad de informacion es un concepto a
posteriori.
Ahora queremos un modelo para calcular la cantidad de informacion. Lo
haremos en dos pasos.
1. Como hemos visto, el concepto de cantidad de informacion esta asociado
con la probabilidad de tal forma que queremos que haya mas informacion
cuanto menos probable sea el suceso. En terminos de matematicas, queremos una proporcion inversa. As que buscamos una funcion de la forma
f (1/p), donde f sera una funcion creciente (por lo pronto la identidad
sirve, pero todava no terminamos con las exigencias).
2. Consideremos el caso en que los sucesos son independientes (el caso mas
simple). Nos interesa que la cantidad se comporte como tal, es decir que la
cantidad de informacion asociada a la interseccion de sucesos sea la suma
de sus cantidades. Como bien sabemos, la probabilidad de que ocurran
dos o m
as sucesos, digamos p(a) = p y p(b) = q, es el producto de sus
probabilidades; esto es pq; as que necesitamos que cumpla la siguiente
propiedad
 
 
 
1
1
1
=f
+f
f
pq
p
q
De toda la vida conocemos el siguiente resultado.
1.2.3. Teorema. Sea f : (0, 1] R una funci
on tal que:
1. f es decreciente y
2. f (xy) = f (x) + f (y) para todo x, y (0, 1].
Entonces existe una constante k < 0 tal que f (x) = k ln(x).
Demostraci
on. Por usar un libro de codigos, vease [5, Proposicion 2.2.2], o cualquier libro de c
alculo.
Esto nos lleva a la siguiente definicion.
1.2.4. Definici
on. Sea (A, P) una fuente de informaci
on. El grado de incertidumbre o la cantidad de informaci
on (binaria) asociado al smbolo a A (al
suceso de que este aparezca) est
a dado por


1
I(a) = log2
p(a)
siempre que p(a) 6= 0. En el caso p(a) = 0, diremos que no podemos determinar
la informaci
on.
1 Por

suerte, informaci
on e incertidumbre empiezan con i.

1.2. MEDIDA DE LA INCERTIDUMBRE Y DE LA

INFORMACION

13

En principio, la elecci
on del logaritmo en base 2 es arbitraria y se puede
definir informaci
on n-aria. En base 2, la unidad queda establecida en un canal
binario equiprobable.
Sea (A, P) una fuente de
on donde A = {a, b} (puedes sustituir
 informaci
por 0 y 1 si quieres) y P = p 
= 21 , q= 12 . En este caso, es trivial que I(a) =
 
1
I(b) = 1; pues log2 p1 = log2
= log2 (2) = 1.
( 12 )
As que
1.2.5. Definici
on. Un bit es la cantidad de informaci
on (binaria) que tiene un
elemento de una fuente binaria y equiprobable.
N
otese que en una fuente equiprobable con tres elementos, la cantidad de
informaci
on (binaria) que tiene cada smbolo es MAYOR que un bit.
1.2.6. Ejemplos.
1. En la situaci
on de (1.2.1), podemos calcular algunas cantidades de informaci
on usando la fuente de las letras del castellano yu su paso a binario.
I(E) = 2, 7760 bits.
I(I) = 5, 1178 bits.
I(Z) = 9, 5872 bits.
Adem
as, en la tabla de la distribucion binaria, I(0) = 0, 7744 e I(1) =
1, 3722.
2. En la situaci
on de la distribucion del GPS (1.2.2) se tiene:
a) I () = 1.
b) I () = 2.
c) I () = 4.
d ) I () = 4 log2 (3).
3. Ahora vamos a ver un caso trivial, que a veces ilustran. Sea (A, P) una
fuente de informaci
on donde A = {a}, solo tiene un smbolo. En este caso,
trivialmente, I(a) = 0 y esto nos corrobora algo obvio. Si solo hay un
smbolo, no hay informaci
on.

Entropa
Seg
un el diccionario de la RAE, entropa tiene dos usos. El primero en fsica:
medida del desorden de un sistema. El segundo en teora de la informacion:
medida de incertidumbre (y en consecuencia, de informacion).
Formalmente, la entropa (binaria) de una fuente de informaci
on, digamos
(A, P), es el promedio ponderado de la cantidad de informacion (cuando este definida, claro) de los smbolos de A; es decir,


X
X
1
( bits ).
H (A, P) =
p(a)I(a) =
p(a) log2
p(a)
aA

aA

Y CODIGOS

CAPITULO 1. INFORMACION

14

A efectos de c
alculo,usaremos
la convencion de que si p(a) = 0 entonces


1
p(a)I(a) = 0 = p(a) log2 p(a) ya que 0 = lmx0 x log2 x1 .
1.2.7. Ejemplos.
1. En la situaci
on del castellano (1.2.1) se tiene que entropa del alfabeto y
los smbolos es 4, 0665, mientras que la del binario es 0, 9624.
2. En la situaci
on del GPS (1.2.2) se tiene que la entropa de las flechas
es 2 3 log2 (3)/16, mientras que la del binario correspondiente es 3
(5 log2 (5) + 3 log2 (3)) /8.
La siguiente propiedad es crucial
1.2.8. Teorema. Sea (A, P) una fuente de informaci
on. Entonces 0 H (A, P)
log2 (|A|).
A
un m
as,
1. H (A, P) = 0 si existe p(a) = 1 con a A y
2. H (A, P) = log2 (|A|) si la distribuci
on es equiprobable.
Como caso particular, muy importante, tenemos la fuente A = {0, 1} con
distribuci
on P = {p, 1 p}. En este caso
1
1
).
H (A, P) = p log2 ( ) + (1 p) log2 (
p
1p
A
un m
as, se puede probar que H (An , P 0 ) = nH (A, P). En [10] y [8] se
tienen captulos completos dedicados a propiedades de la funcion de entropa.
La naturaleza de los smbolos suele ser sustituida por la probabilidad de que
aparezcan; por eso, cuando se es mas formal, las funciones de entropa solo tienen
como argumento la distribucion de probabilidades, como la binaria, H2 (p) =
H2 (p, 1 p). De hecho, la entropa es un concepto puramente probabilstico.

1.3.

Capacidad de un canal con interferencias

Sea (A, P) una fuente de informacion que se va a enviar a traves un canal, y


sea S el conjunto de smbolos de salida. Vamos a suponer que el canal es discreto
y sin memoria; es decir, suponemos que los conjuntos de smbolos A y S son
finitos y que la transmision de un smbolo no esta influida por la transmision
anterior.
Entendemos por enviar informacion por un canal, como transmisiones
completas; es decir, el envo de un smbolo del alfabeto de entrada implica la
recepci
on (completa) de un smbolo del de salida. Formalmente:
1.3.1. Definici
on.
Un canal discreto consiste en un alfabeto de entrada A, un alfabeto de
salida S, ambos finitos, junto con una distribuci
on de probabilidades condicionadas {p (s|a) | (a, s) A S}.

1.3. CAPACIDAD DE UN CANAL CON INTERFERENCIAS

15

Le llamaremos adem
as sin memoria cuando se verifique que, si a = a1 an
palabras
de los alfabetos A y S, respectivamente, eny s = s1 sn son
Qn
tonces p (s|a) = i=1 p (si |ai ).
Transmitir un smbolo (de entrada) a traves del canal significa asociar a
dicho smbolo, aleatoriamente, un smbolo de salida seg
un la distribuci
on
condicionada anterior.
Por su definici
on, todo canal discreto, una vez ordenados los smbolos del
alfabeto, tiene asociada una matriz cuyas entradas son las probabilidades condicionadas. Llamaremos matriz del canal (seg
un cierto orden) a dicha matriz.
Al enviar informaci
on por un canal con interferencias ocurrira que entrara un
smbolo a A (o una palabra) y puede llegar al receptor uno (y solo uno) de
los tres casos:
1. El smbolo de salida deseado (por ejemplo el propio a) (acierto)
2. Un smbolo no deseado (error)
3. Un smbolo imposible de interpretar (borron o borradura, erasure).
El hecho de que exista un smbolo de salida deseado nos llevara finalmente a
la idea de perdida de informaci
on (por falta de fiabilidad). Intuitivamente, podemos darnos una idea de fiabilidad por medio de la probabilidad condicionada.
La existencia de probabilidad condicionada implica que se genere informacion,
cuya media ponderada, como siempre, sera llamada entropa condicionada y que
veremos a continuaci
on.

Entropa condicionada y conjunta


Emitir un smbolo a A de la fuente de entrada y recibir un smbolo s S
de salida tiene asociadas entonces las siguientes probabilidades:
1. La probabilidad, p(a), de que se enve a A, con lo que hacemos una
fuente (A, P) (ya conocemos la entropa asociada, H (A, P)).
2. La probabilidad condicionada p(s|a), con a A y s S y al conocer ahora
p(a), obtenemos la otra probabilidad condicionada p(a|s), que interpretaremos como la probabilidad de que habiendo recibido s S se hubiese
enviado a A.
P
3. La probabilidad p(s) = aA p(a)p(s|a) de que se reciba s S (luego
tambien podremos calcular su entropa).
4. Por u
ltimo, la probabilidad de que se emita a, y se reciba s, que denotamos
p(a s).
1.3.2. Observaci
on. Es sabido que, por definicion, p(a s) = p(a)p(s|a) =
p(s)p(a|s).

16

Y CODIGOS

CAPITULO 1. INFORMACION

La situaci
on anterior determina tres informaciones nuevas a partir de las
cuales se puede calcular entropa. Como la relacion entre informacion y entropa
es muy clara y sencilla, vamos directamente a centrarnos en las tres nuevas
entropas.
Primera. El suceso se recibe (o asocia) s S a alg
un smbolo de entrada determina una nueva fuente de informacion para los smbolo de S, que
denotamos (S, Q). As, obtenemos una entropa que llamaremos H (S, Q).
La segunda es entropa propia de la transmision a traves del canal o entropa de la informaci
on condicionada; es decir, la incertidumbre sobre el origen
de cada smbolo s S recibido o la incertidumbre sobre el smbolo que se recibir
a al enviar un a A, que ya sabemos que coinciden.
1.3.3. Definici
on. Sean A = (A, P) y S = (S, Q) fuentes de informaci
on (o
dos variables aleatorias).
1. La entropa condicionada para un elemento s S es la media


X
1
.
p(a|s) log2
H (A|s) =
p(a|s)
aA

2. La entropa condicionada es entonces


X
H (A|S) =
p(s)H (A|s) .
sS

An
alogamente se definen H(S|a) y H (S|A).
En terminos de la transmision podemos decir en palabras, que la entropa
condicionada mide la incertidumbre sobre A, una vez que se conoce S.
La tercera es la entropa conjunta, que proviene de la probabilidad conjunta
p(a s), que denotamos H (A, S) cuando las distribuciones esten fijadas. La
definici
on es obvia pero la escribimos.
1.3.4. Definici
on. Sean A = (A, P) y S = (S, Q) fuentes de informaci
on. La
entropa conjunta es la media ponderada de la informaci
on conjunta; es decir,


X
1
.
H (A, S) =
p(a s) log2
p(a s)
aA,sS

Las siguientes propiedades son faciles de verificar y aparecen, por ejemplo,


en [10, Captulos 1 y 3]
1.3.5. Teorema. Sean A = (A, P) y S = (S, Q) fuentes de informaci
on (o
m
as en general, variables aleatorias). Entonces:
1. H (A, S) H (A) + H (S) y la igualdad ocurre si y s
olo si las variables
son independientes.
2. H (A|S) = H (A, S) H (S)

1.3. CAPACIDAD DE UN CANAL CON INTERFERENCIAS

17

3. H (A|S) H (A).
Ahora tenemos que llevar los conceptos anteriores a la situacion en que la
probabilidad conjunta es la incertidumbre sobre el orgen de un smbolo, lo cual
interpretaremos como perdida de la informacion.

Informaci
on mutua y capacidad
Imaginemos que tomamos la muestra a A y enviamos el smbolo a traves
del canal. Ahora el receptor tiene un smbolo s S. Si el suceso de recibir s
implica que fue enviado a entonces el emisor y el receptor tienen la misma informaci
on. Si el receptor no est
a seguro de que el smbolo enviado fue a entonces el
emisor (que tiene el smbolo) tiene mas informacion original que el receptor. As,
podemos interpretar la entropa condicionada como la informacion que se va a
perder (por un problama de fiabilidad) sobre A o como puedes equivocarte
en la elecci
on del origen de un smbolo y por tanto fallar en el conocimiento de
la informaci
on original.
Probabilsticamente, la informacion mutua de dos fuentes de informacion, A
y S, es la cantidad de informaci
on que tiene A menos la cantidad de informaci
on
que queda de A una vez que se conoce S. Es decir, la cantidad de informacion
sobre A en virtud del conocimiento de S.
1.3.6. Definici
on. Sean A = (A, P) y S = (S, Q) fuentes de informaci
on de
un canal discreto y sin memoria. La informaci
on mutua entre las fuentes es
I (A, S) = H (A) H (A|S) = H (S) H (S|A)
Vamos a ver un par de ejemplos extremos que ilustren nustra interpretacion.
1.3.7. Ejemplos.
1. Supongamos que A, S son fuentes de informacion equiprobables de un
canal donde la distribuci
on conjunta tambien es equiprobable (y por tanto
independiente). Por (1.2.8) y (1.3.5) se tiene que H (A|S) = H (A) que
nos indica que una vez que conoces S tienes la misma incertidumbre sobre
A y por tanto la informaci
on mutua es I (A, S) = 0 (perdimos toda la
informaci
on al transmitir).
2. El otro extremo. Supongamos que A = S y para todo a A se tiene
que p(a|a) = 1, as que p(a|s) = 0 si a 6= s. En este caso, la entropa
condicionada vale H (A|S) = 0 y nos indica que una vez que recibimos,
digamos a = s, ya no hay incertidumbre sobre el origen, seguro que el
origen fue a y la informaci
on mutua es I (A, S) = H (A) (conservamos
toda la informaci
on al transmitir).
Desde el punto de vista de la correccion de errores de transmision, donde
dado un smbolo a A tenemos un favorito s S, la informacion mutua da
una medida de la fiabilidad de una transmision.
Ahora vamos a definir la capacidad de un canal. Consideremos un canal con
smbolos de entrada A y de salida S y todas las posibles fuentes AP = (A, P).

Y CODIGOS

CAPITULO 1. INFORMACION

18

Cada fuente determina otra SP = (S, QP ) y con ellas se tiene una informacion
mutua, que denotamos I (AP , SP ).
1.3.8. Definici
on. La capacidad de un canal es el valor m
aximo de las informaciones mutuas; es decir,
C(A) = max {I (AP , S) | P es una distribuci
on }
Desde el punto de vista de la transmision, donde tenemos favoritos la
capacidad de un canal sera su fiabilidad.
1.3.9. Ejemplo. Canales simetricos
Un canal decimos que es simetrico (por filas y columnas) si al formar la
matriz del canal, los conjuntos de valores de las entradas de todas las filas son
iguales y lo mismo ocurre con las columnas; es decir que, salvo el orden, todas
las filas tienen las mismas entradas y lo mismo ocurre con las columnas.
En este caso, se puede probar que la capacidad del canal se alcanza con la
distribuci
on equiprobable en A y es log2 (|A|) H(S|a) donde el sustraendo es
1
.
constante para todo a A y p(a) = |A|
Como caso particular, vamos a calcular la capacidad del canal simetrico
binario. Aqu se sigue el esquema
1p
- 0
*
HH
p
H
H
 HpH

j 1
H
1 1 p

0 H

donde p 1/2. (Si fuese p 1/2, hacemos que al recibir se cambie el dgito.)
La distribuci
on condicionada se refleja en la matriz


1p
p
(pij ) =
p
1p
que llamaremos la matriz del canal.
Entonces, como el maximo se alcanza cuando la fuente es equiprobable,
tomamos A = {0, 1} = S, P = {1/2, 1/2}. Luego,
 
 
1
1
1
1
H (A) =
log2
+ log2
=1
2
2
2
2
 
2
2
X
1 X
1
H (A|A) =

pij log2
=
2
p
ij
j=1
i=1
=

(1 p) log2 (1 p) p log2 (p)

y por tanto
I (A, A) = H (A) H (A|A) = 1 + p log2 (p) + (1 p) log2 (1 p) .


1.4. CODIGOS
CORRECTORES DE ERRORES

1.4.

19

C
odigos correctores de errores

Vamos a establecer el contexto que sera nuestra hipotesis de trabajo. Tenemos un canal discreto y sin memoria (1.3.1), digamos C y fuentes A y S, de
entrada y salida respectivamente.
Para cada entrada a A hemos elegido un u
nico smbolo sa S, que
llamaremos el smbolo correspondiente o deseado para a. Diremos que se ha
producido un error de transmisi
on cuando habiendo enviado el smbolo a, el
smbolo recibido no sea sa .
Vamos a hacer algunos c
alculos.
1. La probabilidad de cometer un error habiendo enviado el smbolo a A
a traves de C, es
X
pe,C (a) =
p (s 6= sa |a) = 1 p (sa |a) .
sS

2. Entonces, la probabilidad de que se cometa un error al enviar alg


un simbolo es la media ponderada
X
X
Pe,C =
p(a)pe,C (a) =
p(a) (1 p (sa |a))
aA

X
aA

aA

p(a)

X
aA

p(a sa ) = 1

p(a sa )

aA

De las igualdades anteriores uno usa la que convenga.


1.4.1. Ejemplo. Supongamos que tenemos un cuerpo finito F como conjunto
de smbolos de entrada y salida, con distribuciones equiprobables en un canal
C. Si p (x|x) = 1 p entonces peC (x) = p y Pe,C = p.
1.4.2. Observaci
on. Una vez fijado un codigo, C, podremos calcular la probabilidad de que una palabra sea enviada. Lo denotaremos con p(c). Notese que
esto no influye en la probabilidad de cometer un error una vez que se tome una
muestra c C.
El objetivo de los c
odigos correctores de errores es a
nadir informacion (redundancia) al mensaje para poder recuperarlo a
un cuando se hayan producido
(no muchos) errores durante la transmision. Como veremos, la clave esta en
la manera como agregamos informacion; es decir, como codificamos y tambien
c
omo descodificamos. Es ah donde interviene la matematica.
Vamos a ver c
omo afectan la interferencia y la correccion a la Figura 1.1.2.
Correcci
on de errores de transmisi
on. Esquemas y errores de decisi
on
En la pr
actica, podemos sustituir, respetando la distribucion de probabilidades, los smbolos de entrada y salida A y S por un cuerpo finito F al que
seguiremos llamando alfabeto. Un codigo en bloques sera entonces un subconjunto C Fn . El c
odigo en bloques proviene de haber codificado las palabras
de M P all (A) que son de longitud l n.

Y CODIGOS

CAPITULO 1. INFORMACION

20

Figura 1.4.1: Correccion de errores

canal con
interferencia

emisor

receptor

6
- codificador


decodificador

6
correccion de
- errores


Consideremos Fn , el conjunto de las palabras de longitud n. Un esquema de


decisi
on es una funci
on parcial de Fn a las palabras del codigo; es decir, una
relaci
on donde no todo elemento del dominio tiene imagen (aquellas palabras,
que no sepamos c
omo corregir, no tendran imagen). Para cada c C, definimos
Bc = {v Fn | f (v) = c} .

(1.4.1)

Como f es aplicaci
on parcial entonces los {Bc }cC son disjuntos aunque tal vez
no sean una partici
on de Fn .
parcial
Considerese, pues, un esquema de decision f : Fn C. Para una
palabra s Fn , si f (s) esta definido, entonces el esquema decide que la
palabra enviada fue f (s). Si f (s) no fue la palabra enviada decimos hemos
cometido un error de decisi
on.
A continuaci
on, vemos un grafico del proceso completo, donde denotamos
C
Fn
Fn la transmisi
on a traves del canal C.
codificaci
on

P all (A) M C Fn

esquema

decodificaci
on

Fn C P all (S)

1.4.3. Observaci
on. Ya cuando estemos concentrados en los codigos, a estos
errores los llamaremos errores de decodificacion. La razon es que se considera la
decisi
on o correcci
on como parte de la decodificacion.
Vamos a calcular la probabilidad de cometer un error de decision. Por definici
on, decimos que hemos cometido un error de decision cuando habiendo enviado
la palabra c C recibimos la palabra v 6 Bc ; luego la probabilidad condicionada que elegimos usar es p(v|c), y la calcularemos de diversas maneras. As, para
una palabra c C enviada, la probabilidad es
!
X
X
pe (c) =
p(v|c) = 1
p(b|c)
v6Bc

bBc


1.4. CODIGOS
CORRECTORES DE ERRORES

21

y la probabilidad total de error de decision es

Pe (C)

p(c)pe (c) =

cC

p(c)

cC

X X

p(v|c)

v6Bc

p(c)p(b|c) = 1

cC bBc

p(v f (v))

vFn

Para eliminar la suma doble quitamos la dependencia de que aparezca cada


palabra y tomamos el error m
aximo; es decir, definimos
Pemax (C) = max {pe (c) | c C} .
Claramente, como

cC

p(c) = 1,
Pe (C) Pemax (C)

Es tambien posible establecer la probabilidad de error en terminos de la otra


probabilidad condicionada.
X
X
Pe (C) = 1
p (v f (v)) = 1
p(v)p (f (v)|v)
vFn

X
vFn

p(v) (1 p (f (v)|v)) =

vFn

p(v)pe (v).

vFn

Entonces, para poder calcular la probabilidad total de error de decision necesitamos tres ingredientes: el primero es la distribucion {p(c) | c C}, el segundo es la distribuci
on {p(v|c) | (c, v) C Fn } y el otro es la familia {Bc }.
1.4.4. Ejemplos. Vamos a ver algunos esquemas de decision. Transmitimos
en un canal discreto y sin memoria con smbolos de entrada y salida F. Sea
C An un c
odigo con |C| = M . Considerense los siguientes esquemas de
parcial

decisi
on f : C Fn ,
1. Supongamos que para cada a A = F y s S = F conocemos p(a|s)
(as que, por definici
on de canal, hemos de conocer la distribucion de la
fuente de entrada, lo cual es claramente una desventaja del metodo). Con
estos datos, para cada v Fn , definimos p (C|v) = {p(c|v) | c C} y
como el canal es sin memoria, podemos definir f (v) como el vector tal que
p (f (v)|v) = m
ax p (C|v). Este esquema se conoce como error mnimo y
tiene la propiedad de que minimiza el error de decision medio.
2. Un esquema similar que evita el problema de conocer la distribucion es
considerar la otra probabilidad condicionada. En este caso, para cada v
Fn , definimos p (v|C) = {p(v|c) | c C} y como el canal es sin memoria,
podemos definir f (v) como el vector tal que p (v|f (v)) = max p (v|C). Este
esquema se conoce como m
axima verosimilitud.

Y CODIGOS

CAPITULO 1. INFORMACION

22

3. Ahora supongamos que F = Fq y que la probabilidad de que se cometa un


error al enviar un smbolo x Fq es p(Fq \ {x}|x) = p. As que la probabilidad de que se cometan k n errores en unas posiciones especficas de
una palabra es pk (1 p)(nk) .
Ahora vamos con el esquema. Definimos, para u, v Fn , la distancia de
Hamming
d(u, v) = |{ {1, . . . , n} | u() 6= v()}| .
Ahora,
mn {d(c, c0 ) | c 6= c0 C}
d(C) 1
c
t = b
2
Sk (c) = {s Fn | d(c, s) = k} , con 0 k t
t
[
Bt (c) = Bc = {s Fn | d(c, s) t} =
Bk,c (union disjunta)
d(C)

k=0

Claramente
1 pe (c)

= p ( t errores) =

p(b|c)

bBc

t
X

nk

|Sk (c)| pk (1 p)

k=0

t  
X
n
(q 1)k pk (1 p)nk .
k

k=0

Pero esto u
ltimo ocurre con cada palabra; as que la probabilidad de error
(o acierto) en el codigo C es independiente de las palabras y podremos
sacarlo como factor com
un. As,
!
t  
X
X
n
k k
nk
Pe (C)
p(c) 1
(q 1) p (1 p)
k
cC
k=0
!
!
t  
X
X
n k
=
p(c)
1
p (q 1)k (1 p)nk
k
cC
k=0
t  
X
n k
= 1
p (q 1)k (1 p)nk .
k
k=0

1.5.

Teorema de Shannon

Como hemos visto en la seccion anterior, codificar implica, entre otras cosas,
sumergir un c
odigo C en un conjunto ambiente Fn , tal que la longitud de sus
palabras, digamos n, sea mayor o igual que la longitud original de las palabras,
digamos k.

1.5. TEOREMA DE SHANNON

23

En esta situaci
on, es claro que el canal tiene que transmitir n smbolos del
c
odigo para que podamos conocer k smbolos de la fuente; es decir, tenemos una
tasa de R = k/n-smbolos de la fuente por cada smbolo del codigo ya que, conforme a la definici
on usual de tasa, es el cociente del n
umero de smbolos validos
que vamos a producir sobre el total de smbolos que tenemos que transmitir.
N
otese que k = log|A| (|C|). As llegamos al concepto de tasa de transmision.
1.5.1. Definici
on. La tasa de trasmisi
on de un c
odigo C An es el cociente
del n
umero de smbolos que originalmente tiene una palabra sobre el n
umero
necesario de smbolos para transmitirla usando dicho c
odigo.
R(C) =

log|A| (|C|)
n

Como veremos, el teorema de Shannon nos dice que mientras mantengamos


la tasa de transmisi
on por debajo de la capacidad del canal, podemos compensar
la perdida de informaci
on que se produce en el canal al grado de precision que
deseemos.
1.5.2. Teorema [Shannon]. Sea C un canal discreto y sin memoria, con capacidad C (C) = C. Entonces, para cualquier n
umero R < C existe una sucesi
on
Cn de c
odigos q-arios, junto con sus esquemas de decisi
on fn , que cumplen:
1. Cn es un c
odigo de longitud n, y |Cn | = dq Rn e elementos; es decir, tiene
tasa al menos R.
2. La probabilidad de error m
axima de los esquemas fn tiende a 0 cuando n
tiene a infinito; es decir,
lm Pemax (Cn ) = 0.

En [5, 10] y otros se comenta el recproco de este resultado.

24

Y CODIGOS

CAPITULO 1. INFORMACION

Captulo 2

Generalidades sobre
C
odigos
2.1.

Conceptos b
asicos

Una vez que hemos fijado la intencion y el contexto del estudio de los codigos
correctores de errores, vamos tambien a fijar un poco la notacion.
2.1.1. Definici
on. Sea A un alfabeto (finito), con |A| = q, y considerese An ,
como siempre. Llamamos c
odigo q-ario en bloques de longitud n a cualquier
subconjunto no vaco de An . Al propio An lo llamamos el conjunto ambiente.
Sea M = |C|. Decimos que C tiene par
ametros (n, M ), o que C es un (n, M )c
odigo sobre A.
A los elementos de C les llamaramos palabras del c
odigo.
2.1.2. Notaci
on. A los largo de todo el texto, nuestros alfabetos ser
an siempre
cuerpos finitos que denotaremos F o Fq , para q = pr , con p, r N y p primo
(cuando queramos hacer enfasis en el cardinal) y entenderemos por c
odigo un
c
odigo corrector de errores definido en bloques. El conjunto ambiente ser
a Fn ,
a quien llamaremos el espacio ambiente.
2.1.3. Ejemplo. [C
odigos de repeticion] Consideremos a F2 y supongamos que
s
olo queremos enviar los mensajes s y no. Vamos a suponer tambien que
de alguna manera sabemos que el canal comete a lo mas dos errores cada 5
emisiones. Usamos entonces 5 dgitos como sigue.
s 7 00000.
no 7 11111.
El c
odigo es entonces C = {00000, 11111}.
Para crear este c
odigo hemos hecho posiblemente lo mas antiguo que se hace
para eliminar errores, repetir la palabra (5 veces). Este tipo de codigos se llaman
c
odigos de repetici
on.
25

26

CAPITULO 2. GENERALIDADES SOBRE CODIGOS

2.1.4. Ejemplo. El ISBN (International Standard Book Number) es un codigo


de 11 smbolos; a saber, {0, 1, . . . , 9, X}, y palabras de longitud 10 divididas en
4 grupos de datos, que describimos a continuacion.
Todos los smbolos, salvo posiblemente el u
ltimo, son numericos.
El primer grupo tiene un dgito e indica el idioma en que esta escrito el
libro.
El siguiente grupo tiene 2 dgitos e indica la editorial.
El tercer grupo tiene 6 dgitos y los asigna la propia casa editorial.
El cuarto grupo tiene un solo dgito (numerico o X). El dgito de control
(check sum).
El dgito de control es lo que nos interesa. Se calcula con la forma completa a 10; es decir, si x1 , . . . x9 son los dgitos, hacemos
10x10 x10

9
X

i xi

mod 11

i=1

porque 10 1 mod 11. Es decir que x10 cumple que


10
X

i xi 0

mod 11.

i=0

La parte izquierda de la suma se llama suma de verificaci


on del pesado de
x1 . . . , x10 .
El problema aqu es que x10 = 10 es un valor posible y solo podemos escribir
UN dgito. Entonces, en ese caso hacemos x10 = X y a efectos de calculo ya
sabemos que n
umero asignar.
Por ejemplo, el c
odigo 0 19 859617 0 (los guiones se pueden poner
donde uno quiera). El primer dgito nos dice 0, que es ingles. Los dos siguientes
19
P9 son de Oxford University Press, el 859617 es el asignado por la Casa y
i=1 i xi = 253 0 mod 11.
Vamos a ver los parametros de este codigo. El espacio ambiente es F10
11 . En
principio x1 , . . . , x9 s
olo tiene restriccion en el alfabeto; as que M = 109 seg
un
la proposici
on anterior, y d(ISBN ) = 2, ya que lo menos que difieren dos palabras antes del dgito de control es 1, pero luego van a diferir en el dgito, as que
ser
an al menos 2. Este codigo, entonces detecta un error y no corrige.
Vamos a ver que si se comete un error entonces el codigo lo detecta. Sean
x = x1 . . . x10 y supongamos que se comete un error que cambia xi0 por yi0 .
Hacemos y la palabra alterada. Entonces x y = i0 (xi0 yi0 ). Notese que ni i0
ni xi0 yi0 son m
ultiplos de 11, por lo que 11 - y.


2.1. CONCEPTOS BASICOS

27

Distancia mnima y correcci


on
En (1.4.4) vimos la noci
on de distancia de Hamming como ejemplo de esquema de decisi
on. Esta noci
on corresponde a la idea mas cerca mientras menos
errores se hayan cometido, sin importar cuales fueron los dgitos que se cambiaron.
Vamos a formalizar un poco a este esquema de decision porque es el u
nico
que usaremos en el curso.
2.1.5. Definici
on. Sea F un cuerpo.
La distancia de Hamming entre dos vectores u, v Fn es el n
umero natural:
d(u, v) = |{ {1, . . . , n} | u() 6= v()}| .
La distancia mnima de un c
odigo, C Fn es
d(C) = mn {d(u, v) | u, v C} .
La siguiente definici
on es una variante u
til en algunos calculos, pero sobre
todo lo ser
a cuando los c
odigos sean espacios vectoriales.
2.1.6. Definici
on. Sea F un cuerpo. Para un vector u Fn definimos el peso
de u como
(u) = |supp(u)| = d(0, u).
2.1.7. Proposici
on. Sea C un c
odigo sobre un alfabeto F. Entonces la distancia
de Hamming cumple los axiomas de metrica; a saber,
1. d(u, v) = 0 si y s
olo si u = v.
2. d(u, v) = d(v, u).
3. d(v, u) d(u, z) + d(z, v).
2.1.8. Observaci
on. Es f
acil comprobar las siguientes afirmaciones sobre la
distancia y el peso. Sean u, v Fn .
1. d(u, v) = (u v).
2. (u) + (u + v) (v).
3. Si F = F2 ; o sea, el caso binario, d(u, v) = (u) + (v) 2(u ? v), donde
? es el producto coordenada a coordenada.
4. En el caso no binario, hay contraejemplos al apartado anterior.
Una vez que tenemos la metrica, para determinar el esquema (vease la Ecuaci
on 1.4.1) usaremos bolas cerradas de alg
un radio con centro en las palabras
del c
odigo; es decir, si c C F y r N,
Br (v) = {w Fn | d(v, w) r} .
Es importante tomar en cuenta que si construimos un esquema de decision, las
bolas (cerradas) han de ser disjuntas dos a dos. Esto pone fuertes limitaciones
al radio y nos hace detenernos en su estudio.


CAPITULO 2. GENERALIDADES SOBRE CODIGOS

28

2.1.9. Lema. Sea C un c


odigo en Fn con distancia mnima d y sea r N. Las
bolas {Br (c) | c C} son disjuntas si y s
olo si r b d1
2 c = t.
Demostraci
on. ]. Supongamos que r > t. Notese primero que si r > d1
2
entonces 2r > d 1, as que r + 1 > d r, luego r d r.
Ahora bien, Sean x = (x1 , . . . , xn ) e y = (y1 , . . . , yn ) tales que d(x, y) = d,
con xij 6= yij y los otros xk = yk , k 6= ij , con j = 1, . . . , d. Sea z = (z1 , . . . , zn )
tal que zij = xij para j = 1, . . . , r. y zik = yik para k = r + 1, . . . , d. El resto,
iguales. Entonces d(y, z) = r y d(x, z) = d r r, por tanto z Br (x) Br (y),
lo cual es imposible.
] Supongamos que z Br (x) Br (y). Entonces
d(x, y) d(x, z) + d(z, y) b

d1
d1
c+b
c d 1 < d,
2
2

lo cual es imposible.
Por eso, al n
umero t = b d1
en como radio de empaque2 c se le conoce tambi
tado; es f
acil ver que es el maximo de los radios que hacen a las bolas disjuntas
dos a dos (vease [10, 11]). Como veremos un poco mas adelante, a t tambien se
le conoce como la capacidad de correcci
on.
2.1.10.
Observaci
o
n.
Entonces,
para
un codigo C Fn , se tiene que si r
 d1 
, el conjunto de bolas {Br (c) | c C} induce el esquema de decision
2
parcial

f : Fn C tal que f (u) = c d(u, c) r para c C y u Fn .


2.1.11. Ejemplo. Consideremos el codigo binario de repeticion, de longitud 3.
(
000
C=
.
111
En este caso, la distancia mnima es d(C) = 3 y t = 1; luego las bolas
son B1 (000) = {000, 100, 010, 001}, B2 (111) = {111, 011, 101, 110}. Notese que
B1 B2 = F3 .
A
un m
as, seg
un lo visto enP
el captulo
si la probabilidad asociada
 anterior,
1
nk
a C es uniforme, Pe (C) = 1 k=0 k3 pk (1 p)
= 3p2 2p3
De la definici
on de nuestro esquema se puede deducir con facilidad la segunda
parte del siguiente resultado.
2.1.12. Teorema. Sea C un c
odigo y d(C) la distancia mnima. Entonces
1. C puede detectar hasta d(C) 1 errores.
2. C puede corregir hasta b d(C)1
c errores.
2
Demostraci
on. (1) Sea c la palabra enviada y v la palabra recibida. Si v provine
de haber cometido menos de d(C) 1 errores al transmitir c entonces d(c, v)
d(C) 1 y por tanto x 6 C.
(2) Sea de nuevo, c la palabra enviada y v la recibida. Si se han cometido a
lo m
as t = b d(C)1
c errores entonces v Bt (c) y se corregira con exito.
2


2.1. CONCEPTOS BASICOS

29

2.1.13. Definici
on. Para un c
odigo C, se define la capacidad de correcci
on
como t = b d(C)1
c.
2
2.1.14. Definici
on. Un (n, M, d)-c
odigo es un c
odigo de longitud n, que contiene M palabras y tiene distancia mnima d.
2.1.15. Ejemplo. Volvamos al ejemplo en (1.1.3) del GPS. En ese caso, habamos
definido el c
odigo

7 00

7 11
C1 =

7 10

7 01
C1 es un (2, 4, 1)-c
odigo binario y no
Ahora vamos a agregar redundancia

C2 =

detecta ni corrige error alguno.


7
7
7
7

00|0
11|0
10|1
01|1

C2 es un (3, 4, 2)-c
odigo binario y detecta 1 error, pero no puede corregir.
Un c
odigo que s
olo detecta un error se llama c
odigo detector de un error.
Mientras m
as redundancia agregamos, mejor para la correccion y peor para
la tasa de trasmisi
on (1.5.1). Si agregamos dos dgitos mas,

7 00|000

7 11|011
C3 =
7 10|110

7 01|101
C3 es un (5, 4, 3)-c
odigo binario, tiene tasa de transmision de 1/2 (1.5.1),
corrige un error y detecta 2, pero no a la vez. Por ejemplo, si recibimos la
palabra 00001. Tenemos dos posibilidades:
1. Si asumimos que s
olo se puede cometer un error, entonces corregimos
00001 7 00000.
2. Si asumimos que se puede cometer mas de un error entonces 00001 puede provenir de 01101 con dos errores o de 00000 con un error. Entonces
detectamos pero no corregimos.
Las bolas que determina C3 que tiene t = 1, son
B1 (00000) = {00000, 10000, 01000, 00100, 00010, 00001}.
B1 (11011) = {11011, 01011, 10011, 11111, 11001, 11010}.
B1 (10110) = {10110, 00110, 11110, 10010, 10100, 10111}.
B1 (01101) = {01101, 11101, 00101, 01001, 01111, 01100}.
Fuera quedan {11000, 00011, 01110, 10101, 11100, 00111, 01010, 10001}.
Aqu tambien se puede calcular Pe (C3 ).


CAPITULO 2. GENERALIDADES SOBRE CODIGOS

30

2.1.16. Observaci
on. Normalmente tenemos que decidir si un codigo es detector o corrector, aunque los codigos detectores no los estudiaremos aparte.
2.1.17. Ejemplo. Vamos a ver los parametros del codigo del ISBN (2.1.4).
El espacio ambiente es F10
olo tiene restriccion en el
11 . En principio x1 , . . . , x9 s
alfabeto; as que M = 109 , y d(ISBN ) = 2 dada la asignacion libre en el grupo
de la editorial. Este c
odigo, entonces detecta un error y no corrige ninguno.
2.1.18. Ejemplo. Todo codigo q-ario de longitud n, de repeticion, es un (n, q, n)c
odigo.

C
odigos perfectos y radio de recubrimiento
Los c
odigos perfectos son aquellos para los cuales el esquema de decision
inducido por las bolas cerradas tiene una aplicacion o funcion (en el sentido
habitual) en vez de una funcion parcial. En [5] se llama codigo de decodificacion
u
nica a aquellos que verifican que su esquema es una aplicacion.
2.1.19. Definici
on. Un c
odigo C sobre un alfabeto F se llama perfecto si la
distancia mnima es de la forma d = 2t + 1 y
[
Fn =
Bt (x)
xC

es decir, si Fn es uni
on de las bolas de radio

d1
2

N y centro en las palabras.

Vamos ahora a dar un criterio meramente aritmetico para determinar cuando


un c
odigo es perfecto.
2.1.20. Lema. Sea Fq un cuerpo finito. En Fnq , una bola de radio r y centro
en un punto v tiene exactamente
|Br (v)| =

r  
X
n
j=0

(q 1)

elementos.
Demostraci
on. N
otese que para v Fnq , y para j posiciones fijas, {i1 , . . . , ij },
se tiene


u Fnq | v (ik ) 6= u (ik ) k = 1, . . . , j = (q 1)j .

Ahora, hay que multiplicarlo por las nj -posiciones. Con eso tenemos el cardinal
de la esfera de radio j. Finalmente, como la bola es la union de las distintas
esferas (que ya sabemos que son disjuntas) se tiene el resultado.
Ahora caracterizaremos a los codigos perfectos.
2.1.21. Teorema. Un (n, M, d)-c
odigo q-ario es perfecto si y s
olo si
M

t  
X
n
j=0


d1
(q 1) = q , con t =
.
j
2
j


2.1. CONCEPTOS BASICOS

31

Demostraci
on. Por hip
otesis, las bolas son disjuntas, as que


t  

[
X
n


Bt (u) = M |Bt (x)| = M
(q 1)j



j
j=0
uC

donde hemos fijado un x C cualquiera.


De aqu, es inmediato el resultado.
2.1.22. Ejemplo. Para cualquier (5, M, 3)-codigo binario se tiene entonces que
M (1 + 5) 25 , luego M 5.
2.1.23. Ejemplos. Algunos c
odigos perfectos.
1. Todo c
odigo binario de repeticion de longitud impar es perfecto (vease
2.1.11).
2. El c
odigo total.


3. Los c
odigos binarios de longitud impar de la forma c, 1 + c .
Pero estos c
odigos son triviales. Un problema muy interesante es encontrar
todos los c
odigos perfectos.
Cuando un c
odigo no es perfecto, nos interesa saber cuanto dista de serlo.
Para ello usamos el siguiente concepto.
2.1.24. Definici
on. Sea C un (n, M, d)-c
odigo sobre F. El radio de recubrimiento de C es
(
)
[
n
(C) = mn r N | F =
Br (c) .
cC

Es decir, el menor natural tal que la familia de bolas con dicho n


umero cubre
el espacio ambiente.
2.1.25. Observaci
on. Equivalentemente se puede ver que


(C) = maxn mn (d(v, c)) .


vF

cC

2.1.26. Definici
on. Sea C un (n, M, d)-c
odigo sobre F, con radio de empaquetamiento (o capacidad de correcci
on) t. Decimos que C es cuasi perfecto si
(C) = t + 1.
2.1.27. Ejemplo. El c
odigo C3 de (2.1.15) verifica b d1
2 c = 1 y (C3 ) = 2.
Luego, C3 es quasi perfecto.


CAPITULO 2. GENERALIDADES SOBRE CODIGOS

32

2.2.

Equivalencia y automorfismos de c
odigos

La definici
on tradicional de equivalencia de codigos es la siguiente (veanse,
por ejemplo [5, 6, 10]).
2.2.1. Definici
on. Dos c
odigos C y D, q-arios decimos que son equivalentes
si se puede obtener uno del otro a traves de una combinaci
on de operaciones de
los siguientes tipos:
1. Permutaci
on de las posiciones.
2. Permutaci
on de los smbolos de una posici
on fija.
Como aplicaci
on, un resultado muy u
til a la hora de hacer calculos.
2.2.2. Lema. Todo (n, M, d)-c
odigo sobre F es equivalente a un (n, M, d)-c
odigo sobre F, que contiene al vector 0 Fn .
Demostraci
on. Inmediato del hecho de que las traslaciones son isometras.
A su vez, cada c
odigo tiene asociado su grupo de automorfismos o autoequivalencias.
2.2.3. Definici
on. Sea F un cuerpo finito y C Fn un c
odigo. El grupo de
automorfismos de C es
Aut(C) = {x Isomn (F) | Cx = C} .
De especial interes es el grupo de aquellos automorfismos que solo hacen
permutar a las coordenadas;
2.2.4. Definici
on. Dos c
odigos C, D Fn , decimos que son permutaci
on equivalentes si existe una permutaci
on Sn , tal que C = D.
2.2.5. Definici
on. Sea F un cuerpo finito y C Fn un c
odigo. El grupo de
automorfismos de permutaci
on es
PAut(C) = {x Sn | Cx = C} .

2.3.

Construcci
on de c
odigos a partir de otros

C
odigos pinchados
2.3.1. Definici
on. Decimos que pinchamos un c
odigo C Fn , cuando eliminamos una coordenada fija en todas las palabras; es decir, proyectamos sobre las
otras.
Una pregunta importante desde el punto de vista de la teora de codigos
es que ocurre con los parametros. Es decir, si tenemos un (n, M, d)-codigo y
denotamos con Ci? al codigo pinchado en la i-esima corrdenada podemos dar
directamente los nuevos parametros?

DE CODIGOS

2.3. CONSTRUCCION
A PARTIR DE OTROS

33

2.3.2. Proposici
on. Sea C un (n, M, d)-c
odigo sobre F y sea Ci? el c
odigo
pinchado en la i-esima coordenada. Si d > 1 entonces Ci? es un (n 1, M, d?i )c
odigo, donde
(
d 1 si existen u, v C, con d(u, v) = d y u(i) 6= v(i)
?
di =
d
otro caso.
Demostraci
on. Si |Ci? | < M = |C| entonces tendran que existir u, v C con
u 6= v, pero v ? = u? lo cual implica que d(u, v) = 1. Imposible. Luego, |Ci? | = M .
El c
alculo de d?i es inmediato.
Para los siguientes resultados, necesitamos el concepto de subgrupo de permutaciones transitivo.
2.3.3. Definici
on. Decimos que un subgrupo H Sn es transitivo si act
ua
transitivamente en {1, . . . , n}; es decir, para cualesquier 1 i, j n, existe
H tal que (i) = j (es decir, s
olo hay una
orbita).
2.3.4. Proposici
on. Sea C un (n, M, d)-c
odigo. Si P Aut(C) es transitivo entonces los n c
odigos obtenidos de pinchar C en cada coordenada son permutaci
on
equivalentes.
Demostraci
on. Vamos a ver que C1? es equivalente a Cj? para j = 2, . . . , n. Sea
Pj PAut(C) tal que lleva la coordenada j a la posicion 1, y sea Qj la matriz
que se obtiene de eliminar la fila uno y la columna j-esima de Pj1 . Entonces
?
Cj? = (CPj )1 Qj . Como Pj PAut(C), CPj = C, luego Cj? = C1? Qj , como
queramos ver.
2.3.5. Ejemplo. Sea C = {00000, 11000, 00111, 11111}. Se puede construir C1?
y C5? , y comprobar que no son equivalentes.

C
odigos extendidos
Esencialmente, extender c
odigos es agregar informacion, digamos en dos pasos. Hay muchas maneras (lineales) de hacerlo; una especial, es la que se llama
agragar el dgito de control (de paridad, parity check, en ingles). Se hace as,
2.3.6. Definici
on. Sea C un (n, M, d)-c
odigo sobre F. Hacemos
(
)
n+1
X
b = (v1 , . . . , vn , vn+1 ) | (v1 , . . . , vn ) C y
C
v = 0
=1

Otra vez, queremos conocer los parametros por formula.


b es un
2.3.7.
Proposici
on. Sea C un (n, M, d)-c
odigo sobre F. Entonces C
h
i
n + 1, M, db -c
odigo, donde db = d o d + 1.
Demostraci
on. Trivial.
2.3.8. Observaci
on. Obtener leyes para los codigos extendidos en el caso binario es muy simple. Aqu, trivialmente, db = d + 1 si d es impar y es d en caso
contrario.

34

CAPITULO 2. GENERALIDADES SOBRE CODIGOS

Concatenaci
on o suma directa
Es importante distinguir entre la suma directa del algebra lineal y la suma
directa de c
odigos, que no coinciden.
2.3.9. Definici
on. Sean C1 , C2 (n1 , M1 , d1 ) y (n2 , M2 .d2 ) c
odigos q-arios. La
concatenaci
on o suma directa es el c
odigo
{(u | v) | u C1 , v C2 }
El estudio de los parametros aqu es muy sencillo y el propio lector puede
completar la secci
on.

La construcci
on de Plotkin
2.3.10. Definici
on. Sean Ci dos (n, Mi , di )-c
odigos q-arios, con i = 1, 2, pero
n fijo. Formamos un nuevo c
odigo que llamamos la construcci
on de Plotkin.
C1 C2 = {(u | u + v) | u C1 , v C2 }
2.3.11. Proposici
on. Sean Ci dos (n, Mi , di )-c
odigos q-arios, con i = 1, 2.
Entonces C1 C2 es un (2n, M1 M2 , d)-c
odigo, donde d = mn {2d1 , d2 }.
Demostraci
on. Sean x = (u1 |u1 + v1 ) e y = (u2 |u2 + v2 ). Entonces
d(x, y) = d (u1 , u2 ) + d (u1 + v1 , u2 + v2 ) = (u1 u2 ) + (u1 u2 + v1 v2 ) .
Ahora separamos en casos. Si v1 6= v2 entonces por (2.1.8),
d(x, y) (v1 v2 ) d2
y la igualdad se alcanza para palabras v1 y v2 que tengan la distancia mnima
de C2 y u1 = u2 .
Si v1 = v2 entonces d(x, y) = 2d (u1 , u2 ) 2d1 y tambien hay palabras que
la alcanzan. De aqu, se tiene de inmediato.

Captulo 3

C
odigos lineales
3.1.

Conceptos b
asicos

Como hemos comentado antes, la idea subyacente de los codigos correctores


de errores es la redundancia en la informacion. En este captulo comentaremos
la manera algebraica de controlar dicha redundancia, y de hecho, la codificacion
y decodificaci
on.
Como viene ocurriendo, F siempre denotara un cuerpo finito. Cuando se
quiera hacer enfasis en su cardinal, escribiremos Fq , donde q = |Fq |.
Por ejemplo, en el caso del c
odigo C1 = {00, 10, 01, 11} del GPS (1.1.3 y
2.1.15) que vimos antes, lo ampliamos al codigo C2 = {000, 101, 011, 110}. Es
f
acil ver que, la regla para ampliarlo es (x, y) 7 (x, y, x + y) en terminos del
algebra lineal; es decir, la redundancia puede obtenerse mediante aplicaciones

lineales. Vamos a identificarlo. Tenemos C1 = F22 y hacemos f : F22 F32 , tal que
f (x, y) = (x, y, x + y). Claramente C1
on
= C2 . Llamaremos matriz de codificaci
a la matriz asociada a la codificacion (en las bases canonicas, como escalares
opuestos). Se tiene, C2 =< M (f ) >, la matriz en las bases canonicas. Mas
adelante, llamaremos a M (f ) (una) matriz generadora 1 .
Ahora hacemos : C2
= F22 F52 tal que (x, y) = (x, y, x + y, x, y) y se
obtiene C3 .
Esta forma de agregar la redundancia manteniendo fijas la primeras coordenadas (y dejando intacto el c
odigo original) nos produce matrices del tipo
M () = (Ik |A)
Vamos a formalizar la situaci
on.
3.1.1. Definici
on. Sea F un cuerpo finito. Un c
odigo lineal, C, es un subespacio
del espacio vectorial Fn . Escribimos [n, k, d]-c
odigo para un c
odigo lineal de Fn
1 Generadora o generatriz? Las opiniones est
an divididas (v
eanse [5, 8]). Seg
un el diccionario de la RAE, generadora es que genera, mientras que generatriz los reserva para fsica
y geometra. En todo caso, ambas est
an en el diccionario y aunque no estuvieran cada uno las
usara como quisiera. Aqu diremos generadora porque matriz generatriz, todo junto, no nos
gusta.

35

36

CAPITULO 3. CODIGOS
LINEALES

con dimF C = k y distancia mnima d. Escribiremos s


olo [n, k]-c
odigo cuando
no nos interese hacer enfasis en la distancia mnima.
3.1.2. Observaci
on. Un [n, k]-codigo sobre Fq tiene exactamente q k elementos.
Para la presentacion de los codigos lineales se usan dos tipos de matriz;
a saber, la matriz generadora y la matriz de control (parity check matrix ).
Comencemos con la matriz generadora.
3.1.3. Definici
on. Sea C un [n, k]-c
odigo sobre F. Una matriz generadora de
C es cualquiera cuyas filas formen una base para C. Se denota G(C).
Sea M una matriz de orden n n. Denotamos M (i1 , . . . , ir ; j1 , . . . , js ) la
submatriz de M que proviene de la interseccion de las filas i1 , . . . , ir y las columnas j1 , . . . , js . Abreviemos, M (1, . . . , n; X) = M (; X) y M (X; 1, . . . , n) =
M (X; )
3.1.4. Definici
on. Sea C un [n, k]-c
odigo sobre F. Un conjunto de informaci
on
o conjunto de posiciones de informaci
on, es un subconjunto I {1, . . . , n} tal
que, dada cualquier palabra del c
odigo, (c1 , . . . , cn ) C y cualquierP
posici
on j =
1, . . . , n existe un u
nico conjunto de coeficientes {ai,j }iI , tal que iI ai,j ci =
cj .
Es decir, que el c
odigo C puede obtenerse conociendo los valores de las posiciones I.
3.1.5. Definici
on. Sea C un [n, k]-c
odigo sobre F con un conjunto de informaci
on I. Se llama conjunto de redundancia o de posiciones de control a
{1, . . . , n} \ I.
El ejemplo m
as simple es la codificaci
on sistem
atica. Decimos que un codigo es sistem
atico si al agregar la redundancia hemos mantenido las primeras
filas intactas. As, su matriz generadora sera de la forma G(C) = M (I|A). Las
primeras columnas tienen la informacion y las siguientes la redundancia.
Un criterio sencillo y muy u
til para encontrar conjuntos de informacion se
tiene en el siguiente toerema.
3.1.6. Teorema. Sea C un [n, k]-c
odigo sobre F con matriz generadora G. Si
G tiene k columnas linealmente independientes entonces los ndices de dichas
columnas forman un conjunto de informaci
on. (N
otese que al menos seguro uno
hay).
Recprocamente, si I {1, . . . , n} es un conjunto de informaci
on entonces existe una matriz generadora G tal que las columnas con ndices en I son
linealmente independientes.
Demostraci
on. Supongamos primero que G es una matriz generadora y que tiene
ciertas columnas con ndices {i1 , . . . , ik }, que son linealmente independientes.
Entonces existe una matriz de operaciones elementales por fila E tal que la
submatriz EG(i1 , . . . , ik ) = I. Ademas, EG es matriz generadora, tambien. Sea
c C cualquier palabra. Entonces existe a Fk tal que aEG = c. Por la
formaPque tienePEG es claro que cij = aj y que, para cualquier l = 1, . . . , n,
cl =
rlj aj =
rlj cij .


3.1. CONCEPTOS BASICOS

37

Recprocamente, supongamos que I = {i1 , . . . , ik } es un conjunto de informaci


on. Sea b1 , . . . , bk una base para C y sean a1 , . . . , ak las proyecciones de los
bj en las coordenadas de I; es decir, aj = (bj (i1 ), . . . , bj (ik )).
Se afirma que a1 , . . P
. , ak es linealmente independiente en Fk . Considerese
una combinaci
on lineal
rj aj = 0. Entonces, tomando cualquier componente,
P
se tiene
rj bj (il ) = 0, lo cual implica que rj = 0 para todo j = 1, . . . , k pues
I es conjunto de informaci
on y por tanto las expresiones son u
nicas.
Finalmente, se considera la aplicacion inducida por la correspondencia aj 7
bj . La matriz asociada a esta aplicacion en las bases {aj } y cualquier extension
de {bj } nos vale.
Sea ahora C un [n, k]-c
odigo sobre F con matriz generadora G. Sabemos
que si las primeras k columnas de G forman un conjunto de informacion (o
sea, son linealmente independientes) entonces existe una matriz de operaciones
elementales exclusivamente por filas, digamos E, tal que EG = (Ik |A). Es obvio
que EG tambien es matriz generadora de C. Esta forma tiene nombre propio.
3.1.7. Definici
on. Sea C un [n, k]-c
odigo sobre F con matriz generadora G.
Decimos que G est
a en forma tpica (est
andar) si G = (Ik |A) para alguna matriz
adecuada A.
f

3.1.8. Ahora consideremos la sucesion exacta 0 Fk Fn Coker(f )

0. Entonces C = Im(f ), el c
odigo nos da la sucesion 0 C Fn Fn /C
0.
Eljase, por lo pronto, una base cualquiera en el espacio cociente, digamos
. Hacemos
Hkn = M ()t .
Sabemos que C = ker f = {x Fn | Hxt = 0} y por tanto, dimF (C) =
n rg(H). Desde el punto de vista de H, ker f es la nulidad a la derecha de H
y se denota Nd (H). Tambien hay, claro, la nulidad a la izquierda. A la matriz
H se la conoce como matriz de control (parity check) de C.
3.1.9. Teorema. Si G = (Ik |A)kn es la matriz generadora en forma tpica de
un [n, k]-c
odigo lineal entonces H = (At |Ink ) es una matriz de control de C.
Demostraci
on. Basta hacer las cuentas y luego considerar dimensiones.
El siguiente resultado nos muestra que esencialmente todo codigo puede
suponerse con matriz en forma tpica.
3.1.10. Teorema. Todo c
odigo lineal C es permutaci
on equivalente a un c
odigo
cuya matriz generadora est
a en forma tpica.
Demostraci
on. Sea G la matriz generadora. Por algebra lineal (metodo de GaussJordan) sabemos que existen matrices invertibles (de operaciones elementales),
E, F , tales que EGF = (Ik |A), donde Ik es la identidad y A alguna matriz
adecuada. Tambien sabemos que podemos elegir F como s
olo producto de permutaci
on de los pivotes (o cualquier permutacion que pusiera en las primeras
columnas un conjunto de informacion). Entonces EG genera el mismo codigo


CAPITULO 3. CODIGOS
LINEALES

38

C y por tanto CF es permutacion equivalente y tiene la matriz de la forma


deseada.
3.1.11. Ejemplos.
f

1. El c
odigo binario de repeticion F2 F52 que vimos en (2.1.3) tiene matriz
de codificaci
on

1
y la matriz generadora es G = (1|1111),

M (f ) = ...
que esta en forma tpica.
1 51
En este caso, el conjunto de informacion es {1} y la redundancia es 6. La
matriz de control es

1
1


I4 = ...
I4 porque estamos en F2 .
H = At |I4 = ...
1
1
2. M
as adelante, veremos con detalle un tipo de codigos llamados codigos de
Hamming. Por lo pronto llamaremos H3 al codigo con matriz generadora

0 1 1

1 0 1

G=
I4
1 1 0
1 1 1
y de control

H=

0 1
1 0
1 1

1
1
0

1
1
1

I3 .

Este
es un [7, 4]-codigo.
3. En el ejemplo del ISBN (2.1.4) tenemos C = F911 y agregamos la informa10
ci
on (dgito de control de
aplicaci
 pesos) con la
on lineal f : C F11 dada
P9
por f (x1 , . . . , x10 ) = x1 , . . . , x9 , i=1 ixi . En este caso, la matriz
generadora es

.. .
G(ISBN) = I9
.
1

3.2.

C
odigos duales u ortogonales

3.2.1. Sea F un cuerpo finito y C Fn un subespacio. Sabemos que


dim C + dim C = n.

3.3. PESOS Y DISTANCIAS

39

3.2.2. Definici
on. Sea C un c
odigo lineal con matriz de control H = H(C).
El c
odigo dual de C que denotamos C es justo el generado por H.
Claramente,



C = x Fn | xGt = 0 = Ni Gt = Nd (G)
y C es un [n, n k]-c
odigo lineal si C es un [n, k]-codigo lineal. A
un mas,
se puede
probar
f
a
cilmente
que
en
la
situaci
o
n
de
la
definici
o
n
anterior,
H =

G C
3.2.3. Definici
on. Un c
odigo lineal C se llama auto ortogonal si C C y se
llama auto dual si la igualdad se verifica; es decir, C = C
Claramente, para ser autodual, es condicion necesaria tener dimension n/2
N.
3.2.4. Ejemplos.
1. Considerese el c
odigo H3 en (3.1.11). Se puede probar haciendo las cuentas
c3 es auto dual porque la matriz generadora es
que el c
odigo extendido H
nilpotente de ndice 2 y tiene rango 4.
2. El [4, 2]-c
odigo ternario llamado tetrac
odigo tiene matriz


1 0 1 1
.
G=
0 1 1 1
Trivialmente, es autodual.
3.2.5. Teorema. Sea C un c
odigo lineal. Si I y R son las posiciones (ndices)
de informaci
on y redundancia para C entonces R y I los son, respectivamente,
para C .
Demostraci
on. Si R = el caso es trivial. Supongamos que |I| = k. Sea F
la permutaci
on tal que F (I) = {1, . . . , k} y F (R) = {r + 1, . . . , n}. Sabemos
que existe un matriz E, producto de elementales tal que EGF = (Ik |A). Hacemos H = (At |I) F 1 . En este caso, puede elegirse como conjunto de informaci
on de H, I(H) = F 1 {k + 1, . . . , n} = R y el de redundancia R(H) =
1
F (1, . . . , k} = I.

3.3.

Pesos y distancias

En el captulo anterior (2.1.5) vimos las nociones de distancia de Hamming


y distancia mnima, adem
as de la nocion de peso de un vector (2.1.6). En el
caso de los c
odigos lineales, la nocion de peso se usa de forma equivalente al
de distancia de Hamming, pues es la distancia al 0. Vamos a ver entonces la
definici
on de peso mnimo.
3.3.1. Definici
on. Para un c
odigo C, se define el peso mnimo de forma obvia.
w(C) = mn {w(c) | 0 6= c C}
El siguiente resultado es inmediato.
3.3.2. Proposici
on. Sea C un c
odigo lineal. Entonces (C) = d(C).

40

CAPITULO 3. CODIGOS
LINEALES

Peso mnimo y matriz de control


3.3.3. Teorema. Sea C un c
odigo lineal con matriz de control H. Para cada
c C, las columnas de H correspondientes con las coordenadas no cero de c
son linealmente dependientes.
Recprocamente, si entre ciertas r columnas de H hay dependencia lineal
entonces existe c C tal que (c) = r y las r-coordenadas no cero de c tienen
el mismo ndice que las r-columnas de H.
Demostraci
on. Inmediato de la definicion de matriz de control (3.1.8).
3.3.4. Corolario. Sea C un c
odigo lineal con matriz de control H. Entonces
(C) = d si y s
olo si H tiene d-columnas linealmente dependientes, pero no tiene
conjunto alguno que sea linealmente dependiente y con menos de d columnas.
As que rg(H) d 1; es decir que n k d 1 y de aqu se tiene que
n d + 1 k. Se puede probar algo mucho mas fuerte; a saber, que cualquier
elecci
on de al menos n d + 1 columnas de la matriz generadora G, tiene un
conjunto de informaci
on; o sea, tiene k-columnas linealmente independientes.
3.3.5. Teorema. Sea C un [n, k, d]-c
odigo lineal con matriz generadora G.
Entonces, todo conjunto de (n d + 1)-columnas de G contiene un conjunto de
informaci
on (o sea, k-columnas linealmente independientes).
A
un m
as, d es el mayor n
umero con esta propiedad.
Demostraci
on. Hay que probar que para cualquier eleccion de columnas A =
G (; j1 , . . . , js ) se tiene que, si s n d + 1 entonces rg(A) k; o por
contrapositiva, si rg(A) < k entonces s n d.
Supongamos que rg(A) < k. Como A tiene k-filas entonces rg(A) es menor
que el n
umero de filas de A, as que existe 0 6= c Fn tal que cA = 0. Considerese
ahora c G = (r1 , . . . , rn ), donde al ser cA = 0, cada rij = 0 con j = 1, . . . , s.
Obviamente, cG C, y ademas, (cG) n s. As que d n s y por tanto
s n d.

Distribuci
on de peso o espectro de peso
3.3.6. Definici
on. Sea C un c
odigo y sea
At (C) = |{x C | (x) = t}| .
A la lista A1 , A2 , . . . se le llama la distribuci
on de peso de C.
3.3.7. Ejemplo. Considerese el codigo binario con matriz generadora

1 1 0 0 0 0
0 1 1 0 0 0 .
1 1 1 1 1 1
El c
alculo de la distribucion de pesos se deja como ejercicio.
Otro ejemplo que se puede comprobar facilmente es el calculo en un codigo
de repetici
on.

3.3. PESOS Y DISTANCIAS

41

Vamos a ver algunas propiedades basicas.


3.3.8. Teorema. Sea C un [n, k, d]-c
odigo lineal sobre F. Entonces:
Pn
k
1.
i=0 Ai (C) = q .
2. A0 (C) = 1 y A1 (C) = = Ad1 (C) = 0, si d > 1.
3. Si C es binario y (1, . . . , 1) C entonces Ai (C) = Ani (C), para todo i.
4. Si C es binario y auto ortogonal entonces toda palabra tiene peso par y
C tiene al (1, . . . , 1) (porque anula a todo C).
5. Si C es c
odigo ternario y auto ortogonal entonces el peso de cada palabra
es divisible por 3.
Demostraci
on. Sea 1 = (1, . . . , 1). (1) y (2) son inmediatos. (3) Inmediato del
hecho de que para todo v Fn2 , 1 v = n (v).
(4) En el caso binario, uu = 0 implica que u tiene peso par. Ahora, si un
vector tiene peso par, entonces 1 v = 0, luego 1 C = 0 y por tanto 1 C .
(5) Es obvio.
En vista de los resultados anteriores nos preguntamos por el subcodigo de
las palabras de peso par.
3.3.9. Teorema. Sea C, un [n, k]-c
odigo binario. Sea Ce el conjunto de todas
las palabras de peso par (en sentido llano). Entonces
1. Ce es un subc
odigo lineal (subespacio) de C.
2. dimF2 (C/Ce ) 1.
Demostraci
on. (1) Es obvio. (2) Se sigue directamente de (2.1.8)
Vamos a ver una generalizaci
on muy interesante de la nocion de palabra par
e impar.
3.3.10.
on. Decimos que un vector v Fn es de tipo par (even-like)
Pn Definici
si i=1 v(i) = 0. En caso contrario decimos que es tipo impar.
En el caso binario, tipo par es equivalente a par, pero no en general, claro.
3.3.11. Definici
on. Decimos que un c
odigo lineal es de tipo par si cada palabra
lo es. En caso contrario, decimos que es de tipo impar.
3.3.12. Observaci
on. Un c
odigo de tipo impar puede tener palabras de tipo
par.
3.3.13. Teorema. Sea C un [n, k, d]-c
odigo sobre F. Sea Ce el conjunto de
palabras tipo par en C. Entonces Ce es subespacio de C y dimF2 (C/Ce ) 1.
Demostraci
on. La primera parte es trivial. Para la segunda parte, supongamos
que existe u, v C tales que noPson pares.
Supongamos
= (u1 , . . . , un ) y
P
P que uP
v = (v1 , . . . , vn ). Hacemos r =
vi / u1 . Entonces
vi r ui = 0, as que
v ru Ce . De aqu es inmediato.


CAPITULO 3. CODIGOS
LINEALES

42

3.4.

Codificaci
on y decodificaci
on en c
odigos
lineales

Ya hemos comentado que para hacer la codificacion en codigos lineales usamos una aplicaci
on lineal que tiene que ser inyectiva (1.1.1); luego el espacio de
las palabras de longitud k verifica Fk
= C. Cuando un codigo es muy grande,
se aprecia con claridad la necesidad de codificar y descodificar por formula. El
proceso de codificaci
on es en general, mucho mas facil que el de decodificacion.
La raz
on es que en la decodificacion hemos incluido la correcci
on de errores, lo
m
as costoso.

Correcci
on de errores
Aunque hemos visto dos esquemas de decision en (1.4.4) ya hemos comentado
que nos centraremos en el esquema que proviene de la distancia mnima. Es
importante que tengamos claro que lo que vamos a desarrollar no es un esquema
de decisi
on (ese ya lo tenemos, el de d(C)) sino un algoritmo para la funci
on
parcial. Al final, comentaremos una variante para completar el dominio de la
funci
on parcial y hacerla aplicacion. Comenzamos estableciendo la situacion.
3.4.1. Tenemos un [n, k]-codigo C Fn , con matriz de control H y capacidad
de correcci
on t. Hay una palabra enviada c C, un vector recibido v F y un
vector error, que denotaremos e = v c.
El vector error e contiene la informacion de los errores de transmision que se
cometieron as como de las posiciones donde ocurrieron. Ademas, el peso (e)
nos indica el n
umero de errores en la transmision. En principio, todo vector
puede ser visto como un vector error de cualquier palabra, pero nosotros tenemos
por hip
otesis limitado el n
umero de errores que se van a cometer, luego, se puede
decir que hay muchos vectores en Fn y en C, pero hay pocos vectores error mas
probables; es decir, aquellos con peso menor que la capacidad de correccion.
Uno por cada combinacion de errores y posiciones admisibles.
Los vectores error tienen, en vista de su definicion, su mejor representacion
como elementos de clases de equivalencia e v + C y poseen, en ese sentido,
una propiedad notable; a saber, Hv = He
3.4.2. Definici
on. Sea C Fn un c
odigo lineal con matriz de control H.
Para un vector v Fn , su sndrome es el vector Hv Fn /C (abusando de la
notaci
on).
C
omo se distribuyen los vectores error mas probables en las clases de equivalencia? El siguiente resultado nos da la respuesta.
3.4.3. Proposici
on. Sea C Fn un c
odigo lineal con capacidad de correcci
on
n
t y sea e F tal que (e) t. Entonces e tiene peso mnimo en e + C y es
u
nico con la propiedad.
Demostraci
on. Supongamos que hay otro u = e + c distinto, i.e. c 6= 0, y verifica
(u) t. Entonces, por la desigualdad triangular y la definicion de capacidad

Y DECODIFICACION
EN CODIGOS

3.4. CODIFICACION
LINEALES 43
de correcci
on
(c) = (u e) (u) + (e) 2t d(C) 1
lo cual es imposible. Luego e e + C es u
nico.
As que ya sabemos c
omo est
an distribuidos los vectores error (mas probables). Uno por clase.
3.4.4. Definici
on. Sea C Fn un c
odigo lineal. Un vector de peso mnimo en
una clase lateral v + C se llama lder de la clase lateral.
3.4.5. Observaciones.
1. Lo que nos dice la proposici
on anterior es que los lderes de peso menor
que t son u
nicos.
2. Cuando la condici
on del peso falla, los lderes pueden no ser u
nicos.
3.4.6. Ejemplo. Volvamos al ejemplo del GPS extendido (2.1.15) , con C3 =
{00000, 11011, 10110, 01101}. Tenemos dimF2 C3 = 2, luego dimF2 F5 /C3 = 3;
as que hay 23 = 8 clase de equivalencia. Vamos a listarlas.

Clase \ bola B1 (00000) B1 (11011) B1 (10110) B1 (01101)

lder

Lderes de peso menor que t


00000
10000
01000
00100
00010
00001

00000,
10000,
01000,
00100,
00010,
00001,

11011,
01011,
10011,
11111,
11001,
11010,

10110,
00110,
11110,
10010,
10100,
10111,

01101
11101
00101
01001
01111
01100

00000
10000
01000
00100
00010
00001

Lderes de peso mayor que t



11000

11000,

00011,

01110,

10101

11100

11100,

00111,

01010,

10001

11000
 00011
10001
01010

El siguiente teorema nos dice que, cuando un vector recibido v Fn pertenece a una clase de equivalencia con lder u
nico, digamos e, entonces v Bt (v e)
y por tanto el esquema decidir
a que la palabra enviada fue v e C.
3.4.7. Teorema. Sea C Fn un c
odigo lineal con capacidad de correcci
on t y
v Fn . Son equivalentes:
1. Existe c C tal que d(v, c) t.
2. Existe un u
nico lder, e, tal que Hv = He y (e) t.


CAPITULO 3. CODIGOS
LINEALES

44

En este caso, el esquema decidir


a que la palabra enviada es v e.
Demostraci
on. [1 3] Hacemos e = v c. Entonces (e) t y por (3.4.3)
ser
au
nico.
[3 1]. Hacemos c = v e. Entonces d(v, c) = (e) t.
3.4.8. Por tanto, para corregir, lo que realmente necesitamos es conocer los
lderes y sus sndromes. Es decir, que formaremos la tabla completa de lderes
(si queremos corregir siempre)

Peso

Peso menor que t


lder (eij ) sndrome (Heij = sij )

e01 = 0

e11
..
.

s11
..
.

e1n1

s1n1

..
.

..
.

..
.

et1
..
.

st1
..
.

etnt

stnt

Peso

Peso mayor que t


lder (eij ) sndrome (Heij = sij )
et+1,1
..
.

st+1,1
..
.

et+1,nt+1

st+1,nt+1

..
.

..
.

..
.

t+p

e(t+p),1
..
.

s(t+p),1
..
.

e(t+p),nt+p

s(t+p),nt+p

t+1

Donde t + 1 < . . . < t + p max {d, n k} .


As que, si recibimos un vector, calculamos su sndrome y habra un lder
(
unico o no) cuyo sndrome sea igual al del vector.

Y DECODIFICACION
EN CODIGOS

3.4. CODIFICACION
LINEALES 45
1. Si el n
umero de errores no excediere la capacidad de correccion, el lder
correspondiente ser
a u
nico (y nos indicara los errores cometidos en las
posiciones). Adem
as, se decidira la palabra enviada y corregiremos adecuadamente.
2. Si el n
umero de errores excediere la capacidad de correccion entonces,
cuando los errores coincidan con un lder, corregiremos (correctamente);
si no, habremos cometido un error en la decision.
3. Uno puede optar por hacer la tabla mas peque
na y, de ocurrir que no
se encuentre lder para un vector avisar la deteccion de un error. Si la
probabilidad de error es muy baja, incluso es conveniente.
3.4.9. Ejemplos.
1. Continuamos con el ejemplo en (3.4.6).

Peso

lder (eij ) sndrome (Heij = sij )

0000

000

10000
01000
00100
00010
00001

110
101
100
010
011

11000
10001

011
111

2
(*) no u
nicos.

2. Sea C = {0000, 1110} binario. En este caso, hay 1 lder de peso 0, 4 de

peso 1 y 3 de peso 2. TODOS UNICOS.


3. Para C = {000000, 111000}, binario, hay un lder de peso 0, 6 de peso 1,

hay 12 de peso 2, 10 de peso 3 y 3 de peso 4. TODOS UNICOS.


As que
hay lderes u
nicos de peso mayor que la capacidad de correccion, de hecho
tiene peso igual a la distancia mnima.

Probabilidades con el nuevo esquema de decisi


on
El metodo (3.4.8) nos permite mejorar un poco la probabilidad de tener exito
al decodificar. Ahora las Bc no son solo bolas cerradas; tienen unos puntos mas.
Sea L un juego completo de lderes (los u
nicos, por fuerza, los otros, elegidos),
entonces el esquema est
a dado por
Bc = {l + c | l L} .


CAPITULO 3. CODIGOS
LINEALES

46

La probabilidad 1 pe (c) = p( t errores )+ la probabilidad de que se


cometan los errores de la suerte; es decir, aquellos para los que hay lderes.
Para 0 i n k, sea i = |{ L | () = i}|. Entonces
1 pe (c) = p( t errores ) +

n
X

i pi (1 p)ni .

t+1

El primer sumando ya lo hemos calculado en (1.4.4). As, nos queda


t  
n
X
X
n
1 pe (c) =
(q 1)k pk (1 p)nk +
i pi (1 p)ni .
k
t+1
k=0

 Tambiekn podemos calcularla usando el juego completo de lderes. Como k =


(q 1) ,
n
X
nk
1 pe (c) =
k pk (1 p)
.

n
k

i=0

3.5.

Construcciones con c
odigos lineales

Pinchado
Ya hemos visto algunos resultados generales en (2.3.2). En el caso de los codigos lineales podemos mejorarlo. Vamos al caso cuando d = 1. La demostracion
es trivial.
3.5.1. Corolario. Sea C un [n, k, 1]-c
odigo sobre F y sea Ci? el c
odigo pinchado
?
en la i-esima coordenada. Si Ci 6= 0 entonces es un [n1, k ? , d? ]-c
odigo, donde,
1. k ? = k si (0, . . . , 1i , 0 . . . , 0) 6 C.
2. Si k > 1, y no se cumple el apartado anterior ser
a un [n1, k1, 1]-c
odigo.
3.5.2. Sea C un c
odigo lineal sobre F. Sea C ? el codigo pinchado en la u
ltima
coordenada y luego extendido (por definicion, tambien en la u
ltima). Entonces
C = C ? si y s
olo si C es de tipo par.

Extendido
Tambien hemos visto ya los resultados generales en (2.3.7 y 2.3.8). Es muy
f
acil comprobar cualquiera de los siguientes hechos.
3.5.3. Observaci
on.
1. Extendido de lineal es lineal. A
un mahs, si C es ilineal y tiene parametros
b
[n, k, d] entonces C tiene parametros n + 1, k, db , donde db = {d, d + 1}.


3.5. CONSTRUCCIONES CON CODIGOS
LINEALES

47

2. Sean G, H las matrices generadora y de control de un codigo C. La extensi


on, siempre se puede interpretar
G

Fk Fn Fn+1
con

E = Inn

1
..
.

G = (gij )kn .

1
Entonces

..
P.

b=
GE = G
G

g1j

.
gnj

b ha de cumplir que H
b G
b t = 0, as que H
b puede ser
Ahora, H

b =
H

1
0
..
.

Esta
es una construcci
on tpica que llamaremos la matriz de control a
nadido
Vamos a mejorar el resultado que vimos en (2.3.8) en el caso de los codigos
lineales.
3.5.4. Proposici
on. Sea C un c
odigo lineal, Ce y C0 , las palabras tipo par
y tipo impar, respectivamente (vease 3.3.10), y de = d (Ce ) y d0 = d (C0 ),
definidos de forma obvia. Entonces
(
de
db =
d0 + 1

si de d0
otro caso

Demostraci
on. Inmediata. N
otese que d(C) = mn {de , d0 }
3.5.5. Ejemplo. Para ilustrar, podemos extender el codigo H32 , con matriz

G=

1 0
0 1

y calcular los par


ametros.

1
1

1
1


yH=

1
1

1
1

1
0

0
1

48

CAPITULO 3. CODIGOS
LINEALES

La construcci
on de Plotkin
Recordemos la definicion de la construccion de Plotkin en (2.3.10). Es inmediato comprobar que cuando C1 y C2 son codigos lineales tambien C1 C2 es
lineal. A
un m
as.
3.5.6. Corolario. En la situaci
on de (2.3.10), si C1 y C2 tienen matrices generadoras y de control, respectivamente, G1 , G2 y H1 , H2 , entonces C1 C2 tiene
matriz generadora y de control




G1 G1
H1
0
y
0 G2
H2 H2
respectivamente.

Captulo 4

El problema principal de la
teora de c
odigos. Cotas a
los par
ametros
4.1.

Generalidades

Sea C un (n, M, d)-c


odigo. Para ser un buen codigo debe:
Tener palabras, lo m
as corto posible. Luego n debe de ser peque
no.
Tener muchas palabras. Luego M ha de ser grande.
Corregir muchos errores. Luego d ha de ser grande.

Estos
son intereses conflictivos a lo cual nos referiremos como el problema
principal de la teora de c
odigos.
Abordar el problema consiste en en optimizar uno de los parametros. Una de
las versiones m
as populares consiste en encontrar el codigo con M mas grande
(y los otros par
ametros fijos).
4.1.1. Notaci
on. Denotamos con Aq (n, d) el m
as grande valor de M , tal que
existe un (n, M, d)-c
odigo q-ario.
Empezamos con los casos triviales.
4.1.2. Proposici
on. Sea q = pi , con p primo.
1. Aq (n, 1) = q n .
2. Aq (n, n) = q.
Demostraci
on. (1). Si u 6= v Fnq entonces d(u, v) 1. De aqu se tiene de
inmediato que Fnq es un (n, q n , 1)-codigo.
(2). Supongamos que C es un (n, M, n)-codigo q-ario. Si u, v C son distintos entonces d(u, v) n, pero C Fnq . As que todas las coordenadas han de
49

50

CAPITULO 4. COTAS A LOS PARAMETROS

ser distintas; en particular, la primera. Luego M q. Por otra parte, el codigo


q-ario de repetici
on alcanza la cota.
4.1.3. Ejemplo. Vamos a determinar el valor de A2 (5, 3). El codigo C3 de
(2.1.15) es un (5, 4, 3)-codigo binario. Luego A2 (5, 3) 4. Podemos ensayar a
lo bestia con todos los subconjuntos de 5 elementos de F52 a ver si la distancia
mnima de alguno es 3. El problema es que son unos 200 000 conjuntos. Vamos
entonces a trabajarlo con clases de equivalencia.
Supongamos que C tiene M 4 y que 00000 C. Claramente, solo puede
haber una palabra v con 4 o 5 valores 1; ya que si hubiese dos, digamos u y v
entonces d(u, v) = 2 y ya no sirve.
Como 00000 C, no hay ninguna palabra con solo uno o dos valores
1; as que al menos hay dos palabras que tienen 3 valores 1. Reordenando
las posiciones podemos suponer que las siguientes palabras viven en el codigo {00000, 11100, 00111}. Ahora, basta mirar para darse cuenta de que solo
podemos agregar 11011. No hay mas posibilidades. Por tanto M 4.
Es laborioso establecer cotas y existen muchos resultados generales para
ayudar en los c
alculos, ademas de cotas especiales.
4.1.4. Teorema. Sea d N impar. Entonces existe un (n, M, d)-c
odigo binario
si y s
olo si existe un (n + 1, M, d + 1)-c
odigo binario.
Demostraci
on. Por hipotesis, d es impar. Supongamos tenemos un (n, M, d)c
odigo y que d = d(u, v), para algunos u, v C. Como d es impar, entonces el
peso de alguna de las dos palabras es impar. As que, en el codigo extendido,
d + 1 = d (b
u, vb).
Recprocamente, supongamos que tenemos un codigo con parametros (n +
1, M, d + 1) para un n
umero impar d. Otra vez escojemos u, v tales que d + 1 =
d(u, v). Consideramos una entrada fija i {1, . . . , n} tal que u(i) 6= v(i) y
pinchamos el c
odigo en esa entrada. Como d + 1 es par, las palabras varan al
menos en dos posiciones y por tanto no se pierde ninguna palabra. As que nos
queda el c
odigo pinchado de parametros (n, M, d).
4.1.5. Corolario. Si d es impar entonces
A2 (n + 1, d + 1) = A2 (n, d).
4.1.6. Ejemplo. Sabemos por (4.1.3) que A2 (5, 3) = 4. Por el corolario anterior, A2 (6, 4) = 4.
En el caso q-ario se tiene la siguiente relacion.
4.1.7. Teorema. Para n 2, se tiene
Aq (n, d) qAq (n 1, d).
Demostraci
on. Sea C un codigo tal que M = Aq (n, d). Considerese la primeraSposici
on y para cada k F definimos Dk = {u C | u(1) = k}. Como kF Dk = C entonces debe ocurrir que alg
un |Dk | M
q . Si pinchamos en la primera coordenada, es claro que todo Dk va a sobrevivir. Luego
Aq (n,d)
Aq (n 1, d) M1? M
q =
q

4.2. COTA DE HAMMING

51

Ahora vamos a ver algunas cotas especiales.

4.2.

Cota de Hamming

Esta cota viene a completar el estudio de los codigos perfectos. Lo que hemos
visto en (2.1.20 y 2.1.21) nos indica facilmente la demostracion del siguiente
resultado, que se conoce como cota de Hamming o del empaquetado esferico.
4.2.1. Teorema.
Aq (n, d) Pt

qn

j
(q 1)

n
j=0 j

con

t=b

d1
c.
2

Entonces, un c
odigo perfecto es aquel que alcanza la cota de Hamming.

4.3.

Cota de Singleton y c
odigos MDS

Esta cota es sencilla pero muy u


til y da lugar a los codigos de Reed Solomon,
que veremos despues, y que se usan para la reproduccion de los CD.
4.3.1. Teorema. Para d n se tiene que
Aq (n, d) q nd+1 .
Demostraci
on. Trivialmente, Aq (n, n) = q = q nn+1 y vamos a hacer descenso.
Sea d < n.
Aq (n, d) qAq (n 1, d) q nd Aq (d, d) = q nd (q) = q nd+1 .

4.3.2. Observaci
on. En particular, para un [n, k, d]-codigo lineal q-ario, k
n d + 1.
4.3.3. Definici
on. Un c
odigo que verifica la igualdad en el teorema anterior se
conoce como c
odigo separable de distancia m
axima (maximum distance separable
MDS).
La primera propiedad es obvia, aunque muy importante.
4.3.4. Proposici
on. Los c
odigos MDS son cerrados para isometras.
Luego un (n, M, d)-c
odigo MDS verifica que M = Aq (n, d). Ahora veremos
algunas propiedades interesantes de los codigos MDS lineales.
4.3.5. Teorema. Sea C un [n, k]-c
odigo lineal sobre F, con k 1. Entonces,
las siguientes condiciones son equivalentes.
1. C es MDS.
2. Todo conjunto de k-posiciones es un conjunto de informaci
on para C.
3. C es MDS.

52

CAPITULO 4. COTAS A LOS PARAMETROS


4. Todo conjunto de (n k)-posiciones es un conjunto de informaci
on para
C .

Demostraci
on. [1 2] Por hipotesis, k = n d + 1. Aplicando (3.3.5) se tiene
el resultado.
[2 4] Inmediato de (3.2.5).
[3 4] Es de nuevo consecuencia directa de (3.3.5). Notese que d(C ) =
k + 1.
4.3.6. Corolario. Sea C un [n, k]-c
odigo con matriz generadora G. Entonces
C es c
odigo MDS si y s
olo si cualesquiera k columnas de G son linealmente
independientes.
Demostraci
on. Supongamos primero que C es MDS. Como dim C = k, por
(3.3.5) toda elecci
on de k = n d + 1 columnas es linealmente independiente.
Recprocamente, supongamos que cualquier eleccion de k n d + 1 columnas es linealmente independiente. Como d es el mayor n
umero con esta
propiedad entonces se alcanza la igualdad y C es MDS.
Sobre la existencia de codigos MDS tenemos que hay codigos MDS triviales.
Tomamos d = n y k = n n + 1 o d = 1 y k = n 1 + 1 = n. En general se
tiene lo siguiente.
4.3.7. Teorema. No existen [n, k]-c
odigos q-arios MDS no triviales que verifiquen 1 < k n q.
Demostraci
on. Si k = 1 el codigo ya es trivial. Supongamos que 1 < k
n q. Sea G la matriz generadora y supongamos que esta en forma tpica,
G = (Ik |Aknk ). N
otese que q n k. Considerese cualquier columna de A,
digamos CA .
Supongamos que el peso (CA ) < k. Entonces la matriz G es de la forma,
digamos,

a1i

..

.
G = Ikk

ak1 i
0
y como se ve (tomando en este caso las primeras k 1 columnas de la identidad
m
as la i-esima columna de A), existen k-columnas linealmente dependientes lo
cual es imposible por (4.3.6). Luego toda columna de A tiene todas sus entradas
no cero. N
otese que si F es una matriz de operaciones elementales por columna
que sea multiplicar columnas por escalares no cero entonces F es isometra y por
tanto el c
odigo de matriz generadora GF es equivalente, y como ya hemos visto,
es MDS. La matriz F especfica es aquella que verifica GF (1, j) = 1 para j > k.
Ahora, observese que como q n k y GF (2, j) 6= 0 para todo j > k entonces
la lista GF (2, k + 1), . . . , GF (2, n) ha de tener un elemento repetido. As, si v, u
son la primera y segunda fila de GF , respectivamente, entonces (uv) = nk,
lo cual es imposible, porque C es MDS.

4.4. OTRAS COTAS

4.4.

53

Otras cotas

Existen otras cotas relevantes, como la cota de Plotkin o la cota de la Programaci


on lineal. Las limitaciones del curso no nos permiten verlas pero vamos
a enunciar los resultados.
4.4.1. Teorema [Cota de Plotkin]. Sea C un (n, M, d)-c
odigo sobre Fq , donq1
n
<
d.
Hacemos
r
=
.
Entonces
de q1
q
q
1. M

d
drn

d
o b drn
c.

d
2. Si q = 2, M 2b 2dn
c.

4.4.2. Teorema [Cota de la programaci


on lineal]. Las siguientes cotas
ocurren.
1. Cuando q 2 se tiene que
(

n
X

Aq (n, d) max

)
Bw

w=0

donde el m
aximo est
a tomado de los {Bw } que satisfacen:
a) B0 = 1 y Bw = 0 para 1 w d 1.
b) Bw 0, para d w n y
Pn
n,q
c)
w=0 Bw Kk (w) 0 para todo 1 k n.
2. Cuando d es par y q = 2,
(
A2 (n, d) max

n
X

)
Bw

w=0

donde el m
aximo est
a tomado de los {Bw } que satisfacen:
a) B0 = 1 y Bw = 0 para 1 w d 1.que sean impares.
b) Bw 0, para d w n y Bn 1, y
Pn
n,2
c)
w=0 Bw Kk (w) 0 para todo 1 k bn/2c.

54

CAPITULO 4. COTAS A LOS PARAMETROS

Captulo 5

Tipos especiales de c
odigos
lineales
5.1.

C
odigos de Hamming y c
odigos simplex

C
odigos de Hamming
La construcci
on de los c
odigos de Hamming y algunas de sus propiedades
en el caso binario las hemos visto en captulos anteriores. Vamos a extender la
definici
on.
Sea Fq un cuerpo finito cualquiera y consideremos Frq con r 2.
Llamamos c
odigo de Hamming y denotamos Hq,r a todo aquel codigo cuya
matriz de control se construye de la siguiente manera. La denotamos con Hq,r .
1. Consideramos todos los distintos subespacios de dimension 1 de Frq . Sar
1
bemos que hay exactamente qq1
(q r son todos, q r 1, porque el < 0 >
tiene dimensi
on 0, y

q r 1
q1

porque los m
ultiplos se absorben).

2. Denotamos con Hq,r al c


odigo que proviene de una matriz del tipo

Hq,r =

de cada distinto subespacio tomo


un vector no cero y lo pongo


.

Entonces se tiene:
1. rg (Hq,r ) = r.
2. Sean v1 , v2 Hq,r . Claramente, existe W < v1 , v2 > (la diagonal) tal
que dim W = 1. Sea v3 W un generador de la diagonal. Entonces v3
es combinaci
on lineal de los otros, pero cualesquiera dos son linealmente
independientes, luego (3.3.4) nos dice que (Hq,r ) = 3.
55


CAPITULO 5. TIPOS ESPECIALES DE CODIGOS
LINEALES

56

i
h r
1 q r 1
, q1 r, 3 -codigo y cualesquiera dos codigos
As que Hq,r es un qq1
construidos de esta manera y con estos datos seran permutacion equivalentes.
Recprocamente
si H es la matriz de control de un codigo, tal que H es de
r
1
orden r qq1
y tal que cada dos columnas existe una tercera que es combinaci
on lineal de las dos anteriores entonces trivialmente, H tiene en sus columnas
a un generador de cada uno de los distintos subespacios de dimension 1; es
decir,hemos probado que.
i
h r
1 q r 1
, q1 r, 3 -c
odigo lineal sobre Fq es un c
odigo
5.1.1. Teorema. Todo qq1
de Hamming.
A
un m
as, cualesquiera dos c
odigos de Hamming con los mismos par
ametros
son permutaci
on equivalentes.

C
odigos simplex
Son

q r 1
q1 , r

-c
odigos lineales cuyos pesos de palabras tiene propiedades no-

tables. Por ejemplo, el codigo H3 solo tiene palabras de peso 4 y el tetracodigo


(3.2.4), que denotamos H3,2 , es autodual, y tiene todas sus palabras de peso 3.
5.1.2. Definici
on. Los c
odigos simplex son aquellos que se realizan como duales de los c
odigos de Hamming
En general,
5.1.3. Teorema. Las palabras no cero de un c
odigo simplex sobre Fq tiene
todas peso q r1 .
Demostraci
on. El c
odigo ha de tener matriz generadora Hq,r de orden r
 r 


q 1

= hHq,r i = xHq,r | x Frq .


y sabemos que rg (Hq,r ) = r y que Hq,r
q1
N
otese que (xHq,r ) = n (columnas de Hq,r , digamos y, tal que xy = 0).
r1
Sabemos que dimhxi = r 1, luego tiene q q11 subespacios de dimension 1
y todos ellos est
an en las columnas de Hq,r . Por tanto,
(xHq,r ) =

q r 1 q r1 1

= q r1 .
q1
q1

Construcci
on alternativa de c
odigos simplex binarios
Hacemos

1
0

1
1

00

11

G2 =
Ahora, para r 3, definimos

0
1

Gr =

Gr1

Gr1


5.2. CODIGOS
DE GOLAY

57

Se puede comprobar por construccion, que las columnas de Gr son la expansi


on de 1, 2, . . . , 2r 1 (en binario, claro), as que hGr i = Sr es Hr .
Ahora vamos a verificar la propiedad de los pesos. Tenemos que ver es que
todas las filas de Gr tienen peso 2r1 .
N
otese que G2 tiene 22 1, columnas as que, por construccion, Gr tiene
r
2 1 columnas. Vamos con el argumento sobre el peso. Es claro que todas
las filas de G2 tienen peso 221 = 2. Supongamos que todas las filas de Gr1
tienen peso 2r2 (de hecho el subespacio que generan). Analizando la matriz Gr
un simple argumento de inducci
on nos muestra que cada una de sus filas tiene
peso 2r1 . Vamos ahora con las combinaciones lineales. Es muy importante
tomar en cuenta que no es cierto que cualquier combinacion lineal de vectores
de peso 2r1 tiene otra vez ese peso y ademas, es obvio. La propiedad proviene
de la forma como est
a construida la matriz. Cualquier combinacion lineal de la
segunda fila en adelante cumple obviamente la propiedad por induccion y por la
construcci
on de la matriz. As que basta comprobar que la combinacion lineal
entre la primera fila y cualquier combinacion lineal de las otras tiene el peso
deseado. Pero eso es f
acil de comprobar.

5.2.

C
odigos de Golay

Los c
odigos de Golay fueron propuestos por M. J. E. Golay en 1949. Hay
binarios y ternarios. Los binarios se denotan G24 , un [24, 12, 8]-lineal y G23 , un
[23, 12, 7] c
odigo. El segundo se obtiene pinchando el primero. Los ternarios se
denotan G12 y el G11 .

C
odigos de Golay binarios
Se construye la matriz G24 = (I12 |A1212 ) donde la matriz A tiene una la
caja inferior derecha de 11 11 y se escribe en la primera fila, en la posicion i
un 1 si i es cuadrado m
odulo 11 y un 0 en caso contrario. Despues se hace un
recorrido (shift) en direcci
on (). As que el bloque tiene forma cclica.

A=

0
1
1
1
1
1
1
1
1
1
1
1

1
1
1
0
1
1
1
0
0
0
1
0

1
1
0
1
1
1
0
0
0
1
0
1

1
0
1
1
1
0
0
0
1
0
1
1

1
1
1
1
0
0
0
1
0
1
1
0

1
1
1
0
0
0
1
0
1
1
0
1

1
1
0
0
0
1
0
1
1
0
1
1

1
0
0
0
1
0
1
1
0
1
1
1

1
0
0
1
0
1
1
0
1
1
1
0

1
0
1
0
1
1
0
1
1
1
0
0

1
1
0
1
1
0
1
1
1
0
0
0

1
0
1
1
0
1
1
1
0
0
0
1

58

CAPITULO 5. TIPOS ESPECIALES DE CODIGOS


LINEALES

Con esta matriz G24 genera un codigo que llamaremos codigo de Golay G24 .
Vamos a ver algunas de sus propiedades. Una propiedad importante es que
G24 Gt24 = 0, porque A es binaria, simetrica y con cada fila de peso impar;
luego es nilpotente. A
un mas, lo anterior implica que (A|I) tambien es matriz
generadora de G24 .
Otra propiedad notable se refiere a los pesos. La fila G24 (1; ) tiene peso 12;
mientras que las 11 filas restantes tienen peso 8. Vamos a probar que, de hecho,
el peso mnimo es 8.
5.2.1. Lema. Si C es un c
odigo auto ortogonal cuya matriz generadora tiene
cada fila con peso m
ultiplo de 4 entonces toda palabra tiene peso m
ultiplo de 4.
Demostraci
on. Basta analizar la Observacion 2.1.8 (3)
Toda palabra de G24 se puede escribir de la forma v = (a|b), con a, b F12
2 .
Adem
as, si v = (a|b) es una palabra, tambien lo sera u = (b|a). Por el lema
anterior todas las palabras de G24 tienen peso m
ultiplo de 4. Vamos a ver que
es estrictamente mayor que 4. Tomemos un v = (a|b). Podemos suponer que
(a) (b). Hay tres casos.
Caso 1. Si (a) = 0, como G24 esta en forma tpica y v = xG24 se tiene
que a = 0 implica b = 0, luego v = 0.
Caso 2. Si (a) = 1 entonces v es una fila de G24 , que tiene peso mayor o
igual a 8.
Caso 3. Si (a) = 2 entonces v es combinacion lineal de dos filas de G24 , y
una comprobaci
on a lo bestia nos da (v) = 8.
Ahora bien, si (a) 3 entonces (b) 3 y como ha de ser m
ultiplo de 4,
ya es mayor o igual a 8.
Por tanto G24 es un [24, 12, 8]-codigo binario.
El c
odigo G23
Por (3.5.2) sabemos que si pinchamos G24 en la u
ltima coordenada (de hecho en cualquiera) y extendemos (a la que pinchamos) entonces recuperamos
el c
odigo original. Pinchando G24 obtenemos un [23, 12, 7]-codigo lineal, que llamaremos G23 .

C
odigos de Golay ternarios
El c
odigo de Golay ternario G12 es el [12, 6]-codigo sobre F3 con matriz
G12 = (I6 |A), donde

1
1
1
1
1
0

1
0
1 1 1
1

A=
1
0
1 1 1

1
1 1
1
0
1 1

1 1 1
1
0
1
1
1 1 1
1
0


5.3. CODIGOS
DE REED-MULLER (BINARIOS)

59

Se puede comprobar directamente cada una de las siguientes propiedades.


5.2.2. Proposici
on. Las siguientes condiciones ocurren.
1. At = A y que A2 = I. Luego G12 es autodual.
2. G12 es un [12, 6, 6]-c
odigo lineal.
3. El c
odigo ternario G11 que obtenemos de pinchar G12 en la u
ltima coordenada es un [11, 6, 5]-c
odigo lineal perfecto.
4. Si pinchamos en cualquier otra coordenada no salen c
odigos equivalentes.
5. Si pinchamos en cualquier coordenada y luego extendemos con el dgito de
paridad recuperamos un c
odigo equivalente a G12 .
De hecho, incluso hay equivalencia con codigos que no sean lineales.
5.2.3. Teorema. Todo c
odigo de par
ametros (12, 36 , 6)-es equivalente a G12 , y
6
todo c
odigo de par
ametros (11, 3 , 5)-es equivalente a G11

5.3.

C
odigos de Reed-Muller (binarios)

Los propusieron por separado (en trabajos independientes) I. S. Redd y D.


E. Muller en 1954. Existe tambien la definicion de codigo de Reed-Muller sobre
cuerpos con otra caracterstica.
Su distancia mnima es muy peque
na pero se decodifican muy facilmente.
Hay muchas maneras de construirlos. Una de ellas se basa en la construccion de
Plotkin (2.3.10).

Construcci
on
Elegimos un natural m N \ {0} y 0 r m.
Para cada m, vamos a definir m + 1-codigos que denotaremos
R(0, m), . . . , R(m, m).
Les llamaremos c
odigos RM de longitud 2m . Lo haremos por induccion:
m
Primer paso: R(0, m) es el c
odigo de repeticion y R(m, m) = F22 , el espacio
completo.
Ahora,
R(r, m) = {(u | u + v) | u R(r, m 1), v R(r 1, m 1)} ,
con 1 r < m.
Por lo que sabemos de la construccion (u | u + v), (2.3.10) la matriz sera,
primero,

G(0, m) = 1 1 1
y G(m, m) = I2m


CAPITULO 5. TIPOS ESPECIALES DE CODIGOS
LINEALES

60
y luego,

G(r, m 1)
G(r, m 1)

G(r, m) =
0
G(r 1, m 1)
Una de las grandes ventajas de los codigos RM es que sus parametros se
calculan por f
ormula.
5.3.1. Teorema. Sea m > 0 y 0 r m. Entonces,
1. R(i, m) R(j, m), para 0 i j < m.
2. La dimensi
on es
dimF2 (R(r, m)) =

r  
X
m

i=0

3. El peso mnimo es (R(r, m)) = 2mr .


4. El ortogonal es R(m, m) = (0) y si 0 r < m entonces
R(r, m) = R (m r 1 , m) .
Demostraci
on. (1) Inmediata por induccion. Primero se prueba que R(0, 1)
R(1, 1), con eso se tiene que R(j, m)  R(j + 1, m) y de aqu, sale.
(2) Primero, dim R(0, m) = 1 = m
otese que
0 . Ahora, n
m

dim R(m, m) = 2

m  
X
m
i=0

= (1 + 1) .

Por (3.5.6) sabemos que dim R(j, m) = dim R(j, m1)+dim R(j 1, m1).
Usando esta igualdad, la hipotesis de induccion, que es
dim R(j, m 1) =


j 
X
m1
i=o

y dim R(j 1, m 1) =


j1 
X
m1
i=o

y las igualdades de los coeficientes binomiales



  

 
  
m1
m
m1
m1
m
=
=1y
+
=
0
0
i
i1
i
nos dicen que
dim R(j, m) =

j  
X
m
i=o

(3) Sabemos por (2.3.10) que


d (R(r, m)) = mn {2d (R(r, m 1)) , d (R(r, m))} .
Por inducci
on. Si
d (R(r, m 1)) = 2m1r


5.3. CODIGOS
DE REED-MULLER (BINARIOS)

61

y
d (R(r 1, m 1)) = 2m1(r1) = 2mr
entonces
2d (R(r, m 1)) = d (R(r 1, m 1)) = 2mr
y se tiene el resultado.
(4) Que R(m,
m) = 0 es obvio. El otro lo haremos por induccion.

m
m
Como i = mi
entonces
dim R(m r 1, m) =

mr1
X 
j=0


m
=
j

m=(m0)

X
r+1=m(mr1)

 
m
.
j

Luego
dim R(r, m) + dim R(m r 1, m) =

r  
X
m
0

m  
X
m
r+1

= 2m .

Por tanto, basta probar que R(m r 1, m) R(r, m) . Sabemos que


R(m r 1, m)

= {(u|u + v) | u R(m r 1, m 1),


v R(m r 2, m 1)}

R(r, m)

= {(u|u + v) | u R(r, m 1), v R(r 1, m 1)} .

Sean (u|u + v) R(r, m) y (x|x + y) R(m r 1, m). Por hipotesis de


inducci
on ux = 0 = vx y por el apartado (1), v R(r, m 1). Analogamente,
uy = vy = 0 luego y R(m r 1, m 1) tambien.
5.3.2. Observaciones.
1. Como R(0, m) es el c
odigo de repeticion, R(m 1, m) = R(0, m) es el
m
c
odigo de todos los vectores pares de F22 .
2. Si m es impar, m = 2r + 1, entonces por los apartados (3) y (4), del
teorema anterior se tiene que R(r, m) = R( m1
2 , m) es autodual con peso
m1
mnimo 2 2 .

62

CAPITULO 5. TIPOS ESPECIALES DE CODIGOS


LINEALES

Captulo 6

Cuerpos finitos
6.1.

Suma y producto en cuerpos finitos

Damos por conocidos los conceptos de anillo eucldeo, dominio de factorizaci


on u
nica, cuerpo, extensi
on de un cuerpo y caracterstica de un cuerpo K, que
denotamos Car(K). Tambien damos por hecho que, para cualquier cuerpo F, el
anillo de polinomios F[X] es un dominio eucldeo, donde todo ideal esta generado por un polinomio de grado mnimo, y si un elemento p F[X] tiene una
raz F, entonces (X ) | p.
Si un polinomio p F[X] es irreducible entonces el ideal que genera hpi
F[X] es maximal y por tanto, el cociente F[X]/hpi es un cuerpo. Finalmente, si
K/F es una extensi
on y K, recordemos que la correspondencia p(X) 7 p()

es un homomorfismo de anillos, F[X]


K, que llamamos el homomorfismo
de evaluaci
on. Recordemos que a la imagen de se le denota F() y es el
subcuerpo de K generado por F y el elemento .
Sabemos que todo dominio finito es un cuerpo. El siguiente resultado es
menos conocido y las demostraci
on es demasiado larga como para reproducirla
aqu. La omitiremos porque no influye en el desarrollo del tema.

6.1.1. Teorema [Wedderburn]. Todo anillo de divisi


on finito es un cuerpo.
Unas observaciones sobre la caracterstica.
6.1.2. Proposici
on. Sea K un cuerpo. La correspondencia : Z K tal que
(n)

(n) = 1+ +1 es homomorfismo de anillos.


Demostraci
on. Trivial,
(n m)

=
=




(n)
(m)
(n)
1+ +1 + + 1+ +1


(m)
(m)
(n)+ +(n) = (factorizo) = (n) 1+ +1
(nm)

1+ +1 =

= (n)(m)
63

CAPITULO 6. CUERPOS FINITOS

64

6.1.3. Observaci
on. Para todo cuerpo K, Car (K) = mn {n N | (n) = 0}.
6.1.4. Proposici
on. Sea K un cuerpo finito. Entonces Car (K) es un n
umero
primo.
Demostraci
on. Inmediato del hecho de que Z/ ker , K. (Todo dominio finito
es un cuerpo.)
6.1.5. Corolario. Si F es un cuerpo tal que |F| = p, con p primo, entonces
F
= Zp .
As que podemos hablar de el cuerpo con p elementos.
6.1.6. Notaci
on. Sea p un n
umero primo. Denotamos con Fp al cuerpo con p
elementos.
6.1.7. Observaci
on. Si F es un cuerpo de caracterstica p entonces claramente
Fp , F.
6.1.8. Definici
on. En la situaci
on anterior, a la imagen de Fp se le llama el
subcuerpo primo de F.
M
as adelante veremos que es u
nico.
6.1.9. Definici
on. Sea K/F una extensi
on. El grado de la extensi
on es la dimensi
on que tiene K como F-espacio vectorial. Se denota [K : F].
6.1.10. Definici
on. Una extensi
on K/F decimos que es finita si el grado es un
n
umero natural.
Obviamente, en cuerpos finitos las extensiones han de ser finitas.
6.1.11. Teorema. Sea F un cuerpo finito. Entonces, |F| = pt , donde p =
Car(F).
Demostraci
on. Trivial; ademas, t = dimFp (F).
6.1.12. Notaci
on. A partir de ahora, p se reserva para un n
umero primo y q,
para alguna potencia del primo p.
6.1.13. Proposici
on. Sea F un cuerpo con Car (F) = p. Entonces, para cualesquiera r, s F se tiene
pt

(r + s)

= rp + sp .

Demostraci
on. Inmediato del binomio de Newton, pues
 t (
0 si i 6= 0, pt
p
=
i
1 otro caso.
en F.
Por la proposici
on anterior, se tiene entonces que la correspondencia r 7 rp
es un automorfismo.


6.2. POLINOMIOS Y NUMEROS
ALGEBRAICOS

65

6.1.14. Definici
on. El automorfismo r 7 rp de Fp se conoce como el automorfismo de Frobenius. Se denota p .
M
as adelante veremos que todo automorfismo de un cuerpo finito es potencia
del automorfismo de Frobenius.
6.1.15. Teorema. Para todo cuerpo F, el grupo multiplicativo F = (F, ) es
cclico.
Demostraci
on. Suponemos que |F| = q > 3, si no, se hacen las cuentas.
m
1
on en factores primos. RecordeSea h = q 1 = p
1 pm la descomposici

mos que q 1 = |F |.
h
Para cada 1 i m, consideremos el polinomio X pi 1. Este polinomio
tiene a lo m
as, phi -races en F. Como phi < h, entonces que hay elementos en F
h

que no son races de X pi 1. Sea ai uno de esos elementos.

(h/pi i )

Ahora, hacemos bi = ai

(h/pi i )

. Es claro que ai

6= 1; ademas, bi i = ah =
(h/p

(i i )

i
cualquier 0 i , ai i
6= 1,
1; luego o (bi ) | p
i . Por otra parte,
Qpara
m
i
luego o (bi ) = pi . Hacemos b = i=1 bi . Finalmente, se puede comprobar de
forma directa que o(b) = h.

Curiosamente, se tiene entonces que para un cuerpo finito F, el grupo aditivo


es elemental abeliano, mientras que el multiplicativo es cclico.
6.1.16. Definici
on. A todo generador del grupo multiplicativo F se le llama
elemento primitivo de F.
6.1.17. Lema. Sea F un cuerpo con q = pt elementos. Entonces todo r F
verifica rq = r.
Demostraci
on. Inmediato del hecho de que el orden del grupo multiplicativo
|(F, )| = q 1. Por su parte, el cero trivialmente lo cumple.

6.2.

Polinomios y n
umeros algebraicos

6.2.1. Definici
on. Sea K/F una extensi
on. Un elemento K decimos que
es algebraico sobre F si existe f F[X] tal que f 6= 0, pero f () = 0.
6.2.2. Teorema [Kronecker]. Sea F un cuerpo y f F[X] un polinomio no
constante. Entonces existe una extensi
on K/F donde f tiene una raz.
Demostraci
on. Sea g un factor irreducible de f . Entonces F[X]/hgi = K es
g
un cuerpo. Claramente, la composicion F , F[X] K es homomorfismo
inyectivo de anillos con uno, donde k 7 kX 0 7 k + hgi. Hagamos = X + hgi
y notemos que la evaluaci
on g() = g (g) = 0, por lo que es una raz de g y
en consecuencia, de f .
6.2.3. Corolario. Si f F[X] entonces existe una extensi
on K/F donde f
tiene todas sus races, que son, como sabemos, salvo multiplicidad, gr(f ).

CAPITULO 6. CUERPOS FINITOS

66

Demostraci
on. Basta notar que se pueden ir construyendo K1 K2 Kn
extensiones con el teorema de Kronecker, con 1 , . . . n , las races construidas
en dicho resultado. El proceso se detiene cuando se llega, digamos, a Kn (con
n gr(f )), el primero que tiene todas las races. La factorizacion del polinomio
por las races hace el resto.
En la situaci
on anterior, si gr(f ) = n, se tiene que Kn = F (1 , . . . , n ).
2
2
6.2.4. Ejemplo. Hacemos
 F = Z2 , f = X +X +1. Sea tal que ++1 = 0.
Entonces 3 = 1. F4 = a + b | 2 + + 1 = 0 ; a, b F es una extension
de Z2 de cuatro elementos. Podemos hacer las tablas de sumar y multiplicar.
6.2.5. Definici
on. Sea F un cuerpo y f F[X]. Un cuerpo de descomposici
on
de f sobre F es aquel generado por F y todas las races de f .
6.2.6. Teorema. Sea K/F una extensi
on y K, algebraico sobre F. Entonces
existe un polinomio m = m (X) = Irr(, K) tal que:
1. m tiene grado mnimo con la propiedad m () = 0.
2. Si f () = 0 entonces m | f .
3. m puede elegirse m
onico.
4. m es irreducible.
Demostraci
on. Se considera I = {p F[X] | p() = 0}. Como F[X] es un
es
DIP, se tiene que I es principal. Elegimos el u
nico generador monico. Ese
m (X) y se tiene I = hm i. Es inmediato comprobar que se cumplen las primeras tres condiciones. Para comprobar que es irreducible en F[X], recordemos
(X)
que si m (r) = 0, con r F, entonces m
en vivira en I y tendra
(Xr) tambi
grado menor, lo cual es imposible.
6.2.7. Definici
on. Sea F un cuerpo y un elemento algebraico sobre F. Al
polinomio m se le llama polinomio mnimo de sobre F.
Las races est
an agrupadas en potencias del orden del cuerpo, como establece
el siguiente resultado.
6.2.8. Proposici
on. Sea K/F una extensi
on y K una raz de f F[X]. Si
|F| = q entonces q es raz de f .
Demostraci
on. Inmediata del Lema 6.1.17.
6.2.9. Definici
on. Sea K/F una extensi
on. Dos elementos de K decimos que
son conjugados en F si sus polinomios mnimos sobre dichos cuerpos coinciden.
6.2.10. Teorema. Sea f F[X] irreducible de grado r > 1. Entonces
1. Si K es un cuerpo de descomposici
on de f en F entonces [K : F] = r.
2. Todas las races de f son simples y dadas por los r elementos distintos
, q , . . . , q
donde es cualquier raz de f .

r1

6.3. EXISTENCIA Y UNICIDAD.

67

3. En consecuencia, cualquier raz de f es elemento primitivo del cuerpo de


escisi
on donde pertenezca.
Demostraci
on. 1. Consideremos el isomorfismo F()
= F[X]/hf i inducido por
la evaluaci
on. Es inmediato que dimF (F [X]/hf i) = r, as que [F() : F] = r.
s1
s
2. Considero , q , . . . , q
con q = , el primero. Es inmediato que s r.
Consideremos
cualquier elemento primitivo F().
hay una escritura
P
P Entonces
P
s
s
=
ai ki , con ai F y ki q s . Ahora, q =
ai ki q = ai ki = y por
r1
tanto r s. As que s = r. Luego , q , . . . , q
son todos distintos y ademas
i
q F().
3. Inmediato.
6.2.11. Corolario. En la situaci
on de (6.2.10), sea K y m su polinomio
mnimo sobre F. Entonces se tiene una descomposici
on en K,
m (X) =

s1
Y

X q

i=0
s

donde s es el primer natural tal que q = ; que, de hecho, es el grado del


polinomio mnimo.
Demostraci
on. Es inmediata.
El siguiente resultado establece la relacion entre grado de una extension y
grado del polinomio mnimo de cualquier elemento primitivo.
6.2.12. Corolario. Sea K/F una extensi
on de grado r y sea un elemento
primitivo de K, con polinomio mnimo m sobre F. Entonces r = gr (m )
Demostraci
on. Inmediata de los Teoremas 6.2.6 y 6.2.10

6.3.

Existencia y unicidad.

En esta secci
on vamos a demostrar la existencia y la unicidad de los cuerpos
finitos. Lo haremos en dos partes. Primero probaremos el resultado para cuerpos
de escisi
on y luego lo aplicaremos a los cuerpos finitos en general. De hecho,
veremos que todo cuerpo finito es un cuerpo de descomposicion o escision. Ya
hemos probado su existencia. Vamos a probar la unicidad.
6.3.1. Teorema [Unicidad del cuerpo de escisi
on]. Sea F un cuerpo y f
F[X]. Cualesquiera dos cuerpos de descomposici
on de f sobre F son isomorfos.
Demostraci
on. Sea K = F (1 , . . . , n ), construido como en el Corolario 6.2.3.
Recordemos que f se descompone en factores lineales en K[X]. Sea L/F una
extensi
on tal que posee una raz de f , digamos l L. Se considera cualquier
factor irreducible g de f tal que g(l) = 0. Por otra parte, existe i K tal que
g(i ) = 0. Entonces, los subcuerpos F(i ) y F(l) son isomorfos a F[X]/hgi y el
isomorfismo compuesto entre ellos es la correspondencia i 7 l. A partir de ah,

CAPITULO 6. CUERPOS FINITOS

68

si hay m
as races en L seguimos extendiendo hasta obtener K , L. De aqu el
resultado es inmediato.
6.3.2. Notaci
on. Dado un cuerpo F y un polinomio f K[X], podemos hablar
de el cuerpo de descomposici
on de f sobre K, salvo isomorfismo.
6.3.3. Lema. Sea F un cuerpo finito con q elementos y Fp su subcuerpo primo.
Entonces, el polinomio X q X Fp [X] se factoriza como
Xq X =

(X r) ;

rF

es decir, todas las races de X q X viven en F cuando Car(F) = p y |F| = q.


Demostraci
on. Por el Lema 6.1.17, todos los elementos de F son races, y como
gr (X q X) = q, ya tenemos todas las races.
6.3.4. Observaci
on. Recordemos que si un polinomio sobre cualquier cuerpo
tiene races m
utiples entonces la derivada no puede ser constante distinta de
cero. Ve
amoslo. Supongamos que r F es dicha raz. Si f = gh y f 0 = c F
entonces g 0 h + gh0 = c, luego 0 = g 0 (r)h(r) + g(r)h0 (r) = c; contradiccion.
6.3.5. Teorema [Existencia y unicidad de los cuerpos finitos]. Para cualquier primo, p y cualquier natural, t, existe un cuerpo finito con pt elementos.
Cualquier cuerpo finito con q = pt elementos es isomorfo a un cuerpo de
descomposici
on (o escisi
on) del polinomio X q X sobre Fp .
Demostraci
on. Existencia: Considerese el polinomio X q X Fp [X]. Como
0
la derivada (X q X) = 1 entonces el polinomio no tiene races m
ultiples.
As que tiene exactamente q races distintas (Corolario 6.2.3).
Sea F el cuerpo de descomposicion de X q X en Fp y consideremos L =
{ F | q = 0}. Claramente, |L| = q y L es un subcuerpo de F (hagase
la cuenta si se quiere). As que L es un cuerpo generado por todas las races de
X q X. Pero esa es la definicion de cuerpo de descomposicion; as que L = F.
Unicidad: Inmediato del hecho de que todos los cuerpos finitos son cuerpos
de descomposici
on, junto con la unicidad de estos (6.3.1).
6.3.6. Observaci
on. Hemos probado entonces que todo cuerpo finito con q =
pt elementos es el cuerpo de descomposicion de X q X en Fp .
6.3.7. Notaci
on. Para q = pt , con p, primo, denotamos al cuerpo (salvo isomorfismo) con q elementos con Fq .
6.3.8. Teorema. Sea p un n
umero primo; t, r n
umeros naturales, y Fpt y Fpr
cuerpos finitos. Entonces Fpt es (isomorfo a) un subcuerpo de Fpr si y s
olo si
t|r.
Demostraci
on. Sea un elemento primitivo de Fpr . Supongamos primero que
t|r. Entonces, es sabido que (pt 1)|(pr 1) y por tanto Fpr tiene un subgrupo
de orden pt 1, con el cual se forma un subcuerpo de la forma Fpt .

6.4. EJEMPLOS

69

Recprocamente, supongamos que tenemos un subcuerpo de Fpr de la forma


Fpt . Entonces tambien se tiene que Fpt Fpr de donde (pt 1)|(pr 1) y por
tanto t|r.
As que si tenemos un extensi
on cualquiera L/K, los resultados anteriores
nos dicen que ha de ser de la forma Fqs /Fq con q = pt y s = r/t. Considero un
elemento primitivo de Fqs , digamos . Entonces
o
n
s
Fqs = 0, 1, , . . . , q 2 .
Haciendo k =

q s 1
q1

se tiene que
o
n
Fq = 0, 1, k , 2k , . . . , (q1)k1

y adem
as Fqs = Fq () = Fp (). De inmediato se desprende entonces que
6.3.9. Teorema. Toda extensi
on L/K de cuerpos finitos es algebraica y simple.
Demostraci
on. Inmediato del hecho de que 1 + + + q1 = 0.
As que los cuerpos fintos est
an organizados en torres mas o menos as (con
contenciones
unicas)
Fp4

Fp6

Fp9

* 6 
*
6 




Fp2
Fp3
...
YH
H
6 
*
HH
Fp

6.4.

Ejemplos

Comencemos con F2 = {0, 1}, y consideremos el polinomio



2
X 2 X = X 4 X = X (X + 1) X 2 + X + 1 .
nico irreducible de grado 2. Sea una raz de dicho
Aqu, X 2 + X + 1 es el u
polinomio. Entonces 2 + + 1 = 0 y con ella construimos



F4 = 0, 1, , 2 | 2 + + 1 = 0 = 0, 1, , 2 | 3 = 1 .
O bien,
F4 = F2 () = {a + b | a, b F2 } .

CAPITULO 6. CUERPOS FINITOS

70

Ahora vamos a extender F2 a F24 . Consideramos la factorizacion


4

X2 X



X (X + 1) X 2 + X + 1 X 4 + X 3 + 1


X4 + X + 1 X4 + X3 + X2 + X + 1

en irreducibles en F2 [X].
Para construir una extension de F2 , de grado 4, los polinomios de grado 1 y
2 no sirven. Vamos a los de grado 4. Sean una raz cualquiera
de alguno de los
o
2
22
23
polinomios de grado 4. Las races seran , , ,
.
Ahora tenemos dos caminos:
Primero. Hacemos,
X4 + X3 + 1





2
3
X + 2
X + 2

= X 4 + + 2 + 4 + 8 X 3 +

+ 3 + 5 + 6 + 9 + 10 + 12 X 2 +

7 + 11 + 13 + 14 X + 15

(X + ) X + 2

y a partir de aqu construimos F24 . Es un poco rollo; o mas bien mucho.


Otra forma. Hacemos


F24 = a1 + a2 + a3 2 + a4 3 | ai F2 ; 4 + 3 + 1 = 0 .
o cualquier otra de las ecuaciones.
Podemos hacer la tabla completa. Comenzamos con
0, 1, , 2 , 3
y formamos,
4
5
6
7
8
9
10
11
12
13
14
15

=
=
=
=
=
=
=
=
=
=
=
=

1 + 3
+ 4
+ 2 + 4
+ 2 + 3 + 4
+ 2 + 3
2 + 3 + 4
+ 3
2 + 4
+ 3 + 4
+ 2
2 + 3
3 + 4

=
=
=

+ 1 + 3
+ 2 + 1 + 3
+ 2 + 3 + 1 + 3

= 1 + + 3
= 1 + + 2 + 3
= 1 + + 2

2 + 3 + 1 + 3

=
=

2 + 1 + 3
+ 3 + 1 + 3

= 1 + 2 + 3
= 1+

1, como debe de ser.

1 + 2

Como hemos visto, podemos tambien pasar a F24 , extendiendo F22 en vez
de F2 . Veamos.

6.5. EL ANILLO F[X]/(X N 1)

71



Tenemos F22 = 0, 1, , 2 , y q = 22 = 4. Sabemos que F24 es una extension
que se construir
a con un irreducible de grado 2 = [F24 : F22 ]. Esos irreducibles
2
ser
an divisores de X q X o sea,



2
X 4 X = X (X + 1) X 2 + X + 1 X 4 + X 3 + 1 X 4 + X + 1

X4 + X3 + X2 + X + 1 =


= X (X + 1) (X + ) X + 2 X 2 + X +



X 2 + 2 X + 2 X 2 + X + X 2 + X + 2


X 2 + X + 1 X 2 + 2 X + 1 .
Ahora usamos cualquier irreducible de grado 2, como por ejemplo, la primera,
X 2 + X + y consideramos una raz (un smbolo que verifica la ecuacion
anterior), digamos .
Tenemos
2 + + = 0 y 2 + + 1 = 0.
De aqu sacaremos toda la tabla.
Entonces F24 = {a + b | a, b F22 ; y las relaciones anteriores}
Vamos a hacer tambien la tabla completa para construir todo otra vez como
potencias de .
Tenemos
0, 1,
y adem
as,
2
3
4
5
6
7
8
y as...
9
10
11
12
13
14

6.5.

=
=
=
=
=
=
=

+
2
2
2

25
2
4

= = 2 +
= = +

= = 2 + 2
= = 1 +

= 2 +
= 2
= 2
= 1+
= + 2
= 1 + 2

El anillo F[X]/(X n 1)

El objetivo de esta secci


on es describir el anillo cociente Rn = F[X]/hX n 1i
y la relaci
on con las races de X n 1. Los codigos cclicos seran identificados
como ideales de Rn .
6.5.1. Definici
on. Sea n N, y consideremos el cuerpo F = Fq .

CAPITULO 6. CUERPOS FINITOS

72

1. Decimos que F es raz n-esima de la unidad si n = 1.


2. Decimos que F es raz primitiva de la unidad si n = 1 y n es el
primer natural (no cero) con la propiedad.
6.5.2. Proposici
on.
1. Si F es un elemento primitivo entonces es una raz (q 1)-esima
primitiva de 1.
2. F tiene una raz n-esima primitiva de la unidad si y s
olo si n | (q 1).
Demostraci
on. Inmediata del hecho de que F es cclico.
6.5.3. Definici
on. Sea n N con mcd(q, n) = 1. Sea 0 s n. La clase
q-ciclot
omica de s m
odulo n es:


Cs = s, sq, . . . , sq r1
donde r = mn {t N | sq t s mod n}.
6.5.4. Observaciones.

1. Considerese G = q i iZ actuando en Zn , a traves de x 7 xq i Zn . Los
Cs son las
orbitas de esta accion y por tanto forman una particion de Zn .
2. Sean n, k n
umeros naturales, tales que (n, q) = 1 y n | q k 1. Entonces

Fqk posee un (
unico) subgrupo cclico de orden n, digamos, . Sea
cualquier generador;
es decir, una raz primitiva de la unidad. Entonces, si

hacemos s = j | j Cs tendremos que {s } es una particion para
y cualesquiera dos elementos de un i son conjugados.

q
A
un m
as, como para todo f F[X] ocurre que f iq = f i entonces
tambien ocurrir
a que cada clase q-ciclotomica corresponda con un solo polinomio
mnimo; es decir,
6.5.5. Teorema. Sea Fqr una raz n-esima de 1 (entonces mcd(n, q) = 1).
Entonces:
1. Para cada 0 s n el polinomio mnimo de s en Fq se factoriza en
Fqr [X] como
Y

ms (X) =
X i
iCs

donde Cs es la clase q-ciclot


omica de s m
odulo n.
2. As que la factorizaci
on de X n 1 en Fq [X] es
Y
Xn 1 =
ms (X)
sS

donde S es un juego completo de representantes de las clases q-ciclot


omicas m
odulo n.

6.5. EL ANILLO F[X]/(X N 1)

73

Demostraci
on. Es consecuencia directa de (6.2.10). Veamos. Sea = s y sum1
pongamos que gr(m ) = m. Por dicho teorema, , . . . , q
son todas las races
qm
de m y adem
as, por el argumento de la demostracion,
se
cumple
que

=
m1
y m es el primero con la propiedad. De ah que Cs = s, sq, . . . , sq
. Notes
que gr(m ) = |Cs |.
Sea una raz n-esima primitiva de 1. Se considera S un juego completo
de representantes de las clases q-ciclot
para cada s S,
Q omicas. Claramente,
n
s
s esPraz de X n
1
y
por
tanto
m
(X)
|
(X

1).
Finalmente, como

sS
P
n = sS |Cs | = sS gr (ms ) se tiene la igualdad.
6.5.6. Observaciones. Ahora vamos a hacer una lista de hechos que sabemos
o podemos probar muy f
acilmente:
1. Si mcd(n, q) = 1 entonces X n 1 no tiene races m
ultiples.
2. Sea Rn = F[X]/(X n 1). Si I Rn , existe g F[X], monico, tal que
g | (X n 1) e I = hgi.
3. Si g h | X n 1 entonces g y h son coprimos (no hay races m
ultiples) y
por tanto existen a, b F[X] tales que 1 = ag + bh.
4. En Rn , si ocurre 1 = ag + bh, con gh = 0 entonces e = ag es idempotente,
con bh = 1 e.
5. Por tanto, Rn es semi simple y conmutativo. Por el Teorema de Wedderburn Rn es producto de cuerpos. (Esto tal vez no se conozca, pero lo
veremos explcitamente.)
6.5.7. Definici
on. Sea I un ideal de Rn . Al polinomio m
onico g | X n 1 de
la Observaci
on 6.5.6.2 se le conoce como polinomio generador de I.
Vamos ahora a establecer la relacion entre los ideales del anillo Rn y las
clases q-ciclot
omicas de las races n-esimas de la unidad. Consideremos la situaci
on de la Observaci
on 6.5.4, donde k puede ser elegido de tal manera que sea
precisamente el orden multiplicativo de q, modulo n.
6.5.8. Definici
on. En la situaci
on del p
arrafo anterior, sea I un ideal de Rn
y Fqk una raz n-esima primitiva de la unidad.
1. El conjunto de ceros de I es



Z (I) = i | p i = 0, p I
2. El conjunto de no ceros de I son aquellos j 6 Z(I).
6.5.9. Teorema. Sean q una potencia de un primo p; n, k n
umeros naturales,
tales que (n, q) = 1 y k es el orden multiplicativo de q, m
odulo n. Sean {Ci } las
clases q-ciclot
omicas de q, m
odulo n, y Fqk una raz n-esima primitiva de
la unidad. Entonces

CAPITULO 6. CUERPOS FINITOS

74

1. Todo ideal I de Rn determina una u


nica uni
on de clases ciclot
omicas
D(I) = Ci1 Cir , de tal manera que


Z = j | j D(I)
2. Recprocamente, toda reuni
on de clases q-ciclot
omicas modulo n, D =
Ci1 Cir determina un u
nico ideal I de Rn , dado por


I = p Rn | p( j ) = 0, j D
Demostraci
on. Inmediata.
6.5.10. Teorema. Sean I, J ideales de Rn con polinomios generadores g, h,
respectivamente. Entonces:
1. I J si y s
olo si h | g.
2. I J tiene polinomio generador, un asociado a mcm(g, h).
3. I + J tiene polinomio generador, un asociado a mcd(g, h).
4. I J tiene polinomio generador, un asociado a mcd(gh, X n 1).
Demostraci
on. Basta hacer las cuentas.
6.5.11. Proposici
on. Sean n y q, coprimos, como siempre. Sean Ci1 , . . . , Cis
las distintas clases q ciclot
omicas de la unidad, con i1 , . . . , is un juego completo
de representantes. Sea una raz n-esima primitiva de la unidad y sea
Qs mj el
on X n 1 = j=1 mj .
polinomio mnimo de ij . Considerese la descomposici
n
n
Hacemos uj = Xm1
. Entonces. Hacemos ui = Xm1
. Entonces
j
i
1. Existen ai , bi tales que 1 = ai mi + bi ui .
2. Rn mi = Rn ai mi y Rn ui = Rn bi ui .
3. Rn mi es maximal y Rn ui es minimal.
4. Rn ui
= Rn /Rn mi
= Fq [X]/(mi )
= Fqgr(mi ) .
Demostraci
on. Las tres primeras son inmediatas. Para la u
ltima es el segundo
n
teorema de isomorfa; esto es, Rn /Rn mi
(F
[X]/(X

1)
/ ((mi )/(X n 1)).
= q
Sabemos que las identidades de Bezout vistas se pueden extender a mas
sumandos, as que
6.5.12. Teorema. Sean n y q, coprimos, como siempre. Sean Ci1 , . . . , Cis las
distintas clases q ciclot
omicas de la unidad, con i1 , . . . , is un juego completo
de representantes. Sea una raz n-esima primitiva de la unidad y sea
Qs mj el
polinomio mnimo de ij . Considerese la descomposici
on X n 1 = i=1 mi .
n
Hacemos uj = Xm1
. Entonces
j

6.5. EL ANILLO F[X]/(X N 1)

75

1. Rn = Rn u1 Rn us .
2. Rn ui
= Fqgr(mi ) .
Demostraci
on. Inmediata.
Como gr(mi ) = |Ci | entonces se tiene
6.5.13. Corolario. Sean C1 , . . . , Cs las distintas clases q-ciclot
omicas m
odulo
n. Entonces
s
Y
n

F[X]/(X 1) =
F |Ci | .
q

i=1

6.5.14. Corolario. Si mcd(n, q) = 1 entonces Rn es un producto de cuerpos.


6.5.15. Ejemplo. Consideramos F2 y n = 7.
Usando el Corolario
las clases
 6.5.13,
calculamos

2-ciclotomicas modulo 7.
Son C0 = {0}, C1 = 1, 2, 22 , C3 = 3, 3 2, 3 22 . La estructura es:
R7 = F2 [X]/(X 7 1)
= F2 F23 F23 .
Ahora viene la parte ardua que es calcular los idempotentes de la descomposici
on.
Lo primero que necesitamos es la factorizacion de X 7 1 en irreducibles. En
principio (6.5.5) nos dice c
omo hacerlo explcitamente. Como hay tres clases 2ciclot
omicas, m
odulo 7, hay tres factores irreducibles que se construyen, usando
a , una raz septima de 1, as:
1. El de C0 , que es X + 1.



2. El de C1 que es (X + ) X + 2 X + 4 = X 3 + 4 + 2 + X 2 +
6 + 5 + 3 X + 1.




3. El de C3 que es X + 3 X + 6 X + 5 = X 3 + 3 + 5 + 6 X 2 +
+ 2 + 4 X + 1.
Nuevamente (6.5.5) nos dice que los coeficientes de los polinomios 4 + 2 +
y + 5 + 6 viven en F2 , luego son 0 o 1. Pero, desafortunadamente, no podemos
saberlo con un metodo fijo; as que descomponer polinomios sigue siendo igual
de difcil que, por ejemplo, en la caracterstica 0.
Hay programas y tablas para calcular descomposiciones. Uno termina siempre echando mano de ellas.
As que, expresamos como producto de irreducibles X 7 1 = (X + 1)(X 3 +
2
X + 1)(X 3 + x + 1). Entonces
3

m1 = X + 1
m2 = X 3 + X 2 + 1
m3 = X 3 + X + 1

u1 = X 6 + + X 2 + X + 1
u2 = X 4 + X 3 + X 2 + 1
u3 = X 4 + X 2 + X + 1

De aqu, todava faltar


a hacer las identidades de Bezout para obtener los
idempotentes.

CAPITULO 6. CUERPOS FINITOS

76

6.6.

Automorfismos

6.6.1. Definici
on. El grupo de Galois, como siempre, es Gal (F) el grupo de
los automorfismos junto con la composici
on.
Si Fqs /Fq es una extensi
on, denotamos con Gal (Fqs /Fq ) los automorfismos
de Gal (Fqs ) que dejan fijo a Fq .
Por (6.1.14) se tiene
6.6.2. Observaci
on. Un automorfismo de Frobenius es un elemento
p Gal (Fpr ) .
N
otese que pr = p .(r)
. . p tiene sentido.
Vamos a describir a Gal (Fq ).
N
otese que Gal (Fq ) = Gal (Fq /Fp ).
6.6.3. Teorema. Sea p un n
umero primo y r N. Entonces, Gal (Fpr ) = hp i.
En consecuencia, es un grupo cclico de orden r.
Demostraci
on. Hacemos q = p y consideramos Fqr un elemento primitivo
y m su polinomio mnimo en Fq . Sabemos que para cada Gal (Fq ), ()
r1
es raz de m y que esas races son , q , . . . , q , as que no hay mas que
r-distintos automorfismos de hp i = Gal (Fqr ).
6.6.4. Corolario. Sea q = pt y 0 n t. Entonces {x Fq | pn (x) = x} =
Fpmcd(n,t) .
Demostraci
on. Inmediato del hecho de que {x Fq | pn (x) = x} es un subcuerpo.

Captulo 7

C
odigos cclicos
7.1.

Conceptos b
asicos

7.1.1. Definici
on. Un [n, k]-c
odigo lineal C sobre F se llama c
odigo cclico si
cumple que es cerrado para permutaciones cclicas; es decir,
(x0 , . . . , xn1 ) C (xn1 , . . . , xn2 ) C.
7.1.2. Ejemplos. Vamos a ver algunos ejemplos muy simples
1. El c
odigo total y el trivial.
2. El c
odigo de repetici
on.
3. El {(0000) , (1010) , (0101) , (1111)}, de dimension 2.
4. El h{(1100) , (0110) , (0011)}i en F42 .
5. Sea P la matriz de permutacion cclica; es decir,


0 I
P =
1 0


y X Fn un subconjunto arbitrario. Entonces XP i | i N sera un
c
odigo cclico.
6. Un c
odigo que no es cclico es {(0000) , (1100) , (0011) , (1111)}. Notese
que es cerrado bajo recorridos de dos en dos; de hecho, es permutacion
equivalente a un cclico.
7.1.3. Proposici
on. Un c
odigo lineal C Fn es cclico si y s
olo si el ortogonal,

C es c
odigo lineal cclico.
Demostraci
on. Sea P la matriz de permutacion cclica. Entonces y C
i
y xP = 0 para todo x C y para todo i N.
Por la definici
on, la matriz de permutacion es ortogonal;
es decir, P P t = I.
 t
n
i t
ni
i
Como P = I entonces (P ) = P
. As, 0 = yP x = y xP ni = 0.
77


CAPITULO 7. CODIGOS
CICLICOS

78

7.2.

C
odigos cclicos y anillos de polinomios

Seguimos suponiendo que mcd(n, p) = 1. Considerese Fn con la base canonica En y Rn = Fn /(X n 1), como hemos estudiado, con su base canonica
Xn = 1, X, X 2 , . . . , X n (abusando de notacion, porque deberan de tener
barras).
Sea : En Xn tal que (ei ) = X i1 , i = 1, . . . , n. Esta correspondencia
induce un isomorfismo
: Fn Rn
que dejaremos en notacion fija.
7.2.1. Proposici
on. En la situaci
on anterior (con fija), sea C Fn un
c
odigo lineal. Entonces C es cclico si y s
olo si (C) es ideal en Rn .
Demostraci
on. Inmediata del siguiente diagrama conmutativo.
Fn 

- R
n
1

x o x

?
n


1

?
Rn

Como ejemplos de codigos cclicos tenemos los ideales obtenidos en el Ejemplo 6.5.15.
Como hemos comentado, la definicion de codigo cclico nos impide ver al
c
odigo
D = {(0000) , (1100) , (0011) , (1111)}
como cclico, a pesar de que sabemos que el operador que mueve dos veces las
coordenadas los deja invariante.
Si consideramos : F4 R4 con (e1 ) = 1, (e2 ) = X 2 , (e3 ) =
X, (e4 ) = X 3 se puede comprobar facilmente que (D) es ideal en Rn .
A
un m
as, los u
nicos isomorfismos entre Fn y Rn que pueden interesar han
de preservar pesos y en consecuencia mandaran la base canonica Fn en la de
Rn , pues son los u
nicos con peso 1.
7.2.2. Proposici
on. Un c
odigo C Fn lineal es equivalente a un c
odigo cclico
si y s
olo si existe un isomorfismo entre Fn y Rn que restringe a una biyecci
on
de las bases can
onicas.
Demostraci
on. Inmediata.
A partir de ahora, cuando digamos que C es un codigo cclico, entenderemos
C Rn = Fn , abusando de las notacion.


7.2. CODIGOS
CICLICOS Y ANILLOS DE POLINOMIOS

79

7.2.3. Observaci
on. Repasemos lo que acabamos de ver sobre los ideales en
Rn . Fijamos una raz n-esima primitiva de la unidad, digamos , y consideramos
las clases q-ciclot
omicas m
odulo n, Ci1 , . . . , Cis , con S = {i1 , . . . , is } un juego
completo de representantes. Sean, como siempre, mj = mji (X) los polinomios
n

. Sabemos por el Teorema 6.5.12 que los Rn uj son todos los


mnimos y uj = Xm1
j
ideales minimales y que cada Rn uj
= Fqgr(mj ) = Fq|Cj | . Por tanto, dimF Rn uj =
gr(mj ) = |Cj |.
Sea ahora I Rn un c
odigo cclico. Por la Observacion 6.5.6, existe un
polinomio generador (m
onico) g F[X] tal que I = hgi y g | X n 1; por eso
n
abusamos de la notaci
on y escribimos g en vez de g. Si h = X g1 entnces existen
Q
Q
S1 y S2 , una partici
on de S tal que (6.5.5) g = jS1 mj y h = kS2 mk ;
adem
as,
Y
Y
Y
Rn uk
Rn g =
Fqgr(mk )
Fq|Ck | .
=
=
kS2

kS2

De aqu, dimF Rn g = n gr(g) =

kS2

kS2

|Ck |.

7.2.4. Proposici
on. Sea C un c
odigo cclico en Rn con polinomio generador
Pnk
g(X) = i=0 gi X i ; es decir, gr(g) = n k. Entonces
1. dimF C = k.


2. g(X), x g(X), . . . , xk1 g(X) es base para C.
3. La matriz a continuaci
on

g0 g1
0 g0

G=

es generadora de C,

..
.

gnk

0
gnk

g0

..
.

gnk

kn

Demostraci
on. 1. Acabamos de verlo en la Observacion 7.2.3. P
k1
2. Es inmediato por el hecho de tener todos grados distintos. Si i=0 ri X i g(X) =
n1
0 entonces rk1 gnk X
= 0, luego rk1 = 0. Repitiendo el argumento se tiene
r0 = = rk1 = 0.
3. Es la matriz generadora de la base anterior.
Una vez que tenemos la matriz generadora queremos la matriz de control.
7.2.5. Definici
on. Sea C un c
odigo cclico en Rn con polinomio generador
g(X). Llamaremos polinomio de control de C a
h(X) =

Xn 1
g(X)

es decir, gh = X n 1 en F[X].
Usando h podemos dar una matriz de control muy facil.


CAPITULO 7. CODIGOS
CICLICOS

80

Pk1
7.2.6. Teorema. Sea C Rn c
odigo cclico y h = i=0 hi X i su polinomio
de control. Entonces la siguiente matriz es matriz de control para C,

hk hk1 h0 0 0
0

hk

h0

H=
;

.
.
..
..

hk

h0

nkn

es decir,

H = (aij )nkn

0
| aij = hk(ji)

si j i < 0
si 0 j i k
si k < j i

Demostraci
on. Sea c = c(X) un elemento de C. Entonces c = gp, donde g es
el generador, y g un polinomio en Rn con grado estrictamente menor que k,
pues la suma de sus grados no puede pasar de n y g tiene grado n k (esto
siempre se puede conseguir con un representante adecuado). Entonces hc =
hgp = (X n 1)p. Veamos que el polinomio (X n 1) q tiene todos los
Pcoeficientes
0
de los terminos de grado k, . . . , n 1 cero. Supongamos
que
p
=
X i,
P
P i=00 k pin+i
0
n
n
0
i
con k < k. Entonces (X 1)p = p+X p = i=0 k pi X + i=0 k pi X
,
o sea, que X k , . . . , X n1 tienen coeficientes 0.
Es inmediato hacer la cuenta y ver que en el producto hc los coeficientes de
los grados k, . . . , n 1 son precisamente las entradas del producto

p0

H ... = 0
pn1
por tanto H es matriz de control.
Observese entonces que C no necesariamente esta generado por h.
Pm
7.2.7. Definici
on. Para un polinomio f (X) = i=0 ai X i , se define
m
m
X
X

ai X mi
f ? (X) = X m f X 1 = X m
ai X i =
i=0

i=0

7.2.8. Ejercicio. Probar que en la situaci


on de la definici
on anterior
1. Si f | g entonces f ? | g ? .
2. Si g | X n 1 entonces g ? | X n 1.
7.2.9. Corolario. Sea C un c
odigo con polinomio de control h =
1
Entonces C tiene polinomio generador h = h(0)
h? .

hi X i .


7.3. CEROS DE UN CODIGO
CICLICO Y MATRIZ DE CONTROL

7.3.

81

Ceros de un c
odigo cclico y matriz de control

Sea C un c
odigo cclico de orden n sobre F = Fq , con mcd(n, q) = 1, sea una
raz n-esima primtitiva de 1, y sea S un juego completo de representantes de las
clases q-ciclot
omicas m
odulo n. Sea g(X) el generador de C (Observacion 6.5.6).
Como sabemos (6.5.5) si g(X) | X n 1 entonces
Y
g=
mt .
tT S

7.3.1. Definici
on. En la situaci
on anterior. Definimos.
1. Los ceros de C son las races de g; es decir,
{ a | a Ct , t T } .
2. Los no ceros son las races de h =


X n 1
g ,

es decir el conjunto

b | b Cs , s S \ T

7.3.2. Observaci
on. Sea C un codigo cclico. Entonces los ceros de C son
precisamente los inversos de los no ceros de C. La razon es la siguiente. Es
inmediato comprobar que si es raz de un polinomio f (X) entonces 1 es raz
de f (X); basta ver la definici
on en (7.2.7).
Usando los ceros de un c
odigo cclico podemos construir una matriz de control.
Consideramos a C Rn sobre F = Fq , con mcd(n, q) = 1, con polinomio
generador g y sea, usando la notacion de la definicion anterior, T = {t1 , . . . , td }.
Vamos a formar la matriz

1 t1 2t1 . . . (n1)t1

..
L=
(7.3.1)

.
1

td

2td

...

(n1)td

|T |n

Es muy claro que si c C, visto como coordenadas, Lct = 0, y viceversa.


N
otese que L no tiene entradas en F, as que no es, en principio matriz de
control; pero vamos a construir una a partir de L.
Consideramos Fqr el cuerpo de escision de g sobre Fq . Ahora, expresamos
cada tj como coordenadas de Fqr visto como espacio vectorial sobre Fq ; es
decir, denotamos tj las coordenadas de tj . Ahora formamos

L=

t1

td

2t1
..
.

...

2td

...

(n1)t1

(n1)td

|T |rn

(7.3.2)


CAPITULO 7. CODIGOS
CICLICOS

82

Vamos a ver que es matriz de control. Primero tenemos que


Pr fijar una base.
Sea {u1 , . . . , ur } una base para Fqr . supongamos que mti = j=1 aji uj . Como
Lct = 0 entonces

!
n1
r
r
n1
X X
X
X

0=
aji uj ci =
uj
aji ci
i=0

j=1

j=1

i=0

y como los uj son linealmente independientes se tiene el resultado.

7.4.

Codificaci
on y decodificaci
on en c
odigos
cclicos

Como hip
otesis general, supongamos que tenemos un codigo cclico C
Rn tal que C = hgi, con g el polinomio generaodr, con gr(g) = r, as que la
dimensi
on dim C = n r.
Comenzamos con la codificacion. Vamos a ver una decodificacion sistematica.
Supongamos que queremos codificar la palabra a0 anr1 .
Pnr1
1. Hacemos a(X) = i=0 ai X ni1
2. Luego operamos a(X) = pg + s, con gr(s) < r.
3. Finalmente hacemos c = a s = pg.
Para decodificar, se puede proceder de la siguiente manera.
1. Se recibe un vector p Rn .
2. Se divide p = gs + t, con gr(t) < r. Es claro que si p = c + e, entonces
existe s0 Rn tal que p = c0 g + e. La unicidad del algoritmo de la division
nos dice que c = c0 ; luego p t es la palabra buscada.
Esta decodificaci
on es en realidad una decodificacion por sndrome. Vamos a
comprobar que existe una matriz de control cuyos sndromes son precisamente
los restos obtenidos.
Considerese para i = 0, . . . , n 1, la expresion X r+i = gsi + ti , obtenidos
con el algoritmo de la division. Se puede comprobar facilmente que los X r+i
ti = gsi son una base para C. Por los grados de los terminos lderes tenemos
independencia lineal, y por el n
umero de elementos tenemos
Pr1 que es base.
Ahora, escribimos una matriz generadora. Si ti = j=0 ti,j X j

t0,0
t1,0

G=

tnr1,0

t0,r1
t1,r1

1
0
..
.

0
1

...
...

tnr1,r1

...

0
0

= (T | I)

Y DECODIFICACION
EN CODIGOS

7.4. CODIFICACION
CICLICOS 83

Esta
tambien es una matriz de codificacion sistematica, en forma tpica;
as que la matriz de control es H = (I | T t ). Uno puede comprobar con un calculo
Pr
Pnr1
directo que para un polinomio recibido u = j=0 X j + i=0 ur+i X r+i , se
tiene que H(u0 , . . . , un1 )t son justo los coeficientes del resto de la division
u = gs + t.

84

CAPITULO 7. CODIGOS
CICLICOS

Captulo 8

C
odigos cl
asicos que se
realizan como c
odigos
cclicos
8.1.

C
odigos de Hamming

Recordemos la definici
on de c
odigo de Hamming. Hq,r tiene matriz de control


de cada matriz de dimension 1 de Fqr
Hq,r =
tomo un vector y lo pongo
y sabemos que hay exactamente

q r 1
q1 .

8.1.1. Observaci
on. Sea H una matriz tal que


.
H = H1 H qr 1
r 1
q1
]
[r qq1
Si las columnas son linealmente independientes
2 a 2 entonces
H es la matriz
h r
i
1 q r 1
de control de un c
odigo de Hamming, un qq1
, q1 r, 3 -codigo.
8.1.2. Teorema. Todo c
odigo de Hamming es cclico
r

1
Demostraci
on. Hacemos n = qq1
. Vamos a ver primero que Fqr es el cuerpo
n
de escisi
on de X 1 sobre Fq . Notese primero que n(q 1) = q r 1 y n =
1 + + q r1 , de donde n > q r1 1. Ahora considerese una raz de X n 1,
r
digamos . Entonces n = 1, luego n(q1) = 1, as que q = , de donde Fqr
contiene al cuerpo de escisi
on, pero n > q r1 1 as que debe ser justo el cuerpo
de escisi
on.
Ahora, sea una raz n-esima primitiva de la unidad y considerese la matriz

L = 1 (n1)

85

CAPITULO 8. CODIGOS
CICLICOS CLASICOS

86

y expresemos esos elementos como se hizo en la Seccion 7.3 de los ceros, viendo
Fqr como Fq espacio vectorial,


H = 1 (n1)
N
otese que Frq tiene exactamente n-subespacios de dimension 1 y como ese
es precisamente el n
umero de columnas de H, basta ver que cualesquiera dos
columnas son l.i. para saber que H es matriz de codigo de Hamming.
Supongamos que a i = j , con 0 i, j < n. Entonces a (ij) = 1, as que
(q1)
a (ij)
= 1. Pero a Fq , luego aq1 = 1, as que (ij)(q1) = 1, de
donde n | (i j)(q 1); pero mcd(n, q 1) = 1, luego i = j.

8.2.

C
odigos BCH

El nombre viene de Bose, Ray-Chandhuri y Hocquengheim. En estos codigos


cclicos, se busca que tenga una longitud y distancia designada.
8.2.1. Definici
on. Sea Fqr el cuerpo de escisi
on de X n 1 que contiene a Fq
y sea Fqr una raz n-esima primitiva de la unidad. Sean 2 n y b 0.
Cambiando r, por Fqr , tenemos cinco par
ametros, (q, n, , , b).
Llamamos c
odigo BCH de longitud n y distancia designada sobre Fq y
lo denotamos Bq (n, , , b) (el par
ametro q sale del parentesis) al c
odigo cclico
generado por

g(X) = mcm mb (X), mb+1 (X), . . . , mb+2 (X)
1. En el caso b = 1, el c
odigo se llama BCH en sentido restringido (narrow
sense) y se omite el u
ltimo par
ametro, es decir, se escribe Bq (n, , )
2. Si es un elemento primitivo de Fqr , diremos entonces que el c
odigo es
BCH primitivo. N
otese que esto ocurre si y s
olo si n = q r 1.
Trivialmente, todo codigo de Hamming es BCH (primitivo y restringido),
con par
ametros b = 1, = 2, d 2.
8.2.2. Proposici
on. El c
odigo Bq (n, , , b) es el 
c
odigo cclico de mayor
dimensi
on que contiene entre sus ceros al conjunto b , b+1 , . . . , b+2 . De
hecho, el conjunto de sus ceros est
a formado por los anteriores elementos y sus
conjugados.
Demostraci
on. Es muy facil. Sea g(X) como en la definicion de codigo BCH.
Considero un polinomio f (X) tal que f b+i = 0 para todo i = 0, . . . , 2;
entonces g | f , ya que mb+i (X) | f (X). As, g tiene grado mnimo y por tanto
Bq (n, , , b) tiene dimension maxima.
8.2.3. Observaci
on. En un codigo BCH restringido (b = 1), C generado por
g, podemos asegurar que 1 no es raz de g ya que < n implica que 1 + 2 =
1 = n 1. Luego i 6= 1 para todo i = 1, . . . , 1.


8.2. CODIGOS
BCH

87

Adem
as, el c
odigo generado por (1 X)g es el subcodigo cclico de las palabras de tipo par de C, que obviamente, ta,bien es un codigo BCH, de hecho,
es Bq (n, + 1, , 0).
El siguiente resultado es un verdadero clasico de los codigos.
8.2.4. Teorema [Cota BCH]. Sea C un [n, k, d]-c
odigo cclico sobre F y sea
n
una raz n-esima primitiva de la unidad en el cuerpo de escisi
on de X 1
i
sobre F. Si existen b 0 y 1 tal que | b i b + 2 son ceros de
C, entonces d .


Demostraci
on. Sea Z = i | b i b + 2 un subconjunto de los ceros
del c
odigo, digamos ij | j = 0, . . . , k . Si M es la matriz formada por los
ceros (en la extensi
on de Fq y p = (p0 , . . . , pn1 ) es un vector de corficientes de
un polinomio en el c
odigo, se tiene que M p = 0; es decir

( i0 )0
( i0 )
...
( i0 )n1
0
..

p0
b
b n1

( b )0
(
)
.
.
.
(
)
p1 ..

.
..
.. =

.
.


( b+2 )0 ( b+2 ) . . . ( b+2 )n1

pn1

.
..

0
( ik )0
( ik )
...
( ik )n1
Escogemos una palabra p C de modo que su peso sea mnimo; es decir,
(p) = d. Elegimos un subconjunto {c1 , . . . , cd } del conjunto de columnas de
las filas correspondientes a las entradas que comienzan con b , . . . , b+2 y con
eso formamos la matriz D.

( b )c1
...
( b )cd

..
D=

.
( b+2 )c1

...

( b+2 )cd

Si p0 es el vector proyecci
on de p en los ndices de las columnas elegidas,
podemos ejecutar el producto y obtenemos Dp0 = 0. Si ocurre que d 1,
podemos extraer la submatriz

( b )c1
...
( b )cd

..
=

.
( b+d1 )c1

...

( b+d1 )cd

cuyo determinante es no nulo. Luego p0 = 0 implica p0 = 0, lo cual es imposible.


8.2.5. Corolario. d (Bq (n, , , b)) , siempre.
8.2.6. Teorema. Sea C = Bq (n, , , b) un c
odigo BCH, donde On (q) = r; es
decir, n | q r 1 y r, el primero. Entonces dimFq C n r( 1).

CAPITULO 8. CODIGOS
CICLICOS CLASICOS

88

Demostraci
on. Inmediato de la definicion de codigo BCH y de (6.5.12 y 6.5.13).
8.2.7. Ejemplo. Consideremos los codigos BCH binarios y restringidos de orden 31; es decir, B2 (31, , ). Puede recorrer 2 29.
Para determinar los codigos primero consideramos las clases 2-ciclotomicas
m
odulo 31. Estas son:
C0

{0}

C1

{1, 2, 4, 8, 16}

C3

{3, 6, 12, 24, 17}

C5

{5, 10, 20, 9, 18}

C7

{7, 14, 28, 25, 19}

C11

{11, 22, 13, 26, 21}

C15

{15, 30, 29, 27, 23}

Para calcular los datos se procede as:


1. Se determina la distancia deseada. Por ejemplo, 9.
2. Se hace la lista {, . . . , 7 } que corresponde con b = 1 y = 9, y con esta
lista se hacen las dos siguientes cosas.
3. Se determina g(X).
4. Se establecen las clases q-ciclotomicas involucradas. En este caso son C1 ,
C3 , C5 y C7
P
5. Se establece la dimension que es n |Ci | involucrados. En este caso,
31 20 = 11.
6. El u
ltimo c
alculo de la tabla siguiente es hecho a mano.
Tomando una raz 31-esima primitiva de la unidad se tiene

1
3
5
7
9 y 11
13 y 15
17, . . . , 31

g(X)
m0
m
m m3
m m3 m5
m m3 m5 m7
m m3 m5 m7 m9
X 31 1

Ci involucradas
C0
C1
C1 , C3
C1 , C3 , C5
C1 , C3 , C5 , C7
C1 , C3 , C5 , C7 , C9
C1 , . . . , C15

dimF2 C
31
26
21
16
11
6
1

(C)
1
3
5
7
11
15
31

Como se puede apreciar, un codigo BCH puede interpretarse con distintos


par
ametros; de ah la siguiente definicion.
8.2.8. Definici
on. Sea C = Bq (n, , , b) un c
odigo BCH. Se llama distancia
de base de C al mayor tal que C = Bq (n, , , b).


8.3. CODIGOS
DE REED-SOLOMON

8.3.

89

C
odigos de Reed-Solomon

Son un caso particular de c


odigos BCH; de hecho, son un caso particular de
c
odigos BCH primitivos.
8.3.1. Definici
on. Un c
odigo de Reed-Solomon es un BCH sobre Fq , donde
n = q 1.
8.3.2. Observaciones.
1. Como n = q 1 entonces Fq es cuerpo de escision para X n 1; as que
s
olo hay factores lineales o, dicho en terminos de clases q-ciclotomicas, todas las
clases q ciclot
omicas tienen orden 1.
Qb+2
2. Por lo anterior, si g es el polinomio generador entonces g = i=b (X i )
y por tanto
dim C = n + 1 .
3. Si C es un RS-c
odigo entonces C tambien lo es. Esto se desprende del
hecho de que las clases ciclot
omicas solo tienen un elemento y no hay conjugados
m
a
s
que
uno
mismo.
Esto
significa que si los ceros de C contienen a
 b b+1

, , . . . , b+2 entonces ya son todos. Luego los inversos de los no ceros


son (b+1) , . . . , (b1) que es otra vez una lista de potencias consecutivas
(puestas de forma decreciente), m
odulo n. Se invierte la lista y punto.
4. Hemos visto que dim C = n + 1 , luego = n + 1 dim C; as que
d(C) = n+1dim C, pero la cota de Singleton nos dice que d n+1dim C,
de donde se tiene la igualdad y por tanto es un codigo MDS.

90

CAPITULO 8. CODIGOS
CICLICOS CLASICOS

Bibliografa
[1] J. Ad
amek, Foundations of Coding, Wiley, Chichester, 1991.
[2] H. Fripertinger. Enumeration of the semilinear isometry classes of linear
codes, en A. Kerber y A. Kohnert, ed., ALCOMA05, Proceedings of the
Conference on Algebraic Combinatorics and Applications, Designs and
Codes, Thurnau, Germany, 2005. Bayreuth. Math. Schr., vol. 74, p. 100122, 2005.
[3] W.C. Huffman y V. Pless, Fundamentals of Error Correcting Codes, Cambridge, 2003.
[4] F. J. MacWilliams y N. J. A. Sloane, The Theory of Error Correcting
Codes, North-Holland, Amterdam, 1986.
[5] C. Munuera y J. Tena, Codificaci
on de la Informaci
on, Universidad de
Valladolid, 1997.
[6] V. Pless, Introduction to the Theory of Error-Correcting Codes, Wiley,
1982.
[7] O. Pretzel, Codes and Finite Fields, Clarendon, 1992.
[8] J. Rif
a y Ll. Huguet, Comunicaci
on Digital, Masson, 1991.
[9] Derek J. S. Robinson, A Course in the Theory of Groups, Springer, Nueva
York, 1996.
[10] S. Roman, Coding and Information Theory, Springer, Nueva York, 1992.
[11] S. Roman, Introduction to Coding and Information Theory, Springer,
1992.
[12] J. H. van Lint, Introduction to Coding Theory, Springer, Nueva York, 1982.

91

También podría gustarte