Está en la página 1de 91

Apuntes de Codigos Correctores de Errores

Juan Jacobo Simon Pinero

Master 2011-2012
2
Indice general

1. Informaci on y codigos 5
1.1. La transmision de la informacion . . . . . . . . . . . . . . . . . . 5
1.2. Medida de la incertidumbre y de la
informacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3. Capacidad de un canal con interferencias . . . . . . . . . . . . . . 14
1.4. Codigos correctores de errores . . . . . . . . . . . . . . . . . . . . 19
1.5. Teorema de Shannon . . . . . . . . . . . . . . . . . . . . . . . . . 22

2. Generalidades sobre C odigos 25


2.1. Conceptos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Equivalencia y automorfismos de codigos . . . . . . . . . . . . . . 32
2.3. Construcci
on de codigos a partir de otros . . . . . . . . . . . . . 32

3. Codigos lineales 35
3.1. Conceptos b asicos . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2. Codigos duales u ortogonales . . . . . . . . . . . . . . . . . . . . 38
3.3. Pesos y distancias . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4. Codificacion y decodificacion en codigos
lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5. Construcciones con c odigos lineales . . . . . . . . . . . . . . . . . 46

4. Cotas a los parametros 49


4.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2. Cota de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . . 51
4.3. Cota de Singleton y codigos MDS . . . . . . . . . . . . . . . . . . 51
4.4. Otras cotas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

5. Tipos especiales de codigos 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
4 INDICE GENERAL

6. Cuerpos finitos 63
6.1. Suma y producto en cuerpos finitos . . . . . . . . . . . . . . . . . 63
6.2. Polinomios y numeros algebraicos . . . . . . . . . . . . . . . . . . 65
6.3. Existencia y unicidad. . . . . . . . . . . . . . . . . . . . . . . . . 67
6.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.5. El anillo F[X]/(X n 1) . . . . . . . . . . . . . . . . . . . . . . . 71
6.6. Automorfismos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

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

8. Codigos 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 ca-
denas 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 seran 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 informacion 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 diferen-


te, incluso usando un alfabeto distinto, pero nosotros siempre lo haremos bajo

5
6 CAPITULO 1. INFORMACION
Y CODIGOS

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.
on. Sean A, F alfabetos y sea M P al (A) un subconjunto
1.1.1. Definici
finito.

1. Una codificaci on inyectiva C : A P al(F).


on del alfabeto es una aplicaci

2. Una codificaci on inyectiva C : M


on de palabras de M es una aplicaci
P al(F).

Llamamos codigo 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
on C : M P al (F), para alg
una aplicaci un conjunto F. Luego se decodificara y
entonces el punto seguira la ruta que aparece en el tablero.

s 



  m

Elegimos una ruta que se transmitira completa

, , , , , , ,

Ahora codificamos. Lo haremos con tres codigos diferentes:


DE LA INFORMACION
1.1. LA TRANSMISION 7

Codificaci on 1: Hacemos F = Z2 , y C () = 0, C () = 1, C () =
10, 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
mas posibilidades de decodificar que la contemplada por nosotros. Vamos a ver
dos opciones m as:

Una es: 1 1 1 01 01 10 10 1
que se decodifica:

Otra: 1 1 1 0 1 0 1 1 0 1 0 1
que se decodifica:
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 pro-
piedad 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 trans-
misi
on de la informaci
on:

1. Comprimir mensajes.
8 CAPITULO 1. INFORMACION
Y CODIGOS

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, inde-
pendientes. 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 pro-


ceso de codificar, enviar y decodificar, modifica la Figura 1.1.1 a la Figura 1.1.2.

Figura 1.1.2: Transmision codificada

emisor - canal - receptor

6 6

- codificador - decodificador

1.1.4. Definici on. Decimos que un c odigo es de decodificacion 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. Definicion. 1. Decimos que una palabra tiene longitud n N si uti-
liza exactamente n smbolos.

2. Decimos que un c odigo es un codigo 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 codigo 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
INFORMACION 9

1.2. 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 encon-
trar exposiciones mas 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 anos 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 smbo-
nales). Cada smbolo tiene una probabilidad de aparecer; as que, si A
los (y se
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
P por un alfabeto A junto con una distribucion de probabilidades
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,
Qn si los sucesos son independientes entonces para v An , se tiene p(v) =
i=1 p(v(i)) y as seguimos con las palabras, etcetera.
on, escribiremos A = (A, P).
Cuando no se preste a confusi
Lo anterior puede replantearse en terminos puramente probabilsticos y de-
finir una fuente de informacion 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, numeros, 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 con-
trol. 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.
10 CAPITULO 1. INFORMACION
Y CODIGOS

Imitaci
on del c
odigo ASCII

Smbolo Decimal Binario Smbolo Decimal Binario

t 00 00000 L 16 10000
( 01 00001 M 17 10001
) 02 00010 N 18 10010
 (salto) 03 00011
N 19 10011
. 04 00100 O 20 10100
A 05 00101 P 21 10101
B 06 00110 Q 22 10110
C 07 00111 R 23 10111
D 08 01000 S 24 11000
E 09 01001 T 25 11001
F 10 01010 U 26 11010
G 11 01011 V 27 11011
H 12 01100 W 28 11100
I 13 01101 X 29 11101
J 14 01110 Y 30 11110
K 15 01111 Z 31 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 frecuen-
cias; 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

Sm- Proba-
Sm- Proba- Sm- Proba-
bolo bilidad
bolo bilidad bolo bilidad
E 0,1460
T 0,0288 V 0,0034
t 0,1140
C 0,0254  0,0029
A 0,1041
P 0,0240 J 0,0027
O 0,0756
M 0,0185 N 0,0026
L 0,0729
Y 0,0134 ( 0,0019
S 0,0685
Q 0,0133 ) 0,0019
N 0,0610
. 0,0097 Z 0,0013
D 0,0598
B 0,0080 X 0,0005
R 0,0430
H 0,0078 K <0,0001
U 0,0418
G 0,0064 W <0,0001
I 0,0361
F 0,0045
1.2. MEDIDA DE LA INCERTIDUMBRE Y DE LA
INFORMACION 11

Esta tabla ya es una fuente, pues tiene sus smbolos y su distribucion. No-
sotros 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 Probabilidad
0 0,6137
1 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 Codificacion


1/2 00
1/4 11
1/16 10
3/16 01
Igual que antes, calculamos la nueva distribucion binaria.
Distribuci
on con la tabla binaria y el GPS.

Smbolo Probabilidad
0 5/8
1 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
12 CAPITULO 1. INFORMACION
Y CODIGOS

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

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, que-
remos 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 cual-
quier 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 incer-
tidumbre o la cantidad de informaci on (binaria) asociado al smbolo a A (al
suceso de que este aparezca) esta 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 informacion n-aria. En base 2, la unidad queda establecida en un canal
binario equiprobable.
Sea (A, P) una fuente de  informaci on donde A = {a, b} (puedes sustituir
por 0 y 1 si quieres) y P = p  = 21 , q= 12 . En este caso, es trivial que I(a) =
 
I(b) = 1; pues log2 p1 = log2 1
= 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 situacion de (1.2.1), podemos calcular algunas cantidades de infor-
maci 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 informacion 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
Segun 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 de-
finida, claro) de los smbolos de A; es decir,
 
X X 1
H (A, P) = p(a)I(a) = p(a) log2 ( bits ).
p(a)
aA aA
14 CAPITULO 1. INFORMACION
Y CODIGOS

A efectos de c
alculo,usaremos
 la convencion de que si p(a) = 0 entonces
p(a)I(a) = 0 = p(a) log2 p(a) ya que 0 = lmx0 x log2 x1 .
1


1.2.7. Ejemplos.
1. En la situacion 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|).
Aun 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
on P = {p, 1 p}. En este caso
distribuci
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
recepcion (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 con-
dicionadas {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


y s = s1 sn son
Qn palabras de los alfabetos A y S, respectivamente, en-
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 con-
dicionadas. 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 informacion (por falta de fiabilidad). Intuitivamente, po-
demos 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 interpreta-
remos 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).

on. Es sabido que, por definicion, p(a s) = p(a)p(s|a) =


1.3.2. Observaci
p(s)p(a|s).
16 CAPITULO 1. INFORMACION
Y CODIGOS

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 en-
trada 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 en-
tropa 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 reci-
a al enviar un a A, que ya sabemos que coinciden.
bir
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
H (A|s) = p(a|s) log2 .
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. Definicion. 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
mas 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 infor-
macion. 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 eleccion 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 informacion 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).
18 CAPITULO 1. INFORMACION
Y CODIGOS

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 infor-
maciones 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 H - 0
HH p
*
H
H
 HpH

1 1 p j 1
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 =
i=1
2 j=1
pij

= (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 19

1.4. C
odigos correctores de errores
Vamos a establecer el contexto que sera nuestra hipotesis de trabajo. Tene-
mos 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 sim-
bolo es la media ponderada
X X
Pe,C = p(a)pe,C (a) = p(a) (1 p (sa |a))
aA aA
X X X
= p(a) p(a sa ) = 1 p(a sa )
aA aA 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 pro-
babilidad 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 (re-
dundancia) 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 como 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 probabili-
dades, 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 subcon-
junto C Fn . El c odigo en bloques proviene de haber codificado las palabras
de M P all (A) que son de longitud l n.
20 CAPITULO 1. INFORMACION
Y CODIGOS

Figura 1.4.1: Correccion de errores

canal con
emisor interferencia receptor

6 6



- codificador decodificador

correccion de

- errores

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


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

Bc = {v Fn | f (v) = c} . (1.4.1)

on parcial entonces los {Bc }cC son disjuntos aunque tal vez
Como f es aplicaci
on de Fn .
no sean una partici
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 continuacion, vemos un grafico del proceso completo, donde denotamos
C
Fn Fn la transmisi
on a traves del canal C.
codificaci
on C esquema decodificaci
on
P all (A) M C Fn 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 defini-
ci
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 condiciona-
da 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



X X X
Pe (C) = p(c)pe (c) = p(c) p(v|c)
cC cC v6Bc
X X X
= 1 p(c)p(b|c) = 1 p(v f (v))
cC bBc 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} .


P
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 vFn
X X
= p(v) (1 p (f (v)|v)) = p(v)pe (v).
vFn vFn

Entonces, para poder calcular la probabilidad total de error de decision ne-


cesitamos tres ingredientes: el primero es la distribucion {p(c) | c C}, el se-
on {p(v|c) | (c, v) C Fn } y el otro es la familia {Bc }.
gundo es la distribuci
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
on f : C Fn ,
decisi

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) = max 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.
22 CAPITULO 1. INFORMACION
Y CODIGOS

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 proba-
bilidad 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,

d(C) = mn {d(c, c0 ) | c 6= c0 C}
d(C) 1
t = b c
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)
k=0

Claramente
X
1 pe (c) = p ( t errores) = p(b|c)
bBc
t t  
X nk
X n
= |Sk (c)| pk (1 p) = (q 1)k pk (1 p)nk .
k
k=0 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 codigo 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, con-
forme 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.
Notese que k = log|A| (|C|). As llegamos al concepto de tasa de transmision.
1.5.1. Definici on. La tasa de trasmisi odigo C An es el cociente
on de un c
del n
umero de smbolos que originalmente tiene una palabra sobre el n umero
necesario de smbolos para transmitirla usando dicho c
odigo.

log|A| (|C|)
R(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 ca-
pacidad 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:

odigo de longitud n, y |Cn | = dq Rn e elementos; es decir, tiene


1. Cn es un c
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.
n

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


24 CAPITULO 1. INFORMACION
Y CODIGOS

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. Definicion. 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 )-
odigo sobre A.
c
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 seran 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.
odigo es entonces C = {00000, 11111}.
El c

Para crear este codigo 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 com-


pleta a 10; es decir, si x1 , . . . x9 son los dgitos, hacemos
9
X
10x10 x10 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
olo tiene restriccion en el alfabeto; as que M = 109 seg
principio x1 , . . . , x9 s un
la proposici on anterior, y d(ISBN ) = 2, ya que lo menos que difieren dos pala-
bras antes del dgito de control es 1, pero luego van a diferir en el dgito, as que
seran 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 esque-
ma de decision. Esta nocion corresponde a la idea mas cerca mientras menos
errores se hayan cometido, sin importar cuales fueron los dgitos que se cam-
biaron.
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()}| .
odigo, C Fn es
La distancia mnima de un c
d(C) = mn {d(u, v) | u, v C} .
La siguiente definici
on es una variante util en algunos calculos, pero sobre
todo lo ser
a cuando los codigos sean espacios vectoriales.
2.1.6. Definicion. 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 facil 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 Ecua-
ci
on 1.4.1) usaremos bolas cerradas de alg un radio con centro en las palabras
odigo; es decir, si c C F y r N,
del c
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.
28 CAPITULO 2. GENERALIDADES SOBRE CODIGOS

2.1.9. Lema. Sea C un c odigo en Fn con distancia mnima d y sea r N. Las


olo si r b d1
bolas {Br (c) | c C} son disjuntas si y s 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
d1 d1
d(x, y) d(x, z) + d(z, y) b c+b c d 1 < d,
2 2
lo cual es imposible.
Por eso, al n umero t = b d1
2 c se le conoce tambi en como radio de empaque-
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.
 d1  Observaci o n. Entonces, para un codigo C Fn , se tiene que si r
2 , el conjunto de bolas {Br (c) | c C} induce el esquema de decision
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 .
Aun m as, seg
un lo visto enPel captulo
 anterior, si la probabilidad asociada
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


2 c errores.
Demostracion. (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
as t = b d(C)1
lo m 2 c errores entonces v Bt (c) y se corregira con exito.

2.1. CONCEPTOS BASICOS 29

2.1.13. Definici on. Para un codigo C, se define la capacidad de correccion


como t = b d(C)1
2 c.
2.1.14. Definici on. Un (n, M, d)-c
odigo es un c
odigo de longitud n, que con-
tiene 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 detecta ni corrige error alguno.
Ahora vamos a agregar redundancia


7 00|0
7 11|0

C2 =

7 10|1
7 01|1

C2 es un (3, 4, 2)-c
odigo binario y detecta 1 error, pero no puede corregir.
Un codigo que s
olo detecta un error se llama codigo detector de un error.
Mientras mas redundancia agregamos, mejor para la correccion y peor para
la tasa de trasmision (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 pue-
de 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 ).
30 CAPITULO 2. GENERALIDADES SOBRE CODIGOS

2.1.16. Observaci on. Normalmente tenemos que decidir si un codigo es de-


tector 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 11 . En principio x1 , . . . , x9 s
olo tiene restriccion en el
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 codigos 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. Definicion. 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

d1
es decir, si Fn es uni
on de las bolas de radio 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
r  
X n j
|Br (v)| = (q 1)
j=0
j

elementos.

Demostraci on. Notese 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
t    
X n j n d1
M (q 1) = q , con t = .
j=0
j 2

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


uC j=0

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.

odigos binarios de longitud impar de la forma c, 1 + c .
3. Los c

Pero estos codigos 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 recubri-
miento 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 empa-
quetamiento (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.
32 CAPITULO 2. GENERALIDADES SOBRE CODIGOS

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
odi-
go 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 autoequi-
valencias.
on. Sea F un cuerpo finito y C Fn un c
2.2.3. Definici 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 odigos C, D Fn , decimos que son permutaci
on. Dos c on equi-
on Sn , tal que C = D.
valentes si existe una permutaci
on. Sea F un cuerpo finito y C Fn un c
2.2.5. Definici 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 elimi-
namos 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)-codigo sobre F y sea Ci? el codigo
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 .
alculo de d?i es inmediato.
El c
Para los siguientes resultados, necesitamos el concepto de subgrupo de per-
mutaciones 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 en-
tonces los n c
odigos obtenidos de pinchar C en cada coordenada son permutaci on
equivalentes.
Demostracion. 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 pa-
sos. 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.


2.3.7.
h Proposici
i on. Sea C un (n, M, d)-c odigo sobre F. Entonces C
b es un
n + 1, M, db -c
odigo, donde db = d o d + 1.

Demostraci
on. Trivial.
2.3.8. Observacion. Obtener leyes para los codigos extendidos en el caso bi-
nario 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. Proposicion. 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 }.
on. Sean x = (u1 |u1 + v1 ) e y = (u2 |u2 + v2 ). Entonces
Demostraci

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 decodificacion.
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
acil ver que, la regla para ampliarlo es (x, y) 7 (x, y, x + y) en terminos del
f
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 = C2 . Llamaremos matriz de codificaci on
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 coor-
denadas (y dejando intacto el c odigo original) nos produce matrices del tipo
M () = (Ik |A)
Vamos a formalizar la situaci on.
3.1.1. Definicion. 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 diccio-
nario de la RAE, generadora es que genera, mientras que generatriz los reserva para fsica
y geometra. En todo caso, ambas estan 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.
on. Un [n, k]-codigo sobre Fq tiene exactamente q k elementos.
3.1.2. Observaci
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]-codigo 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 co-
lumnas 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 =
nico conjunto de coeficientes {ai,j }iI , tal que iI ai,j ci =
1, . . . , n existe un u
cj .
Es decir, que el c odigo C puede obtenerse conociendo los valores de las po-
siciones I.
3.1.5. Definici on. Sea C un [n, k]-c
odigo sobre F con un conjunto de in-
formaci 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 sistematica. Decimos que un codi-
go 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 enton-
ces 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 infor-


maci 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
P on lineal rj aj = 0. Entonces, tomando cualquier componente,
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 andar) si G = (Ik |A) para alguna matriz
a en forma tpica (est
adecuada A.
f
3.1.8. Ahora consideremos la sucesion exacta 0 Fk Fn Coker(f )

0. Entonces C = Im(f ), el codigo 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
odigo lineal entonces H = (At |Ink ) es una matriz de control de C.
un [n, k]-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 Gauss-
Jordan) 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 per-
mutaci on de los pivotes (o cualquier permutacion que pusiera en las primeras
columnas un conjunto de informacion). Entonces EG genera el mismo codigo
38 CAPITULO 3. CODIGOS
LINEALES

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


deseada.
3.1.11. Ejemplos.
f
odigo binario de repeticion F2 F52 que vimos en (2.1.3) tiene matriz
1. El c
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
H = At |I4 = ... I4 = ...

I4 porque estamos en F2 .

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
0 1 1 1
H= 1 0 1 1 I3 .
1 1 0 1


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


odigo lineal con matriz de control H = H(C).
odigo dual de C que denotamos C es justo el generado por H.
El c
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. Definicion. 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 codigo H3 en (3.1.11). Se puede probar haciendo las cuentas
odigo extendido H
que el c c3 es auto dual porque la matriz generadora es
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)
on y redundancia para C entonces R y I los son, respectivamente,
de informaci
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). Ha-
cemos H = (At |I) F 1 . En este caso, puede elegirse como conjunto de infor-
macion 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 codigos 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 codigo 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
on de al menos n d + 1 columnas de la matriz generadora G, tiene un
elecci
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).
Aun 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
umero de filas de A, as que existe 0 6= c Fn tal que cA = 0. Considerese
que el n
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 codigo 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.
Pn Definici on. Decimos que un vector v Fn es de tipo par (even-like)
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. Definicion. 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.
P SupongamosP que uP= (u1 , . . . , un ) y
v = (v1 , . . . , vn ). Hacemos r = vi / u1 . Entonces vi r ui = 0, as que
v ru Ce . De aqu es inmediato.
42 CAPITULO 3. CODIGOS
LINEALES

3.4. Codificaci
on y decodificaci
on en c
odigos
lineales
Ya hemos comentado que para hacer la codificacion en codigos lineales usa-
mos una aplicacion 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 razon es que en la decodificacion hemos incluido la correccion de errores, lo
mas 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
on t. Hay una palabra enviada c C, un vector recibido v F y un
de correcci
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 numero 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
on. Sea C Fn un c
3.4.2. Definici 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 equi-
valencia? 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.

Demostracion. 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
3.4. CODIFICACION EN CODIGOS
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 estan distribuidos los vectores error (mas proba-
bles). 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 00000, 11011, 10110, 01101 00000
10000 10000, 01011, 00110, 11101 10000
01000 01000, 10011, 11110, 00101 01000
00100 00100, 11111, 10010, 01001 00100
00010 00010, 11001, 10100, 01111 00010
00001 00001, 11010, 10111, 01100 00001

Lderes de peso mayor que t 


11000
11000 11000, 00011, 01110, 10101
 00011
10001
11100 11100, 00111, 01010, 10001
01010

El siguiente teorema nos dice que, cuando un vector recibido v Fn pertene-


nico, digamos e, entonces v Bt (v e)
ce a una clase de equivalencia con lder u
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.
nico lder, e, tal que Hv = He y (e) t.
2. Existe un u
44 CAPITULO 3. CODIGOS
LINEALES

a que la palabra enviada es v e.


En este caso, el esquema decidir

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 menor que t


Peso lder (eij ) sndrome (Heij = sij )

0 e01 = 0 0

e11 s11
.. ..
1 . .
e1n1 s1n1

.. .. ..
. . .

et1 st1
.. ..
t . .
etnt stnt

Peso mayor que t


Peso lder (eij ) sndrome (Heij = sij )

et+1,1 st+1,1
.. ..
t+1 . .
et+1,nt+1 st+1,nt+1

.. .. ..
. . .

e(t+p),1 s(t+p),1
.. ..
t+p . .
e(t+p),nt+p s(t+p),nt+p

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
3.4. CODIFICACION EN CODIGOS
LINEALES 45

1. Si el n
umero de errores no excediere la capacidad de correccion, el lder
correspondiente ser
a unico (y nos indicara los errores cometidos en las
posiciones). Ademas, se decidira la palabra enviada y corregiremos ade-
cuadamente.
2. Si el numero 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 )

0 0000 000

10000 110
01000 101
1 00100 100
00010 010
00001 011

2 11000 011
10001 111
(*) 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} .
46 CAPITULO 3. CODIGOS
LINEALES

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
n
X
1 pe (c) = p( t errores ) + i pi (1 p)ni .
t+1

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

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

n
 Tambiekn podemos calcularla usando el juego completo de lderes. Como k =
k (q 1) ,
Xn
nk
1 pe (c) = k pk (1 p) .
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 codi-
gos 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 codigo 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. Aun mahs, si C es ilineal y tiene parametros


[n, k, d] entonces C tiene parametros n + 1, k, db , donde db = {d, d + 1}.
b

3.5. CONSTRUCCIONES CON CODIGOS LINEALES 47

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


si
on, siempre se puede interpretar

G E
Fk Fn Fn+1

con
1
E = Inn
..
y G = (gij )kn .
.
1

Entonces P


j g1j
GE = G
b= ..
G .

P.
j gnj

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

1 1 1
0
H
b = .


H ..
.
0


Esta es una construcci
on tpica que llamaremos la matriz de control a
nadi-
do

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 si de d0
db =
d0 + 1 otro caso

Demostraci otese que d(C) = mn {de , d0 }


on. Inmediata. N

3.5.5. Ejemplo. Para ilustrar, podemos extender el codigo H32 , con matriz
   
1 0 1 1 1 1 1 0
G= yH=
0 1 1 1 1 1 0 1

y calcular los par


ametros.
48 CAPITULO 3. CODIGOS
LINEALES

La construcci
on de Plotkin
Recordemos la definicion de la construccion de Plotkin en (2.3.10). Es inme-
diato comprobar que cuando C1 y C2 son codigos lineales tambien C1 C2 es
lineal. A
un mas.
3.5.6. Corolario. En la situaci on de (2.3.10), si C1 y C2 tienen matrices gene-
radoras 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 parametros

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 mas 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 distin-
tos 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 codi-
go {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 solo si existe un (n + 1, M, d + 1)-c
odigo binario.
Demostraci on. Por hipotesis, d es impar. Supongamos tenemos un (n, M, d)-
odigo y que d = d(u, v), para algunos u, v C. Como d es impar, entonces el
c
peso de alguna de las dos palabras es impar. As que, en el codigo extendido,
d + 1 = d (bu, 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 codigo 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 ante-
rior, 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 pri-
meraSposici on y para cada k F definimos Dk = {u C | u(1) = k}. Co-
mo kF Dk = C entonces debe ocurrir que alg un |Dk | M q . Si pincha-
mos 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.
qn d1
Aq (n, d) Pt n j
con t=b c.
2

j=0 j (q 1)

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 .

Demostracion. 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 codigo que verifica la igualdad en el teorema anterior se
conoce como c odigo separable de distancia maxima (maximum distance separable
MDS).
La primera propiedad es obvia, aunque muy importante.
4.3.4. Proposici on. Los codigos MDS son cerrados para isometras.
Luego un (n, M, d)-codigo 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 codigo 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


on de k = n d + 1 columnas es linealmente independiente.
(3.3.5) toda elecci
Recprocamente, supongamos que cualquier eleccion de k n d + 1 co-
lumnas 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 veri-
fiquen 1 < k n q.

Demostracion. 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
mas 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 codigo 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 53

4.4. Otras cotas


Existen otras cotas relevantes, como la cota de Plotkin o la cota de la Pro-
gramaci
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 , don-
de q1
q n < d. Hacemos r = q1
q . Entonces
d d
1. M drn 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 a tomado de los {Bw } que satisfacen:


aximo est

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,
( n
)
X
A2 (n, d) max Bw
w=0

donde el m a tomado de los {Bw } que satisfacen:


aximo est
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 construccion 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 . Sa-


r
1
bemos que hay exactamente qq1 (q r son todos, q r 1, porque el < 0 >
q r 1
tiene dimensi
on 0, y q1 porque los m
ultiplos se absorben).

2. Denotamos con Hq,r al c


odigo que proviene de una matriz del tipo
 
de cada distinto subespacio tomo
Hq,r = .
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
56 CAPITULO 5. TIPOS ESPECIALES DE CODIGOS
LINEALES
h r i
1 q r 1
As que Hq,r es un qq1 , q1 r, 3 -codigo y cualesquiera dos codigos
construidos de esta manera y con estos datos seran permutacion equivalentes.
Recprocamente
r
si H es la matriz de control de un codigo, tal que H es de
1
orden r qq1 y tal que cada dos columnas existe una tercera que es combina-
ci
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.
h r i
1 q r 1
5.1.1. Teorema. Todo qq1 , q1 r, 3 -c
odigo lineal sobre Fq es un c
odigo
de Hamming.
Aun mas, cualesquiera dos c odigos de Hamming con los mismos par ametros
son permutaci on equivalentes.

C
odigos simplex
h i
q r 1
Son 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 codigos simplex son aquellos que se realizan como dua-
les 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
 r  odigo ha de tener matriz generadora Hq,r de orden r
on. El c
q 1

q1 y sabemos que rg (Hq,r ) = r y que Hq,r = hHq,r i = xHq,r | x Frq .
Notese 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,

q r 1 q r1 1
(xHq,r ) = = q r1 .
q1 q1

Construcci
on alternativa de c
odigos simplex binarios
Hacemos  
0 1 1
G2 = .
1 0 1
Ahora, para r 3, definimos

00 1 11
Gr =
Gr1 0 Gr1

5.2. CODIGOS DE GOLAY 57

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


on de 1, 2, . . . , 2r 1 (en binario, claro), as que hGr i = Sr es Hr .
si
Ahora vamos a verificar la propiedad de los pesos. Tenemos que ver es que
todas las filas de Gr tienen peso 2r1 .
Notese 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
construccion 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.

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

A=
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. Aun 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.

odigo G23
El c
Por (3.5.2) sabemos que si pinchamos G24 en la ultima coordenada (de he-
cho en cualquiera) y extendemos (a la que pinchamos) entonces recuperamos
odigo original. Pinchando G24 obtenemos un [23, 12, 7]-codigo lineal, que lla-
el c
maremos G23 .

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

0 1 1 1 1 1


1
0 1 1 1 1

A=
1 1 0 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.

odigo ternario G11 que obtenemos de pinchar G12 en la u


3. El c ltima coorde-
nada 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


odigo equivalente a G12 .
paridad recuperamos un c

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 ametros (11, 3 , 5)-es equivalente a G11
odigo de par

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).

odigos RM de longitud 2m . Lo haremos por induccion:


Les llamaremos c
m
odigo de repeticion y R(m, m) = F22 , el espacio
Primer paso: R(0, m) es el c
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
60 CAPITULO 5. TIPOS ESPECIALES DE CODIGOS
LINEALES

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
r  
X m
dimF2 (R(r, m)) = .
i=0
i

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 0 . Ahora, notese que
m  
m
X m m
dim R(m, m) = 2 = = (1 + 1) .
i=0
i

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
j   j1  
X m1 X m1
dim R(j, m 1) = y dim R(j 1, m 1) =
i=o
i i=o
i

y las igualdades de los coeficientes binomiales


         
m1 m m1 m1 m
= =1y + =
0 0 i i1 i
nos dicen que
j  
X m
dim R(j, m) = .
i=o
i
(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

mr1 m=(m0)
X  m
 X  
m
dim R(m r 1, m) = = .
j=0
j j
r+1=m(mr1)

Luego
r   m  
X m X m
dim R(r, m) + dim R(m r 1, m) = + = 2m .
0
j r+1
j

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


on ux = 0 = vx y por el apartado (1), v R(r, m 1). Analogamente,
inducci
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
odigo de todos los vectores pares de F22 .
c
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 factoriza-
ci
on unica, 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 gene-
rado 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 evaluacion. 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 demostracion 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.
on. Sea K un cuerpo. La correspondencia : Z K tal que
6.1.2. Proposici
(n)
(n) = 1+ +1 es homomorfismo de anillos.

Demostraci
on. Trivial,
   
(nm) (n) (m) (n)
(n m) = 1+ +1 = 1+ +1 + + 1+ +1
 
(m) (m)
= (n)+ +(n) = (factorizo) = (n) 1+ +1

= (n)(m)

63
64 CAPITULO 6. CUERPOS FINITOS

on. Para todo cuerpo K, Car (K) = mn {n N | (n) = 0}.


6.1.3. Observaci
6.1.4. Proposici
on. Sea K un cuerpo finito. Entonces Car (K) es un n
umero
primo.

Demostracion. 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. Definicion. Sea K/F una extension. El grado de la extensi
on es la di-
mension 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. Notacion. 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 cua-
lesquiera r, s F se tiene
pt t t
(r + s) = rp + sp .

Demostraci
on. Inmediato del binomio de Newton, pues
 t (
p 0 si i 6= 0, pt
=
i 1 otro caso.

en F.

on anterior, se tiene entonces que la correspondencia r 7 rp


Por la proposici
es un automorfismo.

6.2. POLINOMIOS Y NUMEROS ALGEBRAICOS 65

on. El automorfismo r 7 rp de Fp se conoce como el auto-


6.1.14. Definici
morfismo de Frobenius. Se denota p .
Mas 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.
Sea h = q 1 = p m
1 pm la descomposici
1
on en factores primos. Recorde-

mos que q 1 = |F |.
h
Para cada 1 i m, consideremos el polinomio X pi 1. Este polinomio
tiene a lo mas, 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.
i
(h/pi i ) (h/pi i ) p
Ahora, hacemos bi = ai . Es claro que ai 6= 1; ademas, bi i = ah =
(i i )
(h/p )
1; luego o (bi ) | p
i . Por otra parte,
i
Qpara cualquier 0 i , ai i 6= 1,
i m
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. Definicion. 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. Definicion. 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.

Demostracion. 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 ).
66 CAPITULO 6. CUERPOS FINITOS

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.
Demostracion. Se considera I = {p F[X] | p() = 0}. Como F[X] es un
DIP, se tiene que I es principal. Elegimos el u es
nico generador monico. Ese
m (X) y se tiene I = hm i. Es inmediato comprobar que se cumplen las pri-
meras tres condiciones. Para comprobar que es irreducible en F[X], recordemos
que si m (r) = 0, con r F, entonces m (X)
(Xr) tambi en vivira en I y tendra
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 extension 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
r1
, q , . . . , q
donde es cualquier raz de f .
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(). P Entonces hay una escritura
s s
ai ki , con ai F y ki q s . Ahora, q = ai ki q = ai ki = y por
P P
=
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 situacion de (6.2.10), sea K y m su polinomio


mnimo sobre F. Entonces se tiene una descomposicion en K,
s1
Y 
i
m (X) = 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 escision 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
extension 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,
68 CAPITULO 6. CUERPOS FINITOS

si hay m
as races en L seguimos extendiendo hasta obtener K , L. De aqu el
resultado es inmediato.

6.3.2. Notacion. 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
Y
Xq X = (X r) ;
rF

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

Demostracion. 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 mutiples entonces la derivada no puede ser constante distinta de
cero. Veamoslo. 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 cual-
quier 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) del polinomio X q X sobre Fp .
on (o escisi

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 .
on. Para q = pt , con p, primo, denotamos al cuerpo (salvo iso-
6.3.7. Notaci
morfismo) 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 solo si
t|r.

Demostracion. 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 extension 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
n s
o
Fqs = 0, 1, , . . . , q 2 .

q s 1
Haciendo k = q1 se tiene que
n o
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.

on. Inmediato del hecho de que 1 + + + q1 = 0.


Demostraci

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 .


Aqu, X 2 + X + 1 es el u
nico irreducible de grado 2. Sea una raz de dicho
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 } .
70 CAPITULO 6. CUERPOS FINITOS

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
o de alguno de los
2 22 23
polinomios de grado 4. Las races seran , , , .
Ahora tenemos dos caminos:
Primero. Hacemos,
 2
 3

X4 + X3 + 1 = (X + ) X + 2 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


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 = 1 + 3
5 = + 4 = + 1 + 3 = 1 + + 3
6 = + 2 + 4 = + 2 + 1 + 3 = 1 + + 2 + 3
7 = + 2 + 3 + 4 = + 2 + 3 + 1 + 3 = 1 + + 2
8 = + 2 + 3
9 = 2 + 3 + 4 = 2 + 3 + 1 + 3 = 1 + 2
10 = + 3
11 = 2 + 4 = 2 + 1 + 3 = 1 + 2 + 3
12 = + 3 + 4 = + 3 + 1 + 3 = 1+
13 = + 2
14 = 2 + 3
15 = 3 + 4 = 1, como debe de ser.

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
an divisores de X q X o sea,
ser
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 = 2 = = 2 +
2
4 = 2 = = +
5 =
6 =
7 = 25 = = 2 + 2
2
8 = 4 = = 1 +
y as...
9 = 2 +
10 = 2
11 = 2
12 = 1+
13 = + 2
14 = 1 + 2

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


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

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.
olo si n | (q 1).
2. F tiene una raz n-esima primitiva de la unidad si y s
on. Inmediata del hecho de que F es cclico.
Demostraci
6.5.3. Definicion. 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
X i

ms (X) =
iCs

donde Cs es la clase q-ciclot


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

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


omi-
cas 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 su-


m1
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
Q omicas. Claramente, para cada s S,
s esPraz de X n P 1 y por tanto sS m s (X) | (X n
1). Finalmente, como
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 Wed-


derburn 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 monico 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 situa-
ci
on de la Observacion 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 parrafo 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,


odulo n. Sean {Ci } las
tales que (n, q) = 1 y k es el orden multiplicativo de q, m
clases q-ciclot
omicas de q, m odulo n, y Fqk una raz n-esima primitiva de
la unidad. Entonces
74 CAPITULO 6. CUERPOS FINITOS

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
polinomio mnimo de ij . Considerese la descomposici on X n 1 = j=1 mj .
n n
Hacemos uj = Xm1 j
. Entonces. Hacemos ui = Xm1 i
. Entonces

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
teorema de isomorfa; esto es, Rn /Rn mi (F
= q [X]/(X n
1) / ((mi )/(X n 1)).

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 j
. Entonces
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
 6.5.13,
calculamos
 las clases
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 descom-


posici
on.
Lo primero que necesitamos es la factorizacion de X 7 1 en irreducibles. En
principio (6.5.5) nos dice como hacerlo explcitamente. Como hay tres clases 2-
ciclot
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
3

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 siem-
pre echando mano de ellas.
As que, expresamos como producto de irreducibles X 7 1 = (X + 1)(X 3 +
X + 1)(X 3 + x + 1). Entonces
2

m1 = X + 1 u1 = X 6 + + X 2 + X + 1
m2 = X 3 + X 2 + 1 u2 = X 4 + X 3 + X 2 + 1
m3 = X 3 + X + 1 u3 = X 4 + X 2 + X + 1

De aqu, todava faltar


a hacer las identidades de Bezout para obtener los
idempotentes.
76 CAPITULO 6. CUERPOS FINITOS

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 extension, 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 ) .

otese que pr = p .(r)


N . . 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) .
on. Inmediato del hecho de que {x Fq | pn (x) = x} es un sub-
Demostraci
cuerpo.
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 codigo 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;
 t es decir, P P t = I.
n i t ni
Como P = I entonces (P ) = P . As, 0 = yP x = y xP ni = 0.
i

77
78 CAPITULO 7. CODIGOS
CICLICOS

7.2. C
odigos cclicos y anillos de polinomios
Seguimos suponiendo que mcd(n, p) = 1. Considerese Fn con la base canoni-
ca 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

P x o x
? - ?
n
Rn

F
1

Como ejemplos de codigos cclicos tenemos los ideales obtenidos en el Ejem-


plo 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 .
Aun m nicos isomorfismos entre Fn y Rn que pueden interesar han
as, los u
de preservar pesos y en consecuencia mandaran la base canonica Fn en la de
Rn , pues son los unicos con peso 1.
7.2.2. Proposici on. Un c odigo C Fn lineal es equivalente a un c
odigo cclico
olo si existe un isomorfismo entre Fn y Rn que restringe a una biyecci
si y s on
de las bases canonicas.
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
mnimos y uj = Xm1j
. Sabemos por el Teorema 6.5.12 que los Rn uj son todos los
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 particion de S tal que (6.5.5) g = jS1 mj y h = kS2 mk ;
adem as,
Rn uk Fqgr(mk )
Y Y Y
Rn g = = = Fq|Ck | .
kS2 kS2 kS2
P
De aqu, dimF Rn g = n gr(g) = kS2 |Ck |.
7.2.4. Proposici
Pnk on. Sea C un c odigo cclico en Rn con polinomio generador
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 es generadora de C,

g0 g1 gnk 0 0
0 g0 gnk
G=

.. ..
. .
0 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 codigo cclico en Rn con polinomio generador
g(X). Llamaremos polinomio de control de C a

Xn 1
h(X) =
g(X)

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

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= ;

. .. . ..

0 hk h0 nkn

es decir,

0
si j i < 0
H = (aij )nkn | aij = hk(ji) si 0 j i k

0 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 i=00 k pin+i
0 n n 0 i
P
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. Definicion. Para un polinomio f (X) = i=0 ai X i , se define
m
X m
X
f ? (X) = X m f X 1 = X m ai X i = ai X mi

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.

hi X i .
P
7.2.9. Corolario. Sea C un c odigo con polinomio de control h =
Entonces C tiene polinomio generador h = h(0)
1
h? .

7.3. CEROS DE UN CODIGO CICLICO Y MATRIZ DE CONTROL 81

7.3. Ceros de un c
odigo cclico y matriz de con-
trol
Sea C un codigo 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-ciclotomicas 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 } .

X n 1
2. Los no ceros son las races de h = 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 con-
trol.
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.


Notese 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

1 t1 2t1 ... (n1)t1
L=
..
(7.3.2)
.
1 td 2td ... (n1)td |T |rn
82 CAPITULO 7. CODIGOS
CICLICOS

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
X X r r
X n1
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 hipotesis 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
on dim C = n r.
dimensi
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 t0,r1 1 0 ... 0
t1,0 t1,r1 0 1 ... 0
G= = (T | I)

..
.
tnr1,0 tnr1,r1 0 0 ... 1
Y DECODIFICACION
7.4. CODIFICACION EN CODIGOS
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 odigo de Hamming. Hq,r tiene matriz de control
on de c
 
de cada matriz de dimension 1 de Fqr
Hq,r =
tomo un vector y lo pongo
q r 1
y sabemos que hay exactamente 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


h r 2 a 2 entonces
i H es la matriz
1 q r 1
odigo de Hamming, un qq1
de control de un c , 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
de escisi on de X 1 sobre Fq . Notese primero que n(q 1) = q r 1 y n =
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
86 CAPITULO 8. CODIGOS
CICLICOS CLASICOS

y expresemos esos elementos como se hizo en la Seccion 7.3 de los ceros, viendo
Fqr como Fq espacio vectorial,
 
H = 1 (n1)

Notese 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. Definicion. 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 codigo es


BCH primitivo. N olo si n = q r 1.
otese que esto ocurre si y s

Trivialmente, todo codigo de Hamming es BCH (primitivo y restringido),


ametros b = 1, = 2, d 2.
con par
8.2.2. Proposici on. El codigo Bq (n, , , b) es el 
c
odigo cclico de mayor di-
mension 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 pa-
labras 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
i
on de X 1
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
odigo, digamos ij | j = 0, . . . , k . Si M es la matriz formada por los
del c
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
..
.
( b )0
b b n1
p0
( ) . . . ( )
p1 ..

.. .
.. =


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

.
..




( ik )0 ( ik ) ... ( ik )n1 0

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).
88 CAPITULO 8. CODIGOS
CICLICOS CLASICOS

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 or-


den 31; es decir, B2 (31, , ). Puede recorrer 2 29.
Para determinar los codigos primero consideramos las clases 2-ciclotomicas
modulo 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

g(X) Ci involucradas dimF2 C (C)


1 m0 C0 31 1
3 m C1 26 3
5 m m3 C1 , C3 21 5
7 m m3 m5 C1 , C3 , C5 16 7
9 y 11 m m3 m5 m7 C1 , C3 , C5 , C7 11 11
13 y 15 m m3 m5 m7 m9 C1 , C3 , C5 , C7 , C9 6 15
17, . . . , 31 X 31 1 C1 , . . . , C15 1 31
Como se puede apreciar, un codigo BCH puede interpretarse con distintos
par
ametros; de ah la siguiente definicion.
8.2.8. Definicion. 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 89

8.3. 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 con-
jugados
 b b+1 ma s que uno mismo. Esto significa que si los ceros de C contienen a
, , . . . , 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. 100-
122, 2005.

[3] W.C. Huffman y V. Pless, Fundamentals of Error Correcting Codes, Cam-


bridge, 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