Sie sind auf Seite 1von 91

Apuntes de Codigos Correctores de Errores

Juan Jacobo Sim on Pinero


M aster 2011-2012
2

Indice general
1. Informacion 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 Codigos 25
2.1. Conceptos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Equivalencia y automorsmos de codigos . . . . . . . . . . . . . . 32
2.3. Construccion de codigos a partir de otros . . . . . . . . . . . . . 32
3. Codigos lineales 35
3.1. Conceptos basicos . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2. Codigos duales u ortogonales . . . . . . . . . . . . . . . . . . . . 38
3.3. Pesos y distancias . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.4. Codicacion y decodicacion en codigos
lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.5. Construcciones con codigos 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. Codigos de Hamming y codigos simplex . . . . . . . . . . . . . . 55
5.2. Codigos de Golay . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
5.3. Codigos de Reed-Muller (binarios) . . . . . . . . . . . . . . . . . 59
3
4

INDICE GENERAL
6. Cuerpos nitos 63
6.1. Suma y producto en cuerpos nitos . . . . . . . . . . . . . . . . . 63
6.2. Polinomios y n umeros algebraicos . . . . . . . . . . . . . . . . . . 65
6.3. Existencia y unicidad. . . . . . . . . . . . . . . . . . . . . . . . . 67
6.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
6.5. El anillo F[X]/(X
n
1) . . . . . . . . . . . . . . . . . . . . . . . 71
6.6. Automorsmos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
7. Codigos cclicos 77
7.1. Conceptos b asicos . . . . . . . . . . . . . . . . . . . . . . . . . . 77
7.2. Codigos cclicos y anillos de polinomios . . . . . . . . . . . . . . . 78
7.3. Ceros de un codigo cclico y matriz de control . . . . . . . . . . . 81
7.4. Codicacion y decodicacion en codigos
cclicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
8. Codigos cclicos clasicos 85
8.1. Codigos de Hamming . . . . . . . . . . . . . . . . . . . . . . . . . 85
8.2. Codigos BCH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
8.3. Codigos de Reed-Solomon . . . . . . . . . . . . . . . . . . . . . . 89
Captulo 1
Informacion y c odigos
1.1. La transmisi on de la informacion
La transmision 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 transmision, como puede ser el cable de telefono, la bra 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 nal
siempre trabajaremos con algunas restricciones. Desde el punto de vista de la
abilidad de la transmision hay dos tipos fundamentales de canales; a saber,
los canales con interferencia (o ruido) y los canales sin interferencia. Nosotros
solo nos ocuparemos del estudio de los canales con interferencia o ruido, que,
obviamente, es el caso donde se pueden producir errores.
En este texto, ademas, solo nos ocuparemos de la parte cuantitativa de la
transmision de la informacion y no del signicado (si analizamos el contenido
de los mensajes que normalmente se transmiten en el mundo, seguro que nos
desanimamos).
El siguiente cuadro reeja el proceso directo de la transmision de mensajes.
Figura 1.1.1: Esquema general
emisor
-
canal
-
receptor
Codicar 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 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
determinadas reglas. Una de ellas es que cada palabra no pueda tener mas de
una correspondiente en el codigo; formalmente, la codicacion es una aplicacion.
Vamos a verlo. Para cualquier alfabeto /, denotamos con Pal(/) el conjunto
de todas sus palabras.
1.1.1. Denicion. Sean /, F alfabetos y sea M Pal (/) un subconjunto
nito.
1. Una codicacion del alfabeto es una aplicacion inyectiva ( : / Pal(F).
2. Una codicacion de palabras de M es una aplicacion inyectiva ( : M
Pal(F).
Llamamos codigo a la imagen de ( y se llama palabra c odigo o simplemente
palabra a cada uno de sus elementos.
1.1.2. Observacion. Sean /, F alfabetos y sea M Pal (/) un subconjunto
nito. Supongamos que estamos transmitiendo informacion codicada a traves
de un canal. El proceso de decodicacion 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 unica)
bajo (.
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 / = , , , =
M.
Vamos a transmitir la ruta al punto de forma codicada; es decir, deniremos
una aplicacion ( : M Pal (F), para alg un conjunto F. Luego se decodicara y
entonces el punto seguira la ruta que aparece en el tablero.
s

m
Elegimos una ruta que se transmitira completa
, , , , , , ,
Ahora codicamos. Lo haremos con tres codigos diferentes:
1.1. LA TRANSMISI

ON DE LA INFORMACI

ON 7
Codicacion 1: Hacemos F = Z
2
, y ( () = 0, ( () = 1, ( () =
10, ( () = 01.
Entonces enviamos la cadena 111010110101 que se transmite sin errores y
ahora se tiene que decodicar. El problema es que, quien recibe la cadena tiene
mas posibilidades de decodicar que la contemplada por nosotros. Vamos a ver
dos opciones mas:
Una es: 1 1 1 01 01 10 10 1
que se decodica:
Otra: 1 1 1 0 1 0 1 1 0 1 0 1
que se decodica:
Como se puede apreciar, estas decodicaciones conducen a rutas no deseadas.
Para resolver este problema agregamos un smbolo, el STOP, digamos ,
como en la Clave Morse.
Codicacion 2: Hacemos F = Z
2
, y ( () = 0, ( () = 1, ( () =
10, ( () = 01 con tres smbolos, pero si solo podemos enviar binarios
podramos que hacer algo como F = Z
2
, y ( () = 01, ( () = 001, ( () =
0001, ( () = 00001, o sea que el n umero de cifras 0 nos indica la direccion
de la echa y el 1 el STOP.
Entonces enviamos
111010110101
o, en binario,
0010010001000100100010001001
Estas codicaciones no dejan lugar a dudas sobre la decodicacion. A este
tipo de codigos los llamaremos codigos de decodicacion unica.
Hay una tercera alternativa:
Codicacion 3: ( () = 00, ( () = 11, ( () = 10, ( () = 01
Esta decodicacion no necesita smbolo de separacion porque tiene una pro-
piedad permanente que de antemano sabra siempre el decodicador: que las
palabras tienen longitud ja; a saber, longitud 2. As que usa dos smbolos y es
de decodicacion unica.
Enviamos
1111101011101011
y tiene solo una interpretacion, la que queremos.
Tipos de codigos
En general, el uso de los codigos abarca tres grandes objetivos en la trans-
mision de la informacion:
1. Comprimir mensajes.
8 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
2. Detectar y corregir posibles errores.
3. Garantizar la privacidad.
En pocas palabras, hacer la transmision rapida, able 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 codigos compresores.
2. Los codigos correctores de errores.
3. Los codigos criptogracos o secretos.
Nosotros solo nos ocuparemos de los codigos correctores de errores. El pro-
ceso de codicar, enviar y decodicar, modica la Figura 1.1.1 a la Figura 1.1.2.
Figura 1.1.2: Transmision codicada
emisor
-
canal
-
receptor
codicador decodicador
-
6
-
6
1.1.4. Denicion. Decimos que un codigo es de decodicaci on unica si cada
vez que recibimos una cadena de smbolos, o mensaje, esta corresponde con una
unica lista de palabras.
1.1.5. Denicion. 1. Decimos que una palabra tiene longitud n N si uti-
liza exactamente n smbolos.
2. Decimos que un codigo es un codigo en bloques (o bloqueado) si existe
n N, tal que toda palabra es de longitud n.
Se tiene por supuesto la denicion, obvia, de codigo de longitud variable.
Nosotros solo 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. Observacion. Es claro que todo codigo en bloques es de decodicacion
unica.
1.2. MEDIDA DE LA INCERTIDUMBRE Y DE LA INFORMACI

ON 9
1.2. Medida de la incertidumbre y de la
informacion
Vamos a comentar como se lleva a cabo la cuanticacion 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
exposicion breve e intuitiva, tratando de no perder por ello claridad.
El criterio para cuanticar la informacion sera mas informa mientras mas
sorprende o, en terminos mas cercanos a la probabilidad, mas informacon
tiene mientras menos probable es que ocurra. Por ejemplo, casi nunca veremos
una noticia que diga ma nana por la ma nana saldra el sol; ya sabemos que va
a ocurrir ma nana y muchos a nos pues no esta previsto a corto plazo una colision
o que el sol se apague. Lo que es noticia es que en un da despejado el sol se
esconda; es decir, que haya un eclipse de sol.
Vamos a transmitir informacion usando palabras; es decir, cadenas de smbo-
los (y se nales). Cada smbolo tiene una probabilidad de aparecer; as que, si /
es un alfabeto, podemos establecer una distribucion de probabilidades sobre el
suceso que aparezca a / (en una palabra o en un mensaje)
Una fuente de informacion [8] (source of transmision [10]) es una pareja
(/, T) formada por un alfabeto / junto con una distribucion de probabilidades
T; es decir,

aA
p(a) = 1. Se puede extender la fuente original; por ejemplo, si
/ = a
1
, a
2
(que normalmente denotamos con / = 0, 1), podemos extenderla
a /
n
, de la forma obvia. Entonces, volvemos a calcular la probabilidad. Por
ejemplo, si los sucesos son independientes entonces para v /
n
, se tiene p(v) =

n
i=1
p(v(i)) y as seguimos con las palabras, etcetera.
Cuando no se preste a confusion, escribiremos / = (/, T).
Lo anterior puede replantearse en terminos puramente probabilsticos y de-
nir 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,
simplicando el codigo ASCII.
Supongamos que tenemos un canal binario para enviar mensajes de palabras
en castellano. Podemos usar, por ejemplo, el Codigo ASCII extendido (American
Standard Code for Information Interchange).
Es una codicacion numerica de la que escribimos su version binaria, de
2
8
= 256 smbolos (letras, n umeros, etc.) pensado sobre todo para transmitir
textos en ingles. Cada smbolo tiene asociada una cadena 8 dgitos binarios.
El codigo ASCII tiene dos tipos de caracteres, los imprimibles y los de con-
trol. La tabla del codigo 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 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
Imitaci on del codigo ASCII
Smbolo Decimal Binario
00 00000
( 01 00001
) 02 00010
(salto) 03 00011
. 04 00100
A 05 00101
B 06 00110
C 07 00111
D 08 01000
E 09 01001
F 10 01010
G 11 01011
H 12 01100
I 13 01101
J 14 01110
K 15 01111
Smbolo Decimal Binario
L 16 10000
M 17 10001
N 18 10010

N 19 10011
O 20 10100
P 21 10101
Q 22 10110
R 23 10111
S 24 11000
T 25 11001
U 26 11010
V 27 11011
W 28 11100
X 29 11101
Y 30 11110
Z 31 11111
Ahora vamos a calcular la distribucion de la fuente para / = 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) =
1
2
.
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.
Distribucion de las letras del castellano y el espacio
Sm-
bolo
Proba-
bilidad
E 0,1460
0,1140
A 0,1041
O 0,0756
L 0,0729
S 0,0685
N 0,0610
D 0,0598
R 0,0430
U 0,0418
I 0,0361
Sm-
bolo
Proba-
bilidad
T 0,0288
C 0,0254
P 0,0240
M 0,0185
Y 0,0134
Q 0,0133
. 0,0097
B 0,0080
H 0,0078
G 0,0064
F 0,0045
Sm-
bolo
Proba-
bilidad
V 0,0034
0,0029
J 0,0027

N 0,0026
( 0,0019
) 0,0019
Z 0,0013
X 0,0005
K <0,0001
W <0,0001
1.2. MEDIDA DE LA INCERTIDUMBRE Y DE LA INFORMACI

ON 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
/ = 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,
p(0) =

smbolos
p(smbolo) p(0[smbolo)
y lo mismo con p(1). As obtenemos
Distribucion con la tabla binaria y las letras del castellano.
Smbolo Probabilidad
0 0,6137
1 0,3863
Un ejemplo mas manejable es el siguiente.
1.2.2. Ejemplo. Supongamos que en la situacion del GPS (1.1.3), conocemos
una distribucion.
Smbolo Probabilidad Codicacion
1/2 00
1/4 11
1/16 10
3/16 01
Igual que antes, calculamos la nueva distribucion binaria.
Distribucion con la tabla binaria y el GPS.
Smbolo Probabilidad
0 5/8
1 3/8
Medida de informacion
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 (/, T);
es decir, elegimos aleatoriamente un elemento de la fuente de acuerdo con la
12 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
distribucion de probabilidades que tiene. Entonces, ANTES de que el mues-
treo tenga lugar existe una cantidad de INCERTIDUMBRE asociada con la
aparicion y, DESPU

ES de recoger la muestra, hemos ganado cierta cantidad


de INFORMACI

ON. As, aunque ambos conceptos tendran asociada la misma


cantidad, que denotaremos con I(a)
1
, para 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 mas 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
f
_
1
pq
_
= f
_
1
p
_
+f
_
1
q
_
De toda la vida conocemos el siguiente resultado.
1.2.3. Teorema. Sea f : (0, 1] R una funcion 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).
Demostracion. Por usar un libro de codigos, vease [5, Proposicion 2.2.2], o cual-
quier libro de calculo.
Esto nos lleva a la siguiente denicion.
1.2.4. Denicion. Sea (/, T) una fuente de informacion. El grado de incer-
tidumbre o la cantidad de informacion (binaria) asociado al smbolo a / (al
suceso de que este aparezca) esta dado por
I(a) = log
2
_
1
p(a)
_
siempre que p(a) ,= 0. En el caso p(a) = 0, diremos que no podemos determinar
la informacion.
1
Por suerte, informaci on e incertidumbre empiezan con i.
1.2. MEDIDA DE LA INCERTIDUMBRE Y DE LA INFORMACI

ON 13
En principio, la eleccion del logaritmo en base 2 es arbitraria y se puede
denir informacion n-aria. En base 2, la unidad queda establecida en un canal
binario equiprobable.
Sea (/, T) una fuente de informacion donde / = a, b (puedes sustituir
por 0 y 1 si quieres) y T =
_
p =
1
2
, q =
1
2
_
. En este caso, es trivial que I(a) =
I(b) = 1; pues log
2
_
1
p
_
= log
2
_
1
(
1
2
)
_
= log
2
(2) = 1.
As que
1.2.5. Denicion. Un bit es la cantidad de informacion (binaria) que tiene un
elemento de una fuente binaria y equiprobable.
Notese que en una fuente equiprobable con tres elementos, la cantidad de
informacion (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-
macion 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.
Ademas, en la tabla de la distribucion binaria, I(0) = 0, 7744 e I(1) =
1, 3722.
2. En la situacion de la distribucion del GPS (1.2.2) se tiene:
a) I () = 1.
b) I () = 2.
c) I () = 4.
d) I () = 4 log
2
(3).
3. Ahora vamos a ver un caso trivial, que a veces ilustran. Sea (/, T) una
fuente de informacion donde / = 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 informacion.
Entropa
Seg un el diccionario de la RAE, entropa tiene dos usos. El primero en fsica:
medida del desorden de un sistema. El segundo en teora de la informacion:
medida de incertidumbre (y en consecuencia, de informacion).
Formalmente, la entropa (binaria) de una fuente de informaci on, digamos
(/, T), es el promedio ponderado de la cantidad de informacion (cuando este de-
nida, claro) de los smbolos de /; es decir,
H (/, T) =

aA
p(a)I(a) =

aA
p(a) log
2
_
1
p(a)
_
( bits ).
14 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
A efectos de calculo, usaremos la convencion de que si p(a) = 0 entonces
p(a)I(a) = 0 = p(a) log
2
_
1
p(a)
_
ya que 0 = lm
x0
xlog
2
_
1
x
_
.
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 situacion del GPS (1.2.2) se tiene que la entropa de las echas
es 2 3 log
2
(3)/16, mientras que la del binario correspondiente es 3
(5 log
2
(5) + 3 log
2
(3)) /8.
La siguiente propiedad es crucial
1.2.8. Teorema. Sea (/, T) una fuente de informacion. Entonces 0 H (/, T)
log
2
([/[).
A un mas,
1. H (/, T) = 0 si existe p(a) = 1 con a / y
2. H (/, T) = log
2
([/[) si la distribucion es equiprobable.
Como caso particular, muy importante, tenemos la fuente / = 0, 1 con
distribucion T = p, 1 p. En este caso
H (/, T) = p log
2
(
1
p
) + (1 p) log
2
(
1
1 p
).
A un mas, se puede probar que H (/
n
, T

) = nH (/, T). 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, H
2
(p) =
H
2
(p, 1 p). De hecho, la entropa es un concepto puramente probabilstico.
1.3. Capacidad de un canal con interferencias
Sea (/, T) una fuente de informacion que se va a enviar a traves un canal, y
sea o 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 / y o son
nitos y que la transmision de un smbolo no esta inuida 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. Denicion.
Un canal discreto consiste en un alfabeto de entrada /, un alfabeto de
salida o, ambos nitos, junto con una distribucion de probabilidades con-
dicionadas p (s[a) [ (a, s) /o.
1.3. CAPACIDAD DE UN CANAL CON INTERFERENCIAS 15
Le llamaremos ademas sin memoria cuando se verique que, si a = a
1
a
n
y s = s
1
s
n
son palabras de los alfabetos / y o, respectivamente, en-
tonces p (s[a) =

n
i=1
p (s
i
[a
i
).
Transmitir un smbolo (de entrada) a traves del canal signica asociar a
dicho smbolo, aleatoriamente, un smbolo de salida seg un la distribucion
condicionada anterior.
Por su denicion, 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 informacion por un canal con interferencias ocurrira que entrara un
smbolo 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 nalmente a
la idea de perdida de informacion (por falta de abilidad). Intuitivamente, po-
demos darnos una idea de abilidad 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 continuacion.
Entropa condicionada y conjunta
Emitir un smbolo a / de la fuente de entrada y recibir un smbolo s o
de salida tiene asociadas entonces las siguientes probabilidades:
1. La probabilidad, p(a), de que se enve a /, con lo que hacemos una
fuente (/, T) (ya conocemos la entropa asociada, H (/, T)).
2. La probabilidad condicionada p(s[a), con a / y s o 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 o se hubiese
enviado a /.
3. La probabilidad p(s) =

aA
p(a)p(s[a) de que se reciba s o (luego
tambien podremos calcular su entropa).
4. Por ultimo, la probabilidad de que se emita a, y se reciba s, que denotamos
p(a s).
1.3.2. Observacion. Es sabido que, por denicion, p(a s) = p(a)p(s[a) =
p(s)p(a[s).
16 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
La situacion 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 o a alg un smbolo de en-
trada determina una nueva fuente de informacion para los smbolo de o, que
denotamos (o, Q). As, obtenemos una entropa que llamaremos H (o, Q).
La segunda es entropa propia de la transmision a traves del canal o en-
tropa de la informacion condicionada; es decir, la incertidumbre sobre el origen
de cada smbolo s o recibido o la incertidumbre sobre el smbolo que se reci-
bira al enviar un a /, que ya sabemos que coinciden.
1.3.3. Denicion. Sean / = (/, T) y o = (o, Q) fuentes de informacion (o
dos variables aleatorias).
1. La entropa condicionada para un elemento s o es la media
H (/[s) =

aA
p(a[s) log
2
_
1
p(a[s)
_
.
2. La entropa condicionada es entonces
H (/[o) =

sS
p(s)H (/[s) .
An alogamente se denen H(o[a) y H (o[/).
En terminos de la transmision podemos decir en palabras, que la entropa
condicionada mide la incertidumbre sobre /, una vez que se conoce o.
La tercera es la entropa conjunta, que proviene de la probabilidad conjunta
p(a s), que denotamos H (/, o) cuando las distribuciones esten jadas. La
denicion es obvia pero la escribimos.
1.3.4. Denicion. Sean / = (/, T) y o = (o, Q) fuentes de informacion. La
entropa conjunta es la media ponderada de la informacion conjunta; es decir,
H (/, o) =

aA,sS
p(a s) log
2
_
1
p(a s)
_
.
Las siguientes propiedades son faciles de vericar y aparecen, por ejemplo,
en [10, Captulos 1 y 3]
1.3.5. Teorema. Sean / = (/, T) y o = (o, Q) fuentes de informacion (o
mas en general, variables aleatorias). Entonces:
1. H (/, o) H (/) + H (o) y la igualdad ocurre si y solo si las variables
son independientes.
2. H (/[o) = H (/, o) H (o)
1.3. CAPACIDAD DE UN CANAL CON INTERFERENCIAS 17
3. H (/[o) H (/).
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.
Informacion mutua y capacidad
Imaginemos que tomamos la muestra a / y enviamos el smbolo a traves
del canal. Ahora el receptor tiene un smbolo s o. 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 esta 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 abilidad) sobre / o como puedes equivocarte
en la eleccion del origen de un smbolo y por tanto fallar en el conocimiento de
la informacion original.
Probabilsticamente, la informacion mutua de dos fuentes de informacion, /
y o, es la cantidad de informacion que tiene / menos la cantidad de informacion
que queda de / una vez que se conoce o. Es decir, la cantidad de informacion
sobre / en virtud del conocimiento de o.
1.3.6. Denicion. Sean / = (/, T) y o = (o, Q) fuentes de informacion de
un canal discreto y sin memoria. La informacion mutua entre las fuentes es
I (/, o) = H (/) H (/[o) = H (o) H (o[/)
Vamos a ver un par de ejemplos extremos que ilustren nustra interpretacion.
1.3.7. Ejemplos.
1. Supongamos que /, o son fuentes de informacion equiprobables de un
canal donde la distribucion conjunta tambien es equiprobable (y por tanto
independiente). Por (1.2.8) y (1.3.5) se tiene que H (/[o) = H (/) que
nos indica que una vez que conoces o tienes la misma incertidumbre sobre
/ y por tanto la informacion mutua es I (/, o) = 0 (perdimos toda la
informacion al transmitir).
2. El otro extremo. Supongamos que / = o y para todo a / se tiene
que p(a[a) = 1, as que p(a[s) = 0 si a ,= s. En este caso, la entropa
condicionada vale H (/[o) = 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 (/, o) = H (/) (conservamos
toda la informacion al transmitir).
Desde el punto de vista de la correccion de errores de transmision, donde
dado un smbolo a / tenemos un favorito s o, la informacion mutua da
una medida de la abilidad de una transmision.
Ahora vamos a denir la capacidad de un canal. Consideremos un canal con
smbolos de entrada / y de salida o y todas las posibles fuentes /
P
= (/, T).
18 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
Cada fuente determina otra o
P
= (o, Q
P
) y con ellas se tiene una informacion
mutua, que denotamos I (/
P
, o
P
).
1.3.8. Denicion. La capacidad de un canal es el valor maximo de las infor-
maciones mutuas; es decir,
C(/) = max I (/
P
, o) [ T es una distribucion
Desde el punto de vista de la transmision, donde tenemos favoritos la
capacidad de un canal sera su abilidad.
1.3.9. Ejemplo. Canales simetricos
Un canal decimos que es simetrico (por las y columnas) si al formar la
matriz del canal, los conjuntos de valores de las entradas de todas las las son
iguales y lo mismo ocurre con las columnas; es decir que, salvo el orden, todas
las las 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
distribucion equiprobable en / y es log
2
([/[) H(o[a) donde el sustraendo es
constante para todo a / y p(a) =
1
|A|
.
Como caso particular, vamos a calcular la capacidad del canal simetrico
binario. Aqu se sigue el esquema
0
1 p
-
H
H
H
H
H
H
H
Hj
p
0
1
1 p
-

*
p
1
donde p 1/2. (Si fuese p 1/2, hacemos que al recibir se cambie el dgito.)
La distribucion condicionada se reeja en la matriz
(p
ij
) =
_
1 p p
p 1 p
_
que llamaremos la matriz del canal.
Entonces, como el maximo se alcanza cuando la fuente es equiprobable,
tomamos / = 0, 1 = o, T = 1/2, 1/2. Luego,
H (/) =
1
2
log
2
_
1
2
_
+
1
2
log
2
_
1
2
_
= 1
H (/[/) =
2

i=1
1
2

2

j=1
p
ij
log
2
_
1
p
ij
_
=
= (1 p) log
2
(1 p) p log
2
(p)
y por tanto
I (/, /) = H (/) H (/[/) = 1 +p log
2
(p) + (1 p) log
2
(1 p) .
1.4. C

ODIGOS CORRECTORES DE ERRORES 19


1.4. Codigos 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 / y o, de
entrada y salida respectivamente.
Para cada entrada a / hemos elegido un unico smbolo s
a
o, que
llamaremos el smbolo correspondiente o deseado para a. Diremos que se ha
producido un error de transmision cuando habiendo enviado el smbolo a, el
smbolo recibido no sea s
a
.
Vamos a hacer algunos calculos.
1. La probabilidad de cometer un error habiendo enviado el smbolo a /
a traves de C, es
p
e,C
(a) =

sS
p (s ,= s
a
[a) = 1 p (s
a
[a) .
2. Entonces, la probabilidad de que se cometa un error al enviar alg un sim-
bolo es la media ponderada
P
e,C
=

aA
p(a)p
e,C
(a) =

aA
p(a) (1 p (s
a
[a))
=

aA
p(a)

aA
p(a s
a
) = 1

aA
p(a s
a
)
De las igualdades anteriores uno usa la que convenga.
1.4.1. Ejemplo. Supongamos que tenemos un cuerpo nito F como conjunto
de smbolos de entrada y salida, con distribuciones equiprobables en un canal
C. Si p (x[x) = 1 p entonces p
eC
(x) = p y P
e,C
= p.
1.4.2. Observacion. Una vez jado un codigo, C, podremos calcular la pro-
babilidad de que una palabra sea enviada. Lo denotaremos con p(c). Notese que
esto no inuye en la probabilidad de cometer un error una vez que se tome una
muestra c C.
El objetivo de los codigos 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 codicamos y tambien
como descodicamos. Es ah donde interviene la matematica.
Vamos a ver como afectan la interferencia y la correccion a la Figura 1.1.2.
Correccion de errores de transmision. Esquemas y errores de decision
En la practica, podemos sustituir, respetando la distribucion de probabili-
dades, los smbolos de entrada y salida / y o por un cuerpo nito F al que
seguiremos llamando alfabeto. Un codigo en bloques sera entonces un subcon-
junto C F
n
. El codigo en bloques proviene de haber codicado las palabras
de M Pal
l
(/) que son de longitud l n.
20 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
Figura 1.4.1: Correccion de errores
emisor
canal con
interferencia
receptor
codicador decodicador -

6
-

6
correccion de
errores
6
Consideremos F
n
, el conjunto de las palabras de longitud n. Un esquema de
decision es una funcion parcial de F
n
a las palabras del codigo; es decir, una
relacion donde no todo elemento del dominio tiene imagen (aquellas palabras,
que no sepamos como corregir, no tendran imagen). Para cada c C, denimos
B
c
= v F
n
[ f(v) = c . (1.4.1)
Como f es aplicacion parcial entonces los B
c

cC
son disjuntos aunque tal vez
no sean una particion de F
n
.
Considerese, pues, un esquema de decision f : F
n
parcial
C. Para una
palabra s F
n
, si f(s) esta denido, 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 decision.
A continuacion, vemos un graco del proceso completo, donde denotamos
F
n
C
F
n
la transmision a traves del canal C.
Pal
l
(/) M
codicaci on
C F
n
C
F
n
esquema
C
decodicaci on
Pal
l
(o)
1.4.3. Observacion. Ya cuando estemos concentrados en los codigos, a estos
errores los llamaremos errores de decodicacion. La razon es que se considera la
decision o correccion como parte de la decodicacion.
Vamos a calcular la probabilidad de cometer un error de decision. Por deni-
cion, decimos que hemos cometido un error de decision cuando habiendo enviado
la palabra c C recibimos la palabra v , B
c
; 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
p
e
(c) =

vB
c
p(v[c) =
_
1

bB
c
p(b[c)
_
1.4. C

ODIGOS CORRECTORES DE ERRORES 21


y la probabilidad total de error de decision es
P
e
(C) =

cC
p(c)p
e
(c) =

cC
p(c)
_
_

vB
c
p(v[c)
_
_
= 1

cC

bB
c
p(c)p(b[c) = 1

vF
n
p(v f(v))
Para eliminar la suma doble quitamos la dependencia de que aparezca cada
palabra y tomamos el error maximo; es decir, denimos
P
max
e
(C) = max p
e
(c) [ c C .
Claramente, como

cC
p(c) = 1,
P
e
(C) P
max
e
(C)
Es tambien posible establecer la probabilidad de error en terminos de la otra
probabilidad condicionada.
P
e
(C) = 1

vF
n
p (v f(v)) = 1

vF
n
p(v)p (f(v)[v)
=

vF
n
p(v) (1 p (f(v)[v)) =

vF
n
p(v)p
e
(v).
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-
gundo es la distribucion p(v[c) [ (c, v) C F
n
y el otro es la familia B
c
.
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 /
n
un codigo con [C[ = M. Considerense los siguientes esquemas de
decision f : C
parcial
F
n
,
1. Supongamos que para cada a / = F y s o = F conocemos p(a[s)
(as que, por denicion 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 F
n
, denimos p (C[v) = p(c[v) [ c C y
como el canal es sin memoria, podemos denir 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
F
n
, denimos p (v[C) = p(v[c) [ c C y como el canal es sin memoria,
podemos denir f(v) como el vector tal que p (v[f(v)) = max p (v[C). Este
esquema se conoce como maxima verosimilitud.
22 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
3. Ahora supongamos que F = F
q
y que la probabilidad de que se cometa un
error al enviar un smbolo x F
q
es p(F
q
x[x) = p. As que la proba-
bilidad de que se cometan k n errores en unas posiciones especcas de
una palabra es p
k
(1 p)
(nk)
.
Ahora vamos con el esquema. Denimos, para u, v F
n
, la distancia de
Hamming
d(u, v) = [ 1, . . . , n [ u() ,= v()[ .
Ahora,
d(C) = mnd(c, c

) [ c ,= c

C
t =
d(C) 1
2
|
S
k
(c) = s F
n
[ d(c, s) = k , con 0 k t
B
t
(c) = B
c
= s F
n
[ d(c, s) t =
t
_
k=0
B
k,c
(union disjunta)
Claramente
1 p
e
(c) = p ( t errores) =

bB
c
p(b[c)
=
t

k=0
[S
k
(c)[ p
k
(1 p)
nk
=
t

k=0
_
n
k
_
(q 1)
k
p
k
(1 p)
nk
.
Pero esto ultimo 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
e
(C)

cC
p(c)
_
1
t

k=0
_
n
k
_
(q 1)
k
p
k
(1 p)
nk
_
=
_

cC
p(c)
__
1
t

k=0
_
n
k
_
p
k
(q 1)
k
(1 p)
nk
_
= 1
t

k=0
_
n
k
_
p
k
(q 1)
k
(1 p)
nk
.
1.5. Teorema de Shannon
Como hemos visto en la seccion anterior, codicar implica, entre otras cosas,
sumergir un codigo C en un conjunto ambiente F
n
, 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 situacion, es claro que el canal tiene que transmitir n smbolos del
codigo 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 denicion 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. Denicion. La tasa de trasmision de un codigo C /
n
es el cociente
del n umero de smbolos que originalmente tiene una palabra sobre el n umero
necesario de smbolos para transmitirla usando dicho codigo.
R(C) =
log
|A|
([C[)
n
Como veremos, el teorema de Shannon nos dice que mientras mantengamos
la tasa de transmision por debajo de la capacidad del canal, podemos compensar
la perdida de informacion 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) = (. Entonces, para cualquier n umero R < ( existe una sucesion
C
n
de codigos q-arios, junto con sus esquemas de decision f
n
, que cumplen:
1. C
n
es un codigo de longitud n, y [C
n
[ = q
Rn
| elementos; es decir, tiene
tasa al menos R.
2. La probabilidad de error maxima de los esquemas f
n
tiende a 0 cuando n
tiene a innito; es decir,
lm
n
P
max
e
(C
n
) = 0.
En [5, 10] y otros se comenta el recproco de este resultado.
24 CAP

ITULO 1. INFORMACI

ON Y C

ODIGOS
Captulo 2
Generalidades sobre
Codigos
2.1. Conceptos basicos
Una vez que hemos jado la intencion y el contexto del estudio de los codigos
correctores de errores, vamos tambien a jar un poco la notacion.
2.1.1. Denicion. Sea / un alfabeto (nito), con [/[ = q, y considerese /
n
,
como siempre. Llamamos codigo q-ario en bloques de longitud n a cualquier
subconjunto no vaco de /
n
. Al propio /
n
lo llamamos el conjunto ambiente.
Sea M = [C[. Decimos que C tiene parametros (n, M), o que C es un (n, M)-
codigo sobre /.
A los elementos de C les llamaramos palabras del c odigo.
2.1.2. Notacion. A los largo de todo el texto, nuestros alfabetos seran siempre
cuerpos nitos que denotaremos F o F
q
, para q = p
r
, con p, r N y p primo
(cuando queramos hacer enfasis en el cardinal) y entenderemos por codigo un
codigo corrector de errores denido en bloques. El conjunto ambiente sera F
n
,
a quien llamaremos el espacio ambiente.
2.1.3. Ejemplo. [Codigos de repeticion] Consideremos a F
2
y supongamos que
solo 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 00000.
no 11111.
El codigo es entonces C = 00000, 11111.
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
codigos de repeticion.
25
26 CAP

ITULO 2. GENERALIDADES SOBRE C

ODIGOS
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 ultimo, 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 x
1
, . . . x
9
son los dgitos, hacemos
10x
10
x
10

9

i=1
i x
i
mod 11
porque 10 1 mod 11. Es decir que x
10
cumple que
10

i=0
i x
i
0 mod 11.
La parte izquierda de la suma se llama suma de vericacion del pesado de
x
1
. . . , x
10
.
El problema aqu es que x
10
= 10 es un valor posible y solo podemos escribir
UN dgito. Entonces, en ese caso hacemos x
10
= X y a efectos de calculo ya
sabemos que n umero asignar.
Por ejemplo, el codigo 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 son de Oxford University Press, el 859617 es el asignado por la Casa y

9
i=1
i x
i
= 253 0 mod 11.
Vamos a ver los parametros de este codigo. El espacio ambiente es F
10
11
. En
principio x
1
, . . . , x
9
s olo tiene restriccion en el alfabeto; as que M = 10
9
seg un
la proposicion anterior, y d(ISBN) = 2, ya que lo menos que dieren 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 = x
1
. . . x
10
y supongamos que se comete un error que cambia x
i
0
por y
i
0
.
Hacemos y la palabra alterada. Entonces x y = i
0
(x
i
0
y
i
0
). Notese que ni i
0
ni x
i
0
y
i
0
son m ultiplos de 11, por lo que 11 y.
2.1. CONCEPTOS B

ASICOS 27
Distancia mnima y correccion
En (1.4.4) vimos la nocion 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 unico
que usaremos en el curso.
2.1.5. Denicion. Sea F un cuerpo.
La distancia de Hamming entre dos vectores u, v F
n
es el n umero natural:
d(u, v) = [ 1, . . . , n [ u() ,= v()[ .
La distancia mnima de un codigo, C F
n
es
d(C) = mnd(u, v) [ u, v C .
La siguiente denicion es una variante util en algunos calculos, pero sobre
todo lo sera cuando los codigos sean espacios vectoriales.
2.1.6. Denicion. Sea F un cuerpo. Para un vector u F
n
denimos el peso
de u como
(u) = [supp(u)[ = d(0, u).
2.1.7. Proposicion. Sea C un codigo sobre un alfabeto F. Entonces la distancia
de Hamming cumple los axiomas de metrica; a saber,
1. d(u, v) = 0 si y solo si u = v.
2. d(u, v) = d(v, u).
3. d(v, u) d(u, z) +d(z, v).
2.1.8. Observacion. Es facil comprobar las siguientes armaciones sobre la
distancia y el peso. Sean u, v F
n
.
1. d(u, v) = (u v).
2. (u) +(u +v) (v).
3. Si F = F
2
; 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-
cion 1.4.1) usaremos bolas cerradas de alg un radio con centro en las palabras
del codigo; es decir, si c C F y r N,
B
r
(v) = w F
n
[ 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 CAP

ITULO 2. GENERALIDADES SOBRE C

ODIGOS
2.1.9. Lema. Sea C un codigo en F
n
con distancia mnima d y sea r N. Las
bolas B
r
(c) [ c C son disjuntas si y solo si r
d1
2
| = t.
Demostracion. ]. 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 = (x
1
, . . . , x
n
) e y = (y
1
, . . . , y
n
) tales que d(x, y) = d,
con x
i
j
,= y
i
j
y los otros x
k
= y
k
, k ,= i
j
, con j = 1, . . . , d. Sea z = (z
1
, . . . , z
n
)
tal que z
i
j
= x
i
j
para j = 1, . . . , r. y z
i
k
= y
i
k
para k = r + 1, . . . , d. El resto,
iguales. Entonces d(y, z) = r y d(x, z) = dr r, por tanto z B
r
(x) B
r
(y),
lo cual es imposible.
] Supongamos que z B
r
(x) B
r
(y). Entonces
d(x, y) d(x, z) +d(z, y)
d 1
2
| +
d 1
2
| d 1 < d,
lo cual es imposible.
Por eso, al n umero t =
d1
2
| se le conoce tambien como radio de empaque-
tado; es facil 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 correccion.
2.1.10. Observacion. Entonces, para un codigo C F
n
, se tiene que si r
_
d1
2
_
, el conjunto de bolas B
r
(c) [ c C induce el esquema de decision
f : F
n
parcial
C tal que f(u) = c d(u, c) r para c C y u F
n
.
2.1.11. Ejemplo. Consideremos el codigo binario de repeticion, de longitud 3.
C =
_
000
111
.
En este caso, la distancia mnima es d(C) = 3 y t = 1; luego las bolas
son B
1
(000) = 000, 100, 010, 001, B
2
(111) = 111, 011, 101, 110. Notese que
B
1
B
2
= F
3
.
A un mas, seg un lo visto en el captulo anterior, si la probabilidad asociada
a C es uniforme, P
e
(C) = 1

1
k=0
_
3
k
_
p
k
(1 p)
nk
= 3p
2
2p
3
De la denicion de nuestro esquema se puede deducir con facilidad la segunda
parte del siguiente resultado.
2.1.12. Teorema. Sea C un codigo y d(C) la distancia mnima. Entonces
1. C puede detectar hasta d(C) 1 errores.
2. C puede corregir hasta
d(C)1
2
| 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 , C.
(2) Sea de nuevo, c la palabra enviada y v la recibida. Si se han cometido a
lo mas t =
d(C)1
2
| errores entonces v B
t
(c) y se corregira con exito.
2.1. CONCEPTOS B

ASICOS 29
2.1.13. Denicion. Para un c odigo C, se dene la capacidad de correccion
como t =
d(C)1
2
|.
2.1.14. Denicion. Un (n, M, d)-codigo 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
denido el codigo
C
1
=
_

_
00
11
10
01
C
1
es un (2, 4, 1)-codigo binario y no detecta ni corrige error alguno.
Ahora vamos a agregar redundancia
C
2
=
_

_
00[0
11[0
10[1
01[1
C
2
es un (3, 4, 2)-codigo binario y detecta 1 error, pero no puede corregir.
Un codigo que solo 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,
C
3
=
_

_
00[000
11[011
10[110
01[101
C
3
es un (5, 4, 3)-codigo 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 solo se puede cometer un error, entonces corregimos
00001 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 C
3
que tiene t = 1, son
B
1
(00000) = 00000, 10000, 01000, 00100, 00010, 00001.
B
1
(11011) = 11011, 01011, 10011, 11111, 11001, 11010.
B
1
(10110) = 10110, 00110, 11110, 10010, 10100, 10111.
B
1
(01101) = 01101, 11101, 00101, 01001, 01111, 01100.
Fuera quedan 11000, 00011, 01110, 10101, 11100, 00111, 01010, 10001.
Aqu tambien se puede calcular P
e
(C
3
).
30 CAP

ITULO 2. GENERALIDADES SOBRE C

ODIGOS
2.1.16. Observacion. 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 F
10
11
. En principio x
1
, . . . , x
9
solo tiene restriccion en el
alfabeto; as que M = 10
9
, 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)-
codigo.
Codigos 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 decodicacion
unica a aquellos que verican que su esquema es una aplicacion.
2.1.19. Denicion. Un codigo C sobre un alfabeto F se llama perfecto si la
distancia mnima es de la forma d = 2t + 1 y
F
n
=
_
xC
B
t
(x)
es decir, si F
n
es union de las bolas de radio
d1
2
N y centro en las palabras.
Vamos ahora a dar un criterio meramente aritmetico para determinar cuando
un codigo es perfecto.
2.1.20. Lema. Sea F
q
un cuerpo nito. En F
n
q
, una bola de radio r y centro
en un punto v tiene exactamente
[B
r
(v)[ =
r

j=0
_
n
j
_
(q 1)
j
elementos.
Demostracion. Notese que para v F
n
q
, y para j posiciones jas, i
1
, . . . , i
j
,
se tiene

_
u F
n
q
[ v (i
k
) ,= u(i
k
) k = 1, . . . , j
_

= (q 1)
j
.
Ahora, hay que multiplicarlo por las
_
n
j
_
-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)-codigo q-ario es perfecto si y solo si
M
t

j=0
_
n
j
_
(q 1)
j
= q
n
, con t =
_
d 1
2
_
.
2.1. CONCEPTOS B

ASICOS 31
Demostracion. Por hipotesis, las bolas son disjuntas, as que

_
uC
B
t
(u)

= M [B
t
(x)[ = M
t

j=0
_
n
j
_
(q 1)
j
donde hemos jado 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) 2
5
, luego M 5.
2.1.23. Ejemplos. Algunos codigos perfectos.
1. Todo codigo binario de repeticion de longitud impar es perfecto (vease
2.1.11).
2. El codigo total.
3. Los codigos binarios de longitud impar de la forma
_
c, 1 +c
_
.
Pero estos codigos son triviales. Un problema muy interesante es encontrar
todos los codigos perfectos.
Cuando un codigo no es perfecto, nos interesa saber cuanto dista de serlo.
Para ello usamos el siguiente concepto.
2.1.24. Denicion. Sea C un (n, M, d)-codigo sobre F. El radio de recubri-
miento de C es
(C) = mn
_
r N [ F
n
=
_
cC
B
r
(c)
_
.
Es decir, el menor natural tal que la familia de bolas con dicho n umero cubre
el espacio ambiente.
2.1.25. Observacion. Equivalentemente se puede ver que
(C) = max
vF
n
_
mn
cC
(d(v, c))
_
.
2.1.26. Denicion. Sea C un (n, M, d)-codigo sobre F, con radio de empa-
quetamiento (o capacidad de correccion) t. Decimos que C es cuasi perfecto si
(C) = t + 1.
2.1.27. Ejemplo. El codigo C
3
de (2.1.15) verica
d1
2
| = 1 y (C
3
) = 2.
Luego, C
3
es quasi perfecto.
32 CAP

ITULO 2. GENERALIDADES SOBRE C

ODIGOS
2.2. Equivalencia y automorsmos de c odigos
La denicion tradicional de equivalencia de codigos es la siguiente (veanse,
por ejemplo [5, 6, 10]).
2.2.1. Denicion. Dos codigos C y D, q-arios decimos que son equivalentes
si se puede obtener uno del otro a traves de una combinacion de operaciones de
los siguientes tipos:
1. Permutacion de las posiciones.
2. Permutacion de los smbolos de una posicion ja.
Como aplicacion, un resultado muy util a la hora de hacer calculos.
2.2.2. Lema. Todo (n, M, d)-codigo sobre F es equivalente a un (n, M, d)-codi-
go sobre F, que contiene al vector 0 F
n
.
Demostracion. Inmediato del hecho de que las traslaciones son isometras.
A su vez, cada codigo tiene asociado su grupo de automorsmos o autoequi-
valencias.
2.2.3. Denicion. Sea F un cuerpo nito y C F
n
un codigo. El grupo de
automorsmos de C es
Aut(C) = x Isom
n
(F) [ Cx = C .
De especial interes es el grupo de aquellos automorsmos que solo hacen
permutar a las coordenadas;
2.2.4. Denicion. Dos codigos C, D F
n
, decimos que son permutaci on equi-
valentes si existe una permutacion S
n
, tal que C = D.
2.2.5. Denicion. Sea F un cuerpo nito y C F
n
un codigo. El grupo de
automorsmos de permutacion es
PAut(C) = x S
n
[ Cx = C .
2.3. Construcci on de codigos a partir de otros
Codigos pinchados
2.3.1. Denicion. Decimos que pinchamos un codigo C F
n
, cuando elimi-
namos una coordenada ja 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 C

i
al codigo pinchado en la i-esima corrdenada podemos dar
directamente los nuevos parametros?
2.3. CONSTRUCCI

ON DE C

ODIGOS A PARTIR DE OTROS 33


2.3.2. Proposicion. Sea C un (n, M, d)-codigo sobre F y sea C

i
el c odigo
pinchado en la i-esima coordenada. Si d > 1 entonces C

i
es un (n 1, M, d

i
)-
codigo, donde
d

i
=
_
d 1 si existen u, v C, con d(u, v) = d y u(i) ,= v(i)
d otro caso.
Demostracion. Si [C

i
[ < M = [C[ entonces tendran que existir u, v C con
u ,= v, pero v

= u

lo cual implica que d(u, v) = 1. Imposible. Luego, [C

i
[ = M.
El calculo de d

i
es inmediato.
Para los siguientes resultados, necesitamos el concepto de subgrupo de per-
mutaciones transitivo.
2.3.3. Denicion. Decimos que un subgrupo H S
n
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, solo hay una orbita).
2.3.4. Proposicion. Sea C un (n, M, d)-codigo. Si PAut(C) es transitivo en-
tonces los n codigos obtenidos de pinchar C en cada coordenada son permutacion
equivalentes.
Demostracion. Vamos a ver que C

1
es equivalente a C

j
para j = 2, . . . , n. Sea
P
j
PAut(C) tal que lleva la coordenada j a la posicion 1, y sea Q
j
la matriz
que se obtiene de eliminar la la uno y la columna j-esima de P
1
j
. Entonces
C

j
= (CP
j
)

1
Q
j
. Como P
j
PAut(C), CP
j
= C, luego C

j
= C

1
Q
j
, como
queramos ver.
2.3.5. Ejemplo. Sea C = 00000, 11000, 00111, 11111. Se puede construir C

1
y C

5
, y comprobar que no son equivalentes.
Codigos extendidos
Esencialmente, extender codigos 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. Denicion. Sea C un (n, M, d)-codigo sobre F. Hacemos

C =
_
(v
1
, . . . , v
n
, v
n+1
) [ (v
1
, . . . , v
n
) C y
n+1

=1
v

= 0
_
Otra vez, queremos conocer los parametros por formula.
2.3.7. Proposicion. Sea C un (n, M, d)-codigo sobre F. Entonces

C es un
_
n + 1, M,

d
_
-codigo, donde

d = d o d + 1.
Demostracion. Trivial.
2.3.8. Observacion. Obtener leyes para los codigos extendidos en el caso bi-
nario es muy simple. Aqu, trivialmente,

d = d + 1 si d es impar y es d en caso
contrario.
34 CAP

ITULO 2. GENERALIDADES SOBRE C

ODIGOS
Concatenaci on o suma directa
Es importante distinguir entre la suma directa del algebra lineal y la suma
directa de codigos, que no coinciden.
2.3.9. Denicion. Sean C
1
, C
2
(n
1
, M
1
, d
1
) y (n
2
, M
2
.d
2
) codigos q-arios. La
concatenacion o suma directa es el codigo
(u [ v) [ u C
1
, v C
2

El estudio de los parametros aqu es muy sencillo y el propio lector puede


completar la seccion.
La construccion de Plotkin
2.3.10. Denicion. Sean C
i
dos (n, M
i
, d
i
)-codigos q-arios, con i = 1, 2, pero
n jo. Formamos un nuevo codigo que llamamos la construccion de Plotkin.
C
1
C
2
= (u [ u +v) [ u C
1
, v C
2

2.3.11. Proposicion. Sean C


i
dos (n, M
i
, d
i
)-codigos q-arios, con i = 1, 2.
Entonces C
1
C
2
es un (2n, M
1
M
2
, d)-codigo, donde d = mn2d
1
, d
2
.
Demostracion. Sean x = (u
1
[u
1
+v
1
) e y = (u
2
[u
2
+v
2
). Entonces
d(x, y) = d (u
1
, u
2
) +d (u
1
+v
1
, u
2
+v
2
) = (u
1
u
2
) + (u
1
u
2
+v
1
v
2
) .
Ahora separamos en casos. Si v
1
,= v
2
entonces por (2.1.8),
d(x, y) (v
1
v
2
) d
2
y la igualdad se alcanza para palabras v
1
y v
2
que tengan la distancia mnima
de C
2
y u
1
= u
2
.
Si v
1
= v
2
entonces d(x, y) = 2d (u
1
, u
2
) 2d
1
y tambien hay palabras que
la alcanzan. De aqu, se tiene de inmediato.
Captulo 3
Codigos lineales
3.1. Conceptos basicos
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 codicacion
y decodicacion.
Como viene ocurriendo, F siempre denotara un cuerpo nito. Cuando se
quiera hacer enfasis en su cardinal, escribiremos F
q
, donde q = [F
q
[.
Por ejemplo, en el caso del codigo C
1
= 00, 10, 01, 11 del GPS (1.1.3 y
2.1.15) que vimos antes, lo ampliamos al codigo C
2
= 000, 101, 011, 110. Es
facil ver que, la regla para ampliarlo es (x, y) (x, y, x + y) en terminos del
algebra lineal; es decir, la redundancia puede obtenerse mediante aplicaciones
lineales. Vamos a identicarlo. Tenemos C
1
= F
2
2
y hacemos f : F
2
2
F
3
2
, tal que
f(x, y) = (x, y, x +y). Claramente C
1

= C
2
. Llamaremos matriz de codicacion
a la matriz asociada a la codicacion (en las bases canonicas, como escalares
opuestos). Se tiene, C
2
=< M(f) >, la matriz en las bases canonicas. Mas
adelante, llamaremos a M(f) (una) matriz generadora
1
.
Ahora hacemos : C
2

= F
2
2
F
5
2
tal que (x, y) = (x, y, x + y, x, y) y se
obtiene C
3
.
Esta forma de agregar la redundancia manteniendo jas la primeras coor-
denadas (y dejando intacto el codigo original) nos produce matrices del tipo
M() = (I
k
[A)
Vamos a formalizar la situacion.
3.1.1. Denicion. Sea F un cuerpo nito. Un codigo lineal, C, es un subespacio
del espacio vectorial F
n
. Escribimos [n, k, d]-codigo para un codigo lineal de F
n
1
Generadora o generatriz? Las opiniones estan divididas (veanse [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 est an en el diccionario y aunque no estuvieran cada uno las
usara como quisiera. Aqu diremos generadora porque matriz generatriz, todo junto, no nos
gusta.
35
36 CAP

ITULO 3. C

ODIGOS LINEALES
con dim
F
C = k y distancia mnima d. Escribiremos solo [n, k]-codigo cuando
no nos interese hacer enfasis en la distancia mnima.
3.1.2. Observacion. Un [n, k]-codigo sobre F
q
tiene exactamente q
k
elementos.
Para la presentacion de los codigos lineales se usan dos tipos de matriz;
a saber, la matriz generadora y la matriz de control (parity check matrix).
Comencemos con la matriz generadora.
3.1.3. Denicion. Sea C un [n, k]-codigo sobre F. Una matriz generadora de
C es cualquiera cuyas las formen una base para C. Se denota G(C).
Sea M una matriz de orden n n. Denotamos M (i
1
, . . . , i
r
; j
1
, . . . , j
s
) la
submatriz de M que proviene de la interseccion de las las i
1
, . . . , i
r
y las co-
lumnas j
1
, . . . , j
s
. Abreviemos, M (1, . . . , n; X) = M(; X) y M (X; 1, . . . , n) =
M(X; )
3.1.4. Denicion. Sea C un [n, k]-codigo sobre F. Un conjunto de informaci on
o conjunto de posiciones de informacion, es un subconjunto 1 1, . . . , n tal
que, dada cualquier palabra del codigo, (c
1
, . . . , c
n
) C y cualquier posicion j =
1, . . . , n existe un unico conjunto de coecientes a
i,j

iI
, tal que

iI
a
i,j
c
i
=
c
j
.
Es decir, que el codigo C puede obtenerse conociendo los valores de las po-
siciones 1.
3.1.5. Denicion. Sea C un [n, k]-codigo sobre F con un conjunto de in-
formacion 1. Se llama conjunto de redundancia o de posiciones de control a
1, . . . , n 1.
El ejemplo mas simple es la codicaci on sistematica. Decimos que un codi-
go es sistematico si al agregar la redundancia hemos mantenido las primeras
las 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 util para encontrar conjuntos de informacion se
tiene en el siguiente toerema.
3.1.6. Teorema. Sea C un [n, k]-codigo sobre F con matriz generadora G. Si
G tiene k columnas linealmente independientes entonces los ndices de dichas
columnas forman un conjunto de informacion. (N otese que al menos seguro uno
hay).
Recprocamente, si 1 1, . . . , n es un conjunto de informacion enton-
ces existe una matriz generadora G tal que las columnas con ndices en 1 son
linealmente independientes.
Demostracion. Supongamos primero que G es una matriz generadora y que tiene
ciertas columnas con ndices i
1
, . . . , i
k
, que son linealmente independientes.
Entonces existe una matriz de operaciones elementales por la E tal que la
submatriz EG(i
1
, . . . , i
k
) = I. Ademas, EG es matriz generadora, tambien. Sea
c C cualquier palabra. Entonces existe a F
k
tal que aEG = c. Por la
forma que tiene EG es claro que c
i
j
= a
j
y que, para cualquier l = 1, . . . , n,
c
l
=

r
lj
a
j
=

r
lj
c
i
j
.
3.1. CONCEPTOS B

ASICOS 37
Recprocamente, supongamos que 1 = i
1
, . . . , i
k
es un conjunto de infor-
macion. Sea b
1
, . . . , b
k
una base para C y sean a
1
, . . . , a
k
las proyecciones de los
b
j
en las coordenadas de 1; es decir, a
j
= (b
j
(i
1
), . . . , b
j
(i
k
)).
Se arma que a
1
, . . . , a
k
es linealmente independiente en F
k
. Considerese
una combinacion lineal

r
j
a
j
= 0. Entonces, tomando cualquier componente,
se tiene

r
j
b
j
(i
l
) = 0, lo cual implica que r
j
= 0 para todo j = 1, . . . , k pues
1 es conjunto de informacion y por tanto las expresiones son unicas.
Finalmente, se considera la aplicacion inducida por la correspondencia a
j

b
j
. La matriz asociada a esta aplicacion en las bases a
j
y cualquier extension
de b
j
nos vale.
Sea ahora C un [n, k]-codigo 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 las, digamos E, tal que EG = (I
k
[A). Es obvio
que EG tambien es matriz generadora de C. Esta forma tiene nombre propio.
3.1.7. Denicion. Sea C un [n, k]-codigo sobre F con matriz generadora G.
Decimos que G esta en forma tpica (estandar) si G = (I
k
[A) para alguna matriz
adecuada A.
3.1.8. Ahora consideremos la sucesion exacta 0 F
k
f
F
n

Coker(f)
0. Entonces C = Im(f), el codigo nos da la sucesion 0 C

F
n

F
n
/C
0.
Eljase, por lo pronto, una base cualquiera en el espacio cociente, digamos
. Hacemos
H
kn
= M

()
t
.
Sabemos que C = ker f = x F
n
[ Hx
t
= 0 y por tanto, dim
F
(C) =
n rg(H). Desde el punto de vista de H, ker f es la nulidad a la derecha de H
y se denota N
d
(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 = (I
k
[A)
kn
es la matriz generadora en forma tpica de
un [n, k]-codigo lineal entonces H = (A
t
[I
nk
) es una matriz de control de C.
Demostracion. 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 codigo lineal C es permutacion equivalente a un codigo
cuya matriz generadora esta en forma tpica.
Demostracion. Sea Gla matriz generadora. Por algebra lineal (metodo de Gauss-
Jordan) sabemos que existen matrices invertibles (de operaciones elementales),
E, F, tales que EGF = (I
k
[A), donde I
k
es la identidad y A alguna matriz
adecuada. Tambien sabemos que podemos elegir F como solo producto de per-
mutacion de los pivotes (o cualquier permutacion que pusiera en las primeras
columnas un conjunto de informacion). Entonces EG genera el mismo codigo
38 CAP

ITULO 3. C

ODIGOS LINEALES
C y por tanto CF es permutacion equivalente y tiene la matriz de la forma
deseada.
3.1.11. Ejemplos.
1. El codigo binario de repeticion F
2
f
F
5
2
que vimos en (2.1.3) tiene matriz
de codicacion
M(f) =
_
_
_
1
.
.
.
1
_
_
_
51
y la matriz generadora es G = (1[1111),
que esta en forma tpica.
En este caso, el conjunto de informacion es 1 y la redundancia es 6. La
matriz de control es
H =
_
A
t
[I
4
_
=
_
_
_
1
.
.
.
1
I
4
_
_
_ =
_
_
_
1
.
.
.
1
I
4
_
_
_porque estamos en F
2
.
2. Mas adelante, veremos con detalle un tipo de codigos llamados codigos de
Hamming. Por lo pronto llamaremos H
3
al codigo con matriz generadora
G =
_
_
_
_
I
4
0 1 1
1 0 1
1 1 0
1 1 1
_
_
_
_
y de control
H =
_
_
0 1 1 1
1 0 1 1
1 1 0 1
I
3
_
_
.

Este es un [7, 4]-codigo.


3. En el ejemplo del ISBN (2.1.4) tenemos C = F
9
11
y agregamos la informa-
cion (dgito de control de pesos) con la aplicacion lineal f : C F
10
11
dada
por f (x
1
, . . . , x
10
) =
_
x
1
, . . . , x
9
,

9
i=1
ix
i
_
. En este caso, la matriz
generadora es
G(ISBN) =
_
_
_ I
9
1
.
.
.
1
_
_
_.
3.2. Codigos duales u ortogonales
3.2.1. Sea F un cuerpo nito y C F
n
un subespacio. Sabemos que
dimC

+ dimC = n.
3.3. PESOS Y DISTANCIAS 39
3.2.2. Denicion. Sea C un codigo lineal con matriz de control H = H(C).
El codigo dual de C que denotamos C

es justo el generado por H.


Claramente,
C

=
_
x F
n
[ xG
t
= 0
_
= N
i
_
G
t
_
= N
d
(G)
y C

es un [n, n k]-codigo lineal si C es un [n, k]-codigo lineal. A un mas,


se puede probar facilmente que en la situacion de la denicion anterior, H =
G
_
C

_
3.2.3. Denicion. Un codigo lineal C se llama auto ortogonal si C C

y se
llama auto dual si la igualdad se verica; es decir, C = C

Claramente, para ser autodual, es condicion necesaria tener dimension n/2


N.
3.2.4. Ejemplos.
1. Considerese el codigo H
3
en (3.1.11). Se puede probar haciendo las cuentas
que el codigo extendido

H
3
es auto dual porque la matriz generadora es
nilpotente de ndice 2 y tiene rango 4.
2. El [4, 2]-codigo ternario llamado tetracodigo tiene matriz
G =
_
1 0 1 1
0 1 1 1
_
.
Trivialmente, es autodual.
3.2.5. Teorema. Sea C un codigo lineal. Si 1 y 1 son las posiciones (ndices)
de informacion y redundancia para C entonces 1 y 1 los son, respectivamente,
para C

.
Demostracion. Si 1 = el caso es trivial. Supongamos que [I[ = k. Sea F
la permutacion tal que F(1) = 1, . . . , k y F(1) = r + 1, . . . , n. Sabemos
que existe un matriz E, producto de elementales tal que EGF = (I
k
[A). Ha-
cemos H = (A
t
[I) F
1
. En este caso, puede elegirse como conjunto de infor-
macion de H, 1(H) = F
1
k + 1, . . . , n = 1 y el de redundancia 1(H) =
F
1
(1, . . . , k = 1.
3.3. Pesos y distancias
En el captulo anterior (2.1.5) vimos las nociones de distancia de Hamming
y distancia mnima, ademas 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
denicion de peso mnimo.
3.3.1. Denicion. Para un codigo C, se dene el peso mnimo de forma obvia.
w(C) = mnw(c) [ 0 ,= c C
El siguiente resultado es inmediato.
3.3.2. Proposicion. Sea C un codigo lineal. Entonces (C) = d(C).
40 CAP

ITULO 3. C

ODIGOS LINEALES
Peso mnimo y matriz de control
3.3.3. Teorema. Sea C un codigo 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.
Demostracion. Inmediato de la denicion de matriz de control (3.1.8).
3.3.4. Corolario. Sea C un codigo lineal con matriz de control H. Entonces
(C) = d si y solo 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
eleccion de al menos n d + 1 columnas de la matriz generadora G, tiene un
conjunto de informaci on; o sea, tiene k-columnas linealmente independientes.
3.3.5. Teorema. Sea C un [n, k, d]-codigo lineal con matriz generadora G.
Entonces, todo conjunto de (n d +1)-columnas de G contiene un conjunto de
informacion (o sea, k-columnas linealmente independientes).
A un mas, d es el mayor n umero con esta propiedad.
Demostracion. Hay que probar que para cualquier eleccion de columnas A =
G(; j
1
, . . . , j
s
) 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-las entonces rg(A) es menor
que el n umero de las de A, as que existe 0 ,= c F
n
tal que cA = 0. Considerese
ahora c G = (r
1
, . . . , r
n
), donde al ser cA = 0, cada r
i
j
= 0 con j = 1, . . . , s.
Obviamente, cG C, y ademas, (cG) n s. As que d n s y por tanto
s n d.
Distribucion de peso o espectro de peso
3.3.6. Denicion. Sea C un codigo y sea
A
t
(C) = [x C [ (x) = t[ .
A la lista A
1
, A
2
, . . . se le llama la distribucion 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 calculo de la distribucion de pesos se deja como ejercicio.
Otro ejemplo que se puede comprobar facilmente es el calculo en un codigo
de repeticion.
3.3. PESOS Y DISTANCIAS 41
Vamos a ver algunas propiedades basicas.
3.3.8. Teorema. Sea C un [n, k, d]-codigo lineal sobre F. Entonces:
1.

n
i=0
A
i
(C) = q
k
.
2. A
0
(C) = 1 y A
1
(C) = = A
d1
(C) = 0, si d > 1.
3. Si C es binario y (1, . . . , 1) C entonces A
i
(C) = A
ni
(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.
Demostracion. Sea 1 = (1, . . . , 1). (1) y (2) son inmediatos. (3) Inmediato del
hecho de que para todo v F
n
2
,
_
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]-codigo binario. Sea C
e
el conjunto de todas
las palabras de peso par (en sentido llano). Entonces
1. C
e
es un subcodigo lineal (subespacio) de C.
2. dim
F
2
(C/C
e
) 1.
Demostracion. (1) Es obvio. (2) Se sigue directamente de (2.1.8)
Vamos a ver una generalizacion muy interesante de la nocion de palabra par
e impar.
3.3.10. Denicion. Decimos que un vector v F
n
es de tipo par (even-like)
si

n
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. Denicion. Decimos que un codigo lineal es de tipo par si cada palabra
lo es. En caso contrario, decimos que es de tipo impar.
3.3.12. Observacion. Un codigo de tipo impar puede tener palabras de tipo
par.
3.3.13. Teorema. Sea C un [n, k, d]-codigo sobre F. Sea C
e
el conjunto de
palabras tipo par en C. Entonces C
e
es subespacio de C y dim
F
2
(C/C
e
) 1.
Demostracion. La primera parte es trivial. Para la segunda parte, supongamos
que existe u, v C tales que no son pares. Supongamos que u = (u
1
, . . . , u
n
) y
v = (v
1
, . . . , v
n
). Hacemos r =

v
i
/

u
1
. Entonces

v
i
r

u
i
= 0, as que
v ru C
e
. De aqu es inmediato.
42 CAP

ITULO 3. C

ODIGOS LINEALES
3.4. Codicacion y decodicacion en c odigos
lineales
Ya hemos comentado que para hacer la codicacion 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 verica F
k
= C. Cuando un codigo es muy grande,
se aprecia con claridad la necesidad de codicar y descodicar por formula. El
proceso de codicacion es en general, mucho mas facil que el de decodicacion.
La razon es que en la decodicacion hemos incluido la correccion de errores, lo
mas costoso.
Correccion 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 decision (ese ya lo tenemos, el de d(C)) sino un algoritmo para la funcion
parcial. Al nal, comentaremos una variante para completar el dominio de la
funcion parcial y hacerla aplicacion. Comenzamos estableciendo la situacion.
3.4.1. Tenemos un [n, k]-codigo C F
n
, con matriz de control H y capacidad
de correccion t. Hay una palabra enviada c C, un vector recibido v F y un
vector error, que denotaremos e = v c.
El vector error e contiene la informacion de los errores de transmision que se
cometieron as como de las posiciones donde ocurrieron. Ademas, el peso (e)
nos indica el n umero de errores en la transmision. En principio, todo vector
puede ser visto como un vector error de cualquier palabra, pero nosotros tenemos
por hipotesis limitado el n umero de errores que se van a cometer, luego, se puede
decir que hay muchos vectores en F
n
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 denicion, su mejor representacion
como elementos de clases de equivalencia e v + C y poseen, en ese sentido,
una propiedad notable; a saber, Hv = He
3.4.2. Denicion. Sea C F
n
un codigo lineal con matriz de control H.
Para un vector v F
n
, su sndrome es el vector Hv F
n
/C (abusando de la
notacion).
Como se distribuyen los vectores error mas probables en las clases de equi-
valencia? El siguiente resultado nos da la respuesta.
3.4.3. Proposicion. Sea C F
n
un codigo lineal con capacidad de correccion
t y sea e F
n
tal que (e) t. Entonces e tiene peso mnimo en e + C y es
unico con la propiedad.
Demostracion. Supongamos que hay otro u = e+c distinto, i.e. c ,= 0, y verica
(u) t. Entonces, por la desigualdad triangular y la denicion de capacidad
3.4. CODIFICACI

ON Y DECODIFICACI

ON EN C

ODIGOS LINEALES 43
de correccion
(c) = (u e) (u) +(e) 2t d(C) 1
lo cual es imposible. Luego e e +C es unico.
As que ya sabemos como estan distribuidos los vectores error (mas proba-
bles). Uno por clase.
3.4.4. Denicion. Sea C F
n
un codigo 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 proposicion anterior es que los lderes de peso menor
que t son unicos.
2. Cuando la condicion del peso falla, los lderes pueden no ser unicos.
3.4.6. Ejemplo. Volvamos al ejemplo del GPS extendido (2.1.15) , con C
3
=
00000, 11011, 10110, 01101. Tenemos dim
F
2
C
3
= 2, luego dim
F
2
F
5
/C
3
= 3;
as que hay 2
3
= 8 clase de equivalencia. Vamos a listarlas.
Clase bola B
1
(00000) B
1
(11011) B
1
(10110) B
1
(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, 00011, 01110, 10101
_
11000
00011
11100 11100, 00111, 01010, 10001
_
10001
01010
El siguiente teorema nos dice que, cuando un vector recibido v F
n
pertene-
ce a una clase de equivalencia con lder unico, digamos e, entonces v B
t
(v e)
y por tanto el esquema decidira que la palabra enviada fue v e C.
3.4.7. Teorema. Sea C F
n
un codigo lineal con capacidad de correccion t y
v F
n
. Son equivalentes:
1. Existe c C tal que d(v, c) t.
2. Existe un unico lder, e, tal que Hv = He y (e) t.
44 CAP

ITULO 3. C

ODIGOS LINEALES
En este caso, el esquema decidir a que la palabra enviada es v e.
Demostracion. [1 3] Hacemos e = v c. Entonces (e) t y por (3.4.3)
sera unico.
[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 (e
ij
) sndrome (He
ij
= s
ij
)
0 e
01
= 0 0
e
11
s
11
1
.
.
.
.
.
.
e
1n
1
s
1n
1
.
.
.
.
.
.
.
.
.
e
t1
s
t1
t
.
.
.
.
.
.
e
tn
t
s
tn
t
Peso mayor que t
Peso lder (e
ij
) sndrome (He
ij
= s
ij
)
e
t+1,1
s
t+1,1
t + 1
.
.
.
.
.
.
e
t+1,n
t+1
s
t+1,n
t+1
.
.
.
.
.
.
.
.
.
e
(t+p),1
s
(t+p),1
t +p
.
.
.
.
.
.
e
(t+p),n
t+p
s
(t+p),n
t+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.
3.4. CODIFICACI

ON Y DECODIFICACI

ON EN C

ODIGOS LINEALES 45
1. Si el n umero de errores no excediere la capacidad de correccion, el lder
correspondiente sera unico (y nos indicara los errores cometidos en las
posiciones). Ademas, se decidira la palabra enviada y corregiremos ade-
cuadamente.
2. Si el n umero de errores excediere la capacidad de correccion entonces,
cuando los errores coincidan con un lder, corregiremos (correctamente);
si no, habremos cometido un error en la decision.
3. Uno puede optar por hacer la tabla mas peque na y, de ocurrir que no
se encuentre lder para un vector avisar la deteccion de un error. Si la
probabilidad de error es muy baja, incluso es conveniente.
3.4.9. Ejemplos.
1. Continuamos con el ejemplo en (3.4.6).
Peso lder (e
ij
) sndrome (He
ij
= s
ij
)
0 0000 000
10000 110
01000 101
1 00100 100
00010 010
00001 011
2 11000

011
10001

111
(*) no unicos.
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 unicos 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 decodicar. Ahora las B
c
no son solo bolas cerradas; tienen unos puntos mas.
Sea L un juego completo de lderes (los unicos, por fuerza, los otros, elegidos),
entonces el esquema esta dado por
B
c
= l +c [ l L .
46 CAP

ITULO 3. C

ODIGOS LINEALES
La probabilidad 1 p
e
(c) = p( t errores )+ la probabilidad de que se
cometan los errores de la suerte; es decir, aquellos para los que hay lderes.
Para 0 i n k, sea
i
= [ L [ () = i[. Entonces
1 p
e
(c) = p( t errores ) +
n

t+1

i
p
i
(1 p)
ni
.
El primer sumando ya lo hemos calculado en (1.4.4). As, nos queda
1 p
e
(c) =
t

k=0
_
n
k
_
(q 1)
k
p
k
(1 p)
nk
+
n

t+1

i
p
i
(1 p)
ni
.
Tambien podemos calcularla usando el juego completo de lderes. Como
k
=
_
n
k
_
(q 1)
k
,
1 p
e
(c) =
n

i=0

k
p
k
(1 p)
nk
.
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]-codigo sobre F y sea C

i
el codigo pinchado
en la i-esima coordenada. Si C

i
,= 0 entonces es un [n1, k

, d

]-codigo, donde,
1. k

= k si (0, . . . , 1
i
, 0 . . . , 0) , C.
2. Si k > 1, y no se cumple el apartado anterior sera un [n1, k1, 1]-codigo.
3.5.2. Sea C un codigo lineal sobre F. Sea C

el codigo pinchado en la ultima


coordenada y luego extendido (por denicion, tambien en la ultima). Entonces
C = C

si y solo si C es de tipo par.


Extendido
Tambien hemos visto ya los resultados generales en (2.3.7 y 2.3.8). Es muy
facil comprobar cualquiera de los siguientes hechos.
3.5.3. Observacion.
1. Extendido de lineal es lineal. A un mas, si C es lineal y tiene parametros
[n, k, d] entonces

C tiene parametros
_
n + 1, k,

d
_
, donde

d = d, d + 1.
3.5. CONSTRUCCIONES CON C

ODIGOS LINEALES 47
2. Sean G, H las matrices generadora y de control de un codigo C. La exten-
sion, siempre se puede interpretar
F
k
G
F
n
E
F
n+1
con
E =
_
_
_ I
nn
1
.
.
.
1
_
_
_ y G = (g
ij
)
kn
.
Entonces
GE =

G =
_
_
_ G

j
g
1j
.
.
.

j
g
nj
_
_
_.
Ahora,

H ha de cumplir que

H

G
t
= 0, as que

H puede ser

H =
_
_
_
_
_
1 1 1
H
0
.
.
.
0
_
_
_
_
_
.

Esta es una construccion 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. Proposicion. Sea C un codigo lineal, C
e
y C
0
, las palabras tipo par
y tipo impar, respectivamente (vease 3.3.10), y d
e
= d (C
e
) y d
0
= d (C
0
),
denidos de forma obvia. Entonces

d =
_
d
e
si d
e
d
0
d
0
+ 1 otro caso
Demostracion. Inmediata. Notese que d(C) = mnd
e
, d
0

3.5.5. Ejemplo. Para ilustrar, podemos extender el codigo H


32
, con matriz
G =
_
1 0 1 1
0 1 1 1
_
y H =
_
1 1 1 0
1 1 0 1
_
y calcular los parametros.
48 CAP

ITULO 3. C

ODIGOS LINEALES
La construccion de Plotkin
Recordemos la denicion de la construccion de Plotkin en (2.3.10). Es inme-
diato comprobar que cuando C
1
y C
2
son codigos lineales tambien C
1
C
2
es
lineal. A un mas.
3.5.6. Corolario. En la situacion de (2.3.10), si C
1
y C
2
tienen matrices gene-
radoras y de control, respectivamente, G
1
, G
2
y H
1
, H
2
, entonces C
1
C
2
tiene
matriz generadora y de control
_
G
1
G
1
0 G
2
_
y
_
H
1
0
H
2
H
2
_
respectivamente.
Captulo 4
El problema principal de la
teora de codigos. Cotas a
los parametros
4.1. Generalidades
Sea C un (n, M, d)-codigo. Para ser un buen codigo debe:
Tener palabras, lo mas 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 conictivos a lo cual nos referiremos como el problema


principal de la teora de codigos.
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 parametros jos).
4.1.1. Notacion. Denotamos con A
q
(n, d) el mas grande valor de M, tal que
existe un (n, M, d)-codigo q-ario.
Empezamos con los casos triviales.
4.1.2. Proposicion. Sea q = p
i
, con p primo.
1. A
q
(n, 1) = q
n
.
2. A
q
(n, n) = q.
Demostracion. (1). Si u ,= v F
n
q
entonces d(u, v) 1. De aqu se tiene de
inmediato que F
n
q
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 F
n
q
. As que todas las coordenadas han de
49
50 CAP

ITULO 4. COTAS A LOS PAR

AMETROS
ser distintas; en particular, la primera. Luego M q. Por otra parte, el codigo
q-ario de repeticion alcanza la cota.
4.1.3. Ejemplo. Vamos a determinar el valor de A
2
(5, 3). El codigo C
3
de
(2.1.15) es un (5, 4, 3)-codigo binario. Luego A
2
(5, 3) 4. Podemos ensayar a
lo bestia con todos los subconjuntos de 5 elementos de F
5
2
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 calculos, ademas de cotas especiales.
4.1.4. Teorema. Sea d N impar. Entonces existe un (n, M, d)-codigo binario
si y solo si existe un (n + 1, M, d + 1)-codigo binario.
Demostracion. Por hipotesis, d es impar. Supongamos tenemos un (n, M, d)-
codigo y que d = d(u, v), para algunos u, v C. Como d es impar, entonces el
peso de alguna de las dos palabras es impar. As que, en el codigo extendido,
d + 1 = d ( u, v).
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 ja i 1, . . . , n tal que u(i) ,= v(i) y
pinchamos el codigo 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
A
2
(n + 1, d + 1) = A
2
(n, d).
4.1.6. Ejemplo. Sabemos por (4.1.3) que A
2
(5, 3) = 4. Por el corolario ante-
rior, A
2
(6, 4) = 4.
En el caso q-ario se tiene la siguiente relacion.
4.1.7. Teorema. Para n 2, se tiene
A
q
(n, d) qA
q
(n 1, d).
Demostracion. Sea C un codigo tal que M = A
q
(n, d). Considerese la pri-
mera posicion y para cada k F denimos D
k
= u C [ u(1) = k. Co-
mo

kF
D
k
= C entonces debe ocurrir que alg un [D
k
[
M
q
. Si pincha-
mos en la primera coordenada, es claro que todo D
k
va a sobrevivir. Luego
A
q
(n 1, d) M

1

M
q
=
A
q
(n,d)
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.
A
q
(n, d)
q
n

t
j=0
_
n
j
_
(q 1)
j
con t =
d 1
2
|.
Entonces, un codigo perfecto es aquel que alcanza la cota de Hamming.
4.3. Cota de Singleton y codigos MDS
Esta cota es sencilla pero muy util 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
A
q
(n, d) q
nd+1
.
Demostracion. Trivialmente, A
q
(n, n) = q = q
nn+1
y vamos a hacer descenso.
Sea d < n.
A
q
(n, d) qA
q
(n 1, d) q
nd
A
q
(d, d) = q
nd
(q) = q
nd+1
.
4.3.2. Observacion. En particular, para un [n, k, d]-codigo lineal q-ario, k
n d + 1.
4.3.3. Denicion. Un codigo que verica la igualdad en el teorema anterior se
conoce como codigo separable de distancia maxima (maximum distance separable
MDS).
La primera propiedad es obvia, aunque muy importante.
4.3.4. Proposicion. Los codigos MDS son cerrados para isometras.
Luego un (n, M, d)-codigo MDS verica que M = A
q
(n, d). Ahora veremos
algunas propiedades interesantes de los codigos MDS lineales.
4.3.5. Teorema. Sea C un [n, k]-codigo 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 informacion para C.
3. C

es MDS.
52 CAP

ITULO 4. COTAS A LOS PAR

AMETROS
4. Todo conjunto de (n k)-posiciones es un conjunto de informacion para
C

.
Demostracion. [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]-codigo con matriz generadora G. Entonces
C es codigo MDS si y solo si cualesquiera k columnas de G son linealmente
independientes.
Demostracion. Supongamos primero que C es MDS. Como dimC = k, por
(3.3.5) toda eleccion de k = n d + 1 columnas es linealmente independiente.
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]-codigos q-arios MDS no triviales que veri-
quen 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 = (I
k
[A
knk
). Notese que q n k. Considerese cualquier columna de A,
digamos C
A
.
Supongamos que el peso (C
A
) < k. Entonces la matriz G es de la forma,
digamos,
G =
_
_
_
_
_
I
kk

a
1i
.
.
.
a
k1 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. Notese 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 especca es aquella que verica GF(1, j) = 1 para j > k.
Ahora, observese que como q n k y GF(2, j) ,= 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 la 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-
gramacion 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)-codigo sobre F
q
, don-
de
q1
q
n < d. Hacemos r =
q1
q
. Entonces
1. M
d
drn
o
d
drn
|.
2. Si q = 2, M 2
d
2dn
|.
4.4.2. Teorema [Cota de la programacion lineal]. Las siguientes cotas
ocurren.
1. Cuando q 2 se tiene que
A
q
(n, d) max
_
n

w=0
B
w
_
donde el m aximo esta tomado de los B
w
que satisfacen:
a) B
0
= 1 y B
w
= 0 para 1 w d 1.
b) B
w
0, para d w n y
c)

n
w=0
B
w
K
n,q
k
(w) 0 para todo 1 k n.
2. Cuando d es par y q = 2,
A
2
(n, d) max
_
n

w=0
B
w
_
donde el m aximo esta tomado de los B
w
que satisfacen:
a) B
0
= 1 y B
w
= 0 para 1 w d 1.que sean impares.
b) B
w
0, para d w n y B
n
1, y
c)

n
w=0
B
w
K
n,2
k
(w) 0 para todo 1 k n/2|.
54 CAP

ITULO 4. COTAS A LOS PAR

AMETROS
Captulo 5
Tipos especiales de codigos
lineales
5.1. Codigos de Hamming y c odigos simplex
Codigos de Hamming
La construccion de los codigos de Hamming y algunas de sus propiedades
en el caso binario las hemos visto en captulos anteriores. Vamos a extender la
denicion.
Sea F
q
un cuerpo nito cualquiera y consideremos F
r
q
con r 2.
Llamamos codigo de Hamming y denotamos H
q,r
a todo aquel codigo cuya
matriz de control se construye de la siguiente manera. La denotamos con H
q,r
.
1. Consideramos todos los distintos subespacios de dimension 1 de F
r
q
. Sa-
bemos que hay exactamente
q
r
1
q1
(q
r
son todos, q
r
1, porque el < 0 >
tiene dimension 0, y
q
r
1
q1
porque los m ultiplos se absorben).
2. Denotamos con H
q,r
al codigo que proviene de una matriz del tipo
H
q,r
=
_
de cada distinto subespacio tomo
un vector no cero y lo pongo
_
.
Entonces se tiene:
1. rg (H
q,r
) = r.
2. Sean v
1
, v
2
H
q,r
. Claramente, existe W < v
1
, v
2
> (la diagonal) tal
que dimW = 1. Sea v
3
W un generador de la diagonal. Entonces v
3
es combinacion lineal de los otros, pero cualesquiera dos son linealmente
independientes, luego (3.3.4) nos dice que (H
q,r
) = 3.
55
56 CAP

ITULO 5. TIPOS ESPECIALES DE C

ODIGOS LINEALES
As que H
q,r
es un
_
q
r
1
q1
,
q
r
1
q1
r, 3
_
-codigo y cualesquiera dos codigos
construidos de esta manera y con estos datos seran permutacion equivalentes.
Recprocamente si H es la matriz de control de un codigo, tal que H es de
orden r
q
r
1
q1
y tal que cada dos columnas existe una tercera que es combina-
cion 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.
5.1.1. Teorema. Todo
_
q
r
1
q1
,
q
r
1
q1
r, 3
_
-codigo lineal sobre F
q
es un c odigo
de Hamming.
A un mas, cualesquiera dos codigos de Hamming con los mismos parametros
son permutacion equivalentes.
Codigos simplex
Son
_
q
r
1
q1
, r
_
-codigos lineales cuyos pesos de palabras tiene propiedades no-
tables. Por ejemplo, el codigo H

3
solo tiene palabras de peso 4 y el tetracodigo
(3.2.4), que denotamos H
3,2
, es autodual, y tiene todas sus palabras de peso 3.
5.1.2. Denicion. Los codigos simplex son aquellos que se realizan como dua-
les de los codigos de Hamming
En general,
5.1.3. Teorema. Las palabras no cero de un codigo simplex sobre F
q
tiene
todas peso q
r1
.
Demostracion. El codigo ha de tener matriz generadora H
q,r
de orden r
_
q
r
1
q1
_
y sabemos que rg (H
q,r
) = r y que H

q,r
= H
q,r
) =
_
xH
q,r
[ x F
r
q
_
.
Notese que (xH
q,r
) = n(columnas de H
q,r
, digamos y, tal que xy = 0).
Sabemos que dimx)

= r 1, luego tiene
q
r1
1
q1
subespacios de dimension 1
y todos ellos estan en las columnas de H
q,r
. Por tanto,
(xH
q,r
) =
q
r
1
q 1

q
r1
1
q 1
= q
r1
.
Construccion alternativa de codigos simplex binarios
Hacemos
G
2
=
_
0 1 1
1 0 1
_
.
Ahora, para r 3, denimos
G
r
=
_
_
0 0 1 1 1
G
r1
0 G
r1
_
_
5.2. C

ODIGOS DE GOLAY 57
Se puede comprobar por construccion, que las columnas de G
r
son la expan-
sion de 1, 2, . . . , 2
r
1 (en binario, claro), as que G
r
) = S
r
es H

r
.
Ahora vamos a vericar la propiedad de los pesos. Tenemos que ver es que
todas las las de G
r
tienen peso 2
r1
.
Notese que G
2
tiene 2
2
1, columnas as que, por construccion, G
r
tiene
2
r
1 columnas. Vamos con el argumento sobre el peso. Es claro que todas
las las de G
2
tienen peso 2
21
= 2. Supongamos que todas las las de G
r1
tienen peso 2
r2
(de hecho el subespacio que generan). Analizando la matriz G
r
un simple argumento de induccion nos muestra que cada una de sus las tiene
peso 2
r1
. Vamos ahora con las combinaciones lineales. Es muy importante
tomar en cuenta que no es cierto que cualquier combinacion lineal de vectores
de peso 2
r1
tiene otra vez ese peso y ademas, es obvio. La propiedad proviene
de la forma como esta construida la matriz. Cualquier combinacion lineal de la
segunda la 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 la y cualquier combinacion lineal de las otras tiene el peso
deseado. Pero eso es facil de comprobar.
5.2. Codigos de Golay
Los codigos de Golay fueron propuestos por M. J. E. Golay en 1949. Hay
binarios y ternarios. Los binarios se denotan (
24
, un [24, 12, 8]-lineal y (
23
, un
[23, 12, 7] codigo. El segundo se obtiene pinchando el primero. Los ternarios se
denotan (
12
y el (
11
.
Codigos de Golay binarios
Se construye la matriz G
24
= (I
12
[A
1212
) donde la matriz A tiene una la
caja inferior derecha de 11 11 y se escribe en la primera la, en la posicion i
un 1 si i es cuadrado modulo 11 y un 0 en caso contrario. Despues se hace un
recorrido (shift) en direccion (). As que el bloque tiene forma cclica.
A =
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
0 1 1 1 1 1 1 1 1 1 1 1
1 1 1 0 1 1 1 0 0 0 1 0
1 1 0 1 1 1 0 0 0 1 0 1
1 0 1 1 1 0 0 0 1 0 1 1
1 1 1 1 0 0 0 1 0 1 1 0
1 1 1 0 0 0 1 0 1 1 0 1
1 1 0 0 0 1 0 1 1 0 1 1
1 0 0 0 1 0 1 1 0 1 1 1
1 0 0 1 0 1 1 0 1 1 1 0
1 0 1 0 1 1 0 1 1 1 0 0
1 1 0 1 1 0 1 1 1 0 0 0
1 0 1 1 0 1 1 1 0 0 0 1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
58 CAP

ITULO 5. TIPOS ESPECIALES DE C

ODIGOS LINEALES
Con esta matriz G
24
genera un codigo que llamaremos codigo de Golay (
24
.
Vamos a ver algunas de sus propiedades. Una propiedad importante es que
G
24
G
t
24
= 0, porque A es binaria, simetrica y con cada la de peso impar;
luego es nilpotente. A un mas, lo anterior implica que (A[I) tambien es matriz
generadora de G
24
.
Otra propiedad notable se reere a los pesos. La la G
24
(1; ) tiene peso 12;
mientras que las 11 las restantes tienen peso 8. Vamos a probar que, de hecho,
el peso mnimo es 8.
5.2.1. Lema. Si C es un codigo auto ortogonal cuya matriz generadora tiene
cada la con peso m ultiplo de 4 entonces toda palabra tiene peso m ultiplo de 4.
Demostracion. Basta analizar la Observacion 2.1.8 (3)
Toda palabra de (
24
se puede escribir de la forma v = (a[b), con a, b F
12
2
.
Ademas, si v = (a[b) es una palabra, tambien lo sera u = (b[a). Por el lema
anterior todas las palabras de (
24
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 G
24
esta en forma tpica y v = xG
24
se tiene
que a = 0 implica b = 0, luego v = 0.
Caso 2. Si (a) = 1 entonces v es una la de G
24
, que tiene peso mayor o
igual a 8.
Caso 3. Si (a) = 2 entonces v es combinacion lineal de dos las de G
24
, y
una comprobacion 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 (
24
es un [24, 12, 8]-codigo binario.
El codigo (
23
Por (3.5.2) sabemos que si pinchamos (
24
en la ultima coordenada (de he-
cho en cualquiera) y extendemos (a la que pinchamos) entonces recuperamos
el codigo original. Pinchando (
24
obtenemos un [23, 12, 7]-codigo lineal, que lla-
maremos (
23
.
C odigos de Golay ternarios
El codigo de Golay ternario (
12
es el [12, 6]-codigo sobre F
3
con matriz
G
12
= (I
6
[A), donde
A =
_
_
_
_
_
_
_
_
_
_
0 1 1 1 1 1
1 0 1 1 1 1
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. C

ODIGOS DE REED-MULLER (BINARIOS) 59


Se puede comprobar directamente cada una de las siguientes propiedades.
5.2.2. Proposicion. Las siguientes condiciones ocurren.
1. A
t
= A y que A
2
= I. Luego (
12
es autodual.
2. (
12
es un [12, 6, 6]-codigo lineal.
3. El codigo ternario (
11
que obtenemos de pinchar (
12
en la ultima coorde-
nada es un [11, 6, 5]-codigo lineal perfecto.
4. Si pinchamos en cualquier otra coordenada no salen c odigos equivalentes.
5. Si pinchamos en cualquier coordenada y luego extendemos con el dgito de
paridad recuperamos un c odigo equivalente a (
12
.
De hecho, incluso hay equivalencia con codigos que no sean lineales.
5.2.3. Teorema. Todo codigo de parametros (12, 3
6
, 6)-es equivalente a (
12
, y
todo codigo de parametros (11, 3
6
, 5)-es equivalente a (
11
5.3. Codigos de Reed-Muller (binarios)
Los propusieron por separado (en trabajos independientes) I. S. Redd y D.
E. Muller en 1954. Existe tambien la denicion de codigo de Reed-Muller sobre
cuerpos con otra caracterstica.
Su distancia mnima es muy peque na pero se decodican muy facilmente.
Hay muchas maneras de construirlos. Una de ellas se basa en la construccion de
Plotkin (2.3.10).
Construccion
Elegimos un natural m N 0 y 0 r m.
Para cada m, vamos a denir m+ 1-codigos que denotaremos
1(0, m), . . . , 1(m, m).
Les llamaremos codigos RM de longitud 2
m
. Lo haremos por induccion:
Primer paso: 1(0, m) es el codigo de repeticion y 1(m, m) = F
2
m
2
, el espacio
completo.
Ahora,
1(r, m) = (u [ u +v) [ u 1(r, m1), v 1(r 1, m1) ,
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) = I
2
m
60 CAP

ITULO 5. TIPOS ESPECIALES DE C

ODIGOS LINEALES
y luego,
G(r, m) =
_
_
G(r, m1) G(r, m1)
0 G(r 1, m1)
_
_
Una de las grandes ventajas de los codigos RM es que sus parametros se
calculan por formula.
5.3.1. Teorema. Sea m > 0 y 0 r m. Entonces,
1. 1(i, m) 1(j, m), para 0 i j < m.
2. La dimensi on es
dim
F
2
(1(r, m)) =
r

i=0
_
m
i
_
.
3. El peso mnimo es (1(r, m)) = 2
mr
.
4. El ortogonal es 1(m, m)

= (0) y si 0 r < m entonces


1(r, m)

= 1(mr 1 , m) .
Demostracion. (1) Inmediata por induccion. Primero se prueba que 1(0, 1)
1(1, 1), con eso se tiene que 1(j, m) 1(j + 1, m) y de aqu, sale.
(2) Primero, dim1(0, m) = 1 =
_
m
0
_
. Ahora, notese que
dim1(m, m) = 2
m
=
m

i=0
_
m
i
_
= (1 + 1)
m
.
Por (3.5.6) sabemos que dim1(j, m) = dim1(j, m1)+dim1(j 1, m1).
Usando esta igualdad, la hipotesis de induccion, que es
dim1(j, m1) =
j

i=o
_
m1
i
_
y dim1(j 1, m1) =
j1

i=o
_
m1
i
_
y las igualdades de los coecientes binomiales
_
m1
0
_
=
_
m
0
_
= 1 y
_
m1
i
_
+
_
m1
i 1
_
=
_
m
i
_
nos dicen que
dim1(j, m) =
j

i=o
_
m
i
_
.
(3) Sabemos por (2.3.10) que
d (1(r, m)) = mn2d (1(r, m1)) , d (1(r, m)) .
Por induccion. Si
d (1(r, m1)) = 2
m1r
5.3. C

ODIGOS DE REED-MULLER (BINARIOS) 61


y
d (1(r 1, m1)) = 2
m1(r1)
= 2
mr
entonces
2d (1(r, m1)) = d (1(r 1, m1)) = 2
mr
y se tiene el resultado.
(4) Que 1(m, m)

= 0 es obvio. El otro lo haremos por induccion.


Como
_
m
i
_
=
_
m
mi
_
entonces
dim1(mr 1, m) =
mr1

j=0
_
m
j
_
=
m=(m0)

r+1=m(mr1)
_
m
j
_
.
Luego
dim1(r, m) + dim1(mr 1, m) =
r

0
_
m
j
_
+
m

r+1
_
m
j
_
= 2
m
.
Por tanto, basta probar que 1(mr 1, m) 1(r, m)

. Sabemos que
1(mr 1, m) = (u[u +v) [ u 1(mr 1, m1),
v 1(mr 2, m1)
1(r, m) = (u[u +v) [ u 1(r, m1), v 1(r 1, m1) .
Sean (u[u + v) 1(r, m) y (x[x + y) 1(m r 1, m). Por hipotesis de
induccion ux = 0 = vx y por el apartado (1), v 1(r, m 1). Analogamente,
uy = vy = 0 luego y 1(mr 1, m1) tambien.
5.3.2. Observaciones.
1. Como 1(0, m) es el codigo de repeticion, 1(m 1, m) = 1(0, m)

es el
codigo de todos los vectores pares de F
2
m
2
.
2. Si m es impar, m = 2r + 1, entonces por los apartados (3) y (4), del
teorema anterior se tiene que 1(r, m) = 1(
m1
2
, m) es autodual con peso
mnimo 2
m1
2
.
62 CAP

ITULO 5. TIPOS ESPECIALES DE C

ODIGOS LINEALES
Captulo 6
Cuerpos nitos
6.1. Suma y producto en cuerpos nitos
Damos por conocidos los conceptos de anillo eucldeo, dominio de factoriza-
cion unica, cuerpo, extension 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 p)
F[X] es maximal y por tanto, el cociente F[X]/p) es un cuerpo. Finalmente, si
K/F es una extension y K, recordemos que la correspondencia p(X) p()
es un homomorsmo de anillos, F[X]

K, que llamamos el homomorsmo


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 nito es un cuerpo. El siguiente resultado es
menos conocido y las demostracion es demasiado larga como para reproducirla
aqu. La omitiremos porque no inuye en el desarrollo del tema.
6.1.1. Teorema [Wedderburn]. Todo anillo de division nito es un cuerpo.
Unas observaciones sobre la caracterstica.
6.1.2. Proposicion. Sea K un cuerpo. La correspondencia : Z K tal que
(n) = 1+
(n)
+1 es homomorsmo de anillos.
Demostracion. Trivial,
(n m) = 1+
(nm)
+1 =
_
1+
(n)
+1
_
+
(m)
+
_
1+
(n)
+1
_
= (n)+
(m)
+(n) = (factorizo) = (n)
_
1+
(m)
+1
_
= (n)(m)
63
64 CAP

ITULO 6. CUERPOS FINITOS


6.1.3. Observacion. Para todo cuerpo K, Car (K) = mnn N [ (n) = 0.
6.1.4. Proposicion. Sea K un cuerpo nito. Entonces Car (K) es un n umero
primo.
Demostracion. Inmediato del hecho de que Z/ ker K. (Todo dominio nito
es un cuerpo.)
6.1.5. Corolario. Si F es un cuerpo tal que [F[ = p, con p primo, entonces
F

= Z
p
.
As que podemos hablar de el cuerpo con p elementos.
6.1.6. Notacion. Sea p un n umero primo. Denotamos con F
p
al cuerpo con p
elementos.
6.1.7. Observacion. Si F es un cuerpo de caracterstica p entonces claramente
F
p
F.
6.1.8. Denicion. En la situacion anterior, a la imagen de F
p
se le llama el
subcuerpo primo de F.
Mas adelante veremos que es unico.
6.1.9. Denicion. Sea K/F una extension. El grado de la extension es la di-
mension que tiene K como F-espacio vectorial. Se denota [K : F].
6.1.10. Denicion. Una extensi on K/F decimos que es nita si el grado es un
n umero natural.
Obviamente, en cuerpos nitos las extensiones han de ser nitas.
6.1.11. Teorema. Sea F un cuerpo nito. Entonces, [F[ = p
t
, donde p =
Car(F).
Demostracion. Trivial; ademas, t = dim
F
p
(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. Proposicion. Sea F un cuerpo con Car (F) = p. Entonces, para cua-
lesquiera r, s F se tiene
(r +s)
p
t
= r
p
t
+s
p
t
.
Demostracion. Inmediato del binomio de Newton, pues
_
p
t
i
_
=
_
0 si i ,= 0, p
t
1 otro caso.
en F.
Por la proposicion anterior, se tiene entonces que la correspondencia r r
p
es un automorsmo.
6.2. POLINOMIOS Y N

UMEROS ALGEBRAICOS 65
6.1.14. Denicion. El automorsmo r r
p
de F
p
se conoce como el auto-
morsmo de Frobenius. Se denota
p
.
Mas adelante veremos que todo automorsmo de un cuerpo nito es potencia
del automorsmo de Frobenius.
6.1.15. Teorema. Para todo cuerpo F, el grupo multiplicativo F

= (F, ) es
cclico.
Demostracion. Suponemos que [F[ = q > 3, si no, se hacen las cuentas.
Sea h = q 1 = p

1
1
p

m
m
la descomposicion en factores primos. Recorde-
mos que q 1 = [F

[.
Para cada 1 i m, consideremos el polinomio X
h
p
i
1. Este polinomio
tiene a lo mas,
h
p
i
-races en F. Como
h
p
i
< h, entonces que hay elementos en F
que no son races de X
h
p
i
1. Sea a
i
uno de esos elementos.
Ahora, hacemos b
i
= a
(h/p

i
i
)
i
. Es claro que a
(h/p

i
i
)
i
,= 1; ademas, b
p

i
i
i
= a
h
=
1; luego o (b
i
) [ p

i
i
. Por otra parte, para cualquier 0
i
, a
(h/p
(
i

i
)
i
)
i
,= 1,
luego o (b
i
) = p

i
i
. Hacemos b =

m
i=1
b
i
. Finalmente, se puede comprobar de
forma directa que o(b) = h.
Curiosamente, se tiene entonces que para un cuerpo nito F, el grupo aditivo
es elemental abeliano, mientras que el multiplicativo es cclico.
6.1.16. Denicion. A todo generador del grupo multiplicativo F

se le llama
elemento primitivo de F.
6.1.17. Lema. Sea F un cuerpo con q = p
t
elementos. Entonces todo r F
verica r
q
= r.
Demostracion. 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. Denicion. Sea K/F una extension. Un elemento K decimos que
es algebraico sobre F si existe f F[X] tal que f ,= 0, pero f() = 0.
6.2.2. Teorema [Kronecker]. Sea F un cuerpo y f F[X] un polinomio no
constante. Entonces existe una extension K/F donde f tiene una raz.
Demostracion. Sea g un factor irreducible de f. Entonces F[X]/g) = K es
un cuerpo. Claramente, la composicion F F[X]

g
K es homomorsmo
inyectivo de anillos con uno, donde k kX
0
k +g). Hagamos = X +g)
y notemos que la evaluacion 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 extension K/F donde f
tiene todas sus races, que son, como sabemos, salvo multiplicidad, gr(f).
66 CAP

ITULO 6. CUERPOS FINITOS


Demostracion. Basta notar que se pueden ir construyendo K
1
K
2
K
n
extensiones con el teorema de Kronecker, con
1
, . . .
n
, las races construidas
en dicho resultado. El proceso se detiene cuando se llega, digamos, a K
n
(con
n gr(f)), el primero que tiene todas las races. La factorizacion del polinomio
por las races hace el resto.
En la situacion anterior, si gr(f) = n, se tiene que K
n
= F(
1
, . . . ,
n
).
6.2.4. Ejemplo. Hacemos F = Z
2
, f = X
2
+X+1. Sea tal que
2
++1 = 0.
Entonces
3
= 1. F
4
=
_
a +b [
2
+ + 1 = 0 ; a, b F
_
es una extension
de Z
2
de cuatro elementos. Podemos hacer las tablas de sumar y multiplicar.
6.2.5. Denicion. Sea F un cuerpo y f F[X]. Un cuerpo de descomposicion
de f sobre F es aquel generado por F y todas las races de f.
6.2.6. Teorema. Sea K/F una extension 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 monico.


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 unico generador monico.



Ese es
m

(X) y se tiene I

= m

). 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)
tambien vivira en I

y tendra
grado menor, lo cual es imposible.
6.2.7. Denicion. Sea F un cuerpo y un elemento algebraico sobre F. Al
polinomio m

se le llama polinomio mnimo de sobre F.


Las races estan agrupadas en potencias del orden del cuerpo, como establece
el siguiente resultado.
6.2.8. Proposicion. Sea K/F una extension y K una raz de f F[X]. Si
[F[ = q entonces
q
es raz de f.
Demostracion. Inmediata del Lema 6.1.17.
6.2.9. Denicion. Sea K/F una extension. 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 descomposicion de f en F entonces [K : F] = r.
2. Todas las races de f son simples y dadas por los r elementos distintos
,
q
, . . . ,
q
r1
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
escision donde pertenezca.
Demostracion. 1. Consideremos el isomorsmo F()

= F[X]/f) inducido por
la evaluacion. Es inmediato que dim
F
(F[X]/f)) = r, as que [F() : F] = r.
2. Considero ,
q
, . . . ,
q
s1
con
q
s
= , el primero. Es inmediato que s r.
Consideremos cualquier elemento primitivo F(). Entonces hay una escritura
=

a
i

k
i
, con a
i
F y k
i
q
s
. Ahora,
q
s
=

a
i

k
i
q
s
=

a
i

k
i
= y por
tanto r s. As que s = r. Luego ,
q
, . . . ,
q
r1
son todos distintos y ademas

q
i
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,
m

(X) =
s1

i=0
_
X
q
i
_
donde s es el primer natural tal que
q
s
= ; que, de hecho, es el grado del
polinomio mnimo.
Demostracion. 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 extension de grado r y sea un elemento
primitivo de K, con polinomio mnimo m

sobre F. Entonces r = gr (m

)
Demostracion. Inmediata de los Teoremas 6.2.6 y 6.2.10
6.3. Existencia y unicidad.
En esta seccion vamos a demostrar la existencia y la unicidad de los cuerpos
nitos. Lo haremos en dos partes. Primero probaremos el resultado para cuerpos
de escision y luego lo aplicaremos a los cuerpos nitos en general. De hecho,
veremos que todo cuerpo nito 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 escision]. Sea F un cuerpo y f
F[X]. Cualesquiera dos cuerpos de descomposici on de f sobre F son isomorfos.
Demostracion. 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]/g) y el
isomorsmo compuesto entre ellos es la correspondencia
i
l. A partir de ah,
68 CAP

ITULO 6. CUERPOS FINITOS


si hay mas 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 descomposicion de f sobre K, salvo isomorsmo.
6.3.3. Lema. Sea F un cuerpo nito con q elementos y F
p
su subcuerpo primo.
Entonces, el polinomio X
q
X F
p
[X] se factoriza como
X
q
X =

rF
(X r) ;
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. Observacion. Recordemos que si un polinomio sobre cualquier cuerpo
tiene races m utiples entonces la derivada no puede ser constante distinta de
cero. Veamoslo. Supongamos que r F es dicha raz. Si f = gh y f

= c F
entonces g

h +gh

= c, luego 0 = g

(r)h(r) +g(r)h

(r) = c; contradiccion.
6.3.5. Teorema [Existencia y unicidad de los cuerpos nitos]. Para cual-
quier primo, p y cualquier natural, t, existe un cuerpo nito con p
t
elementos.
Cualquier cuerpo nito con q = p
t
elementos es isomorfo a un cuerpo de
descomposicion (o escision) del polinomio X
q
X sobre F
p
.
Demostracion. Existencia: Considerese el polinomio X
q
X F
p
[X]. Como
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 F
p
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 denicion de cuerpo de descomposicion; as que L = F.
Unicidad: Inmediato del hecho de que todos los cuerpos nitos son cuerpos
de descomposicion, junto con la unicidad de estos (6.3.1).
6.3.6. Observacion. Hemos probado entonces que todo cuerpo nito con q =
p
t
elementos es el cuerpo de descomposicion de X
q
X en F
p
.
6.3.7. Notacion. Para q = p
t
, con p, primo, denotamos al cuerpo (salvo iso-
morsmo) con q elementos con F
q
.
6.3.8. Teorema. Sea p un n umero primo; t, r n umeros naturales, y F
p
t y F
p
r
cuerpos nitos. Entonces F
p
t es (isomorfo a) un subcuerpo de F
p
r si y solo si
t[r.
Demostracion. Sea un elemento primitivo de F
p
r . Supongamos primero que
t[r. Entonces, es sabido que (p
t
1)[(p
r
1) y por tanto F

p
r tiene un subgrupo
de orden p
t
1, con el cual se forma un subcuerpo de la forma F
p
t .
6.4. EJEMPLOS 69
Recprocamente, supongamos que tenemos un subcuerpo de F
p
r de la forma
F
p
t . Entonces tambien se tiene que F

p
t
F

p
r de donde (p
t
1)[(p
r
1) y por
tanto t[r.
As que si tenemos un extensi on cualquiera L/K, los resultados anteriores
nos dicen que ha de ser de la forma F
q
s/F
q
con q = p
t
y s = r/t. Considero un
elemento primitivo de F
q
s, digamos . Entonces
F
q
s =
_
0, 1, , . . . ,
q
s
2
_
.
Haciendo k =
q
s
1
q1
se tiene que
F
q
=
_
0, 1,
k
,
2k
, . . . ,
(q1)k1
_
y ademas F
q
s = F
q
() = F
p
(). De inmediato se desprende entonces que
6.3.9. Teorema. Toda extension L/K de cuerpos nitos es algebraica y simple.
Demostracion. Inmediato del hecho de que 1 + + +
q1
= 0.
As que los cuerpos ntos estan organizados en torres mas o menos as (con
contenciones unicas)
F
p

*
H
H
H
HY 6
F
p
2 F
p
3 . . .

*
6

*
6
F
p
4 F
p
6 F
p
9
. . .
6.4. Ejemplos
Comencemos con F
2
= 0, 1, y consideremos el polinomio
X
2
2
X = X
4
X = X (X + 1)
_
X
2
+X + 1
_
.
Aqu, X
2
+X +1 es el unico irreducible de grado 2. Sea una raz de dicho
polinomio. Entonces
2
+ + 1 = 0 y con ella construimos
F
4
=
_
0, 1, ,
2
[
2
+ + 1 = 0
_
=
_
0, 1, ,
2
[
3
= 1
_
.
O bien,
F
4
= F
2
() = a +b [ a, b F
2
.
70 CAP

ITULO 6. CUERPOS FINITOS


Ahora vamos a extender F
2
a F
2
4. Consideramos la factorizacion
X
2
4
X = X (X + 1)
_
X
2
+X + 1
_ _
X
4
+X
3
+ 1
_

_
X
4
+X + 1
_ _
X
4
+X
3
+X
2
+X + 1
_
en irreducibles en F
2
[X].
Para construir una extension de F
2
, de grado 4, los polinomios de grado 1 y
2 no sirven. Vamos a los de grado 4. Sea una raz cualquiera de alguno de los
polinomios de grado 4. Las races seran
_
,
2
,
2
2
,
2
3
_
.
Ahora tenemos dos caminos:
Primero. Hacemos,
X
4
+X
3
+ 1 = (X +)
_
X +
2
_
_
X +
2
2
__
X +
2
3
_
= 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 F
2
4. Es un poco rollo; o mas bien mucho.
Otra forma. Hacemos
F
2
4 =
_
a
1
+a
2
+a
3

2
+a
4

3
[ a
i
F
2
;
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 F
2
4, extendiendo F
2
2 en vez
de F
2
. Veamos.
6.5. EL ANILLO F[X]/(X
N
1) 71
Tenemos F
2
2 =
_
0, 1, ,
2
_
, y q = 2
2
= 4. Sabemos que F
2
4 es una extension
que se construira con un irreducible de grado 2 = [F
2
4 : F
2
2]. Esos irreducibles
seran divisores de X
q
2
X o sea,
X
4
2
X = X (X + 1)
_
X
2
+X + 1
_ _
X
4
+X
3
+ 1
_ _
X
4
+X + 1
_
_
X
4
+X
3
+X
2
+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 verica la ecuacion
anterior), digamos .
Tenemos

2
+ + = 0 y
2
+ + 1 = 0.
De aqu sacaremos toda la tabla.
Entonces F
2
4 = a +b [ a, b F
2
2; y las relaciones anteriores
Vamos a hacer tambien la tabla completa para construir todo otra vez como
potencias de .
Tenemos
0, 1,
y ademas,

2
= +

3
=
2
= =
2
+

4
=
_

2
_
2
= = +

5
=

6
=

7
=
2

5
= =
2
+
2

8
=
_

4
_
2
= = 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)
El objetivo de esta seccion es describir el anillo cociente R
n
= F[X]/X
n
1)
y la relacion con las races de X
n
1. Los codigos cclicos seran identicados
como ideales de R
n
.
6.5.1. Denicion. Sea n N, y consideremos el cuerpo F = F
q
.
72 CAP

ITULO 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. Proposicion.
1. Si F es un elemento primitivo entonces es una raz (q 1)-esima
primitiva de 1.
2. F tiene una raz n-esima primitiva de la unidad si y solo si n [ (q 1).
Demostracion. Inmediata del hecho de que F

es cclico.
6.5.3. Denicion. Sea n N con mcd(q, n) = 1. Sea 0 s n. La clase
q-ciclotomica de s modulo n es:
C
s
=
_
s, sq, . . . , sq
r1
_
donde r = mnt N [ sq
t
s mod n.
6.5.4. Observaciones.
1. Considerese G =
_
q
i
_
iZ
actuando en Z
n
, a traves de x xq
i
Z
n
. Los
C
s
son las orbitas de esta accion y por tanto forman una particion de Z
n
.
2. Sean n, k n umeros naturales, tales que (n, q) = 1 y n [ q
k
1. Entonces
F

q
k
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 C
s
_
tendremos que
s
es una particion para
y cualesquiera dos elementos de un
i
son conjugados.
A un mas, como para todo f F[X] ocurre que f
_

iq
_
= f
_

i
_
q
entonces
tambien ocurrira que cada clase q-ciclotomica corresponda con un solo polinomio
mnimo; es decir,
6.5.5. Teorema. Sea F
q
r una raz n-esima de 1 (entonces mcd(n, q) = 1).
Entonces:
1. Para cada 0 s n el polinomio mnimo de
s
en F
q
se factoriza en
F
q
r [X] como
m

s(X) =

iC
s
_
X
i
_
donde C
s
es la clase q-ciclotomica de s modulo n.
2. As que la factorizacion de X
n
1 en F
q
[X] es
X
n
1 =

sS
m

s(X)
donde o es un juego completo de representantes de las clases q-ciclotomi-
cas modulo n.
6.5. EL ANILLO F[X]/(X
N
1) 73
Demostracion. Es consecuencia directa de (6.2.10). Veamos. Sea =
s
y su-
pongamos que gr(m

) = m. Por dicho teorema, , . . . ,


q
m1
son todas las races
de m

y ademas, por el argumento de la demostracion, se cumple que


q
m
=
y m es el primero con la propiedad. De ah que C
s
=
_
s, sq, . . . , sq
m1
_
. Notes
que gr(m

) = [C
s
[.
Sea una raz n-esima primitiva de 1. Se considera o un juego completo
de representantes de las clases q-ciclotomicas. Claramente, para cada s o,

s
es raz de X
n
1 y por tanto

sS
m

s(X) [ (X
n
1). Finalmente, como
n =

sS
[C
s
[ =

sS
gr (m

s) se tiene la igualdad.
6.5.6. Observaciones. Ahora vamos a hacer una lista de hechos que sabemos
o podemos probar muy facilmente:
1. Si mcd(n, q) = 1 entonces X
n
1 no tiene races m ultiples.
2. Sea R
n
= F[X]/(X
n
1). Si I R
n
, existe g F[X], monico, tal que
g [ (X
n
1) e I = g).
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 R
n
, si ocurre 1 = ag +bh, con gh = 0 entonces e = ag es idempotente,
con bh = 1 e.
5. Por tanto, R
n
es semi simple y conmutativo. Por el Teorema de Wed-
derburn R
n
es producto de cuerpos. (Esto tal vez no se conozca, pero lo
veremos explcitamente.)
6.5.7. Denicion. Sea I un ideal de R
n
. Al polinomio monico g [ X
n
1 de
la Observacion 6.5.6.2 se le conoce como polinomio generador de I.
Vamos ahora a establecer la relacion entre los ideales del anillo R
n
y las
clases q-ciclotomicas de las races n-esimas de la unidad. Consideremos la situa-
cion 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. Denicion. En la situacion del parrafo anterior, sea I un ideal de R
n
y F
q
k 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
, Z(I).
6.5.9. Teorema. Sean q una potencia de un primo p; n, k n umeros naturales,
tales que (n, q) = 1 y k es el orden multiplicativo de q, modulo n. Sean C
i
las
clases q-ciclotomicas de q, m odulo n, y F
q
k una raz n-esima primitiva de
la unidad. Entonces
74 CAP

ITULO 6. CUERPOS FINITOS


1. Todo ideal I de R
n
determina una unica union de clases ciclotomicas
D(I) = C
i
1
C
i
r
, de tal manera que
Z

=
_

j
[ j D(I)
_
2. Recprocamente, toda reunion de clases q-ciclotomicas modulo n, D =
C
i
1
C
i
r
determina un unico ideal I de R
n
, dado por
I =
_
p R
n
[ p(
j
) = 0, j D
_
Demostracion. Inmediata.
6.5.10. Teorema. Sean I, J ideales de R
n
con polinomios generadores g, h,
respectivamente. Entonces:
1. I J si y solo 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).
Demostracion. Basta hacer las cuentas.
6.5.11. Proposicion. Sean n y q, coprimos, como siempre. Sean C
i
1
, . . . , C
i
s
las distintas clases q ciclotomicas de la unidad, con i
1
, . . . , i
s
un juego completo
de representantes. Sea una raz n-esima primitiva de la unidad y sea m
j
el
polinomio mnimo de
i
j
. Considerese la descomposicion X
n
1 =

s
j=1
m
j
.
Hacemos u
j
=
X
n
1
m
j
. Entonces. Hacemos u
i
=
X
n
1
m
i
. Entonces
1. Existen a
i
, b
i
tales que 1 = a
i
m
i
+b
i
u
i
.
2. R
n
m
i
= R
n
a
i
m
i
y R
n
u
i
= R
n
b
i
u
i
.
3. R
n
m
i
es maximal y R
n
u
i
es minimal.
4. R
n
u
i

= R
n
/R
n
m
i

= F
q
[X]/(m
i
)

= F
q
gr(m
i
) .
Demostracion. Las tres primeras son inmediatas. Para la ultima es el segundo
teorema de isomorfa; esto es, R
n
/R
n
m
i

= (F
q
[X]/(X
n
1) / ((m
i
)/(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 C
i
1
, . . . , C
i
s
las
distintas clases q ciclotomicas de la unidad, con i
1
, . . . , i
s
un juego completo
de representantes. Sea una raz n-esima primitiva de la unidad y sea m
j
el
polinomio mnimo de
i
j
. Considerese la descomposicion X
n
1 =

s
i=1
m
i
.
Hacemos u
j
=
X
n
1
m
j
. Entonces
6.5. EL ANILLO F[X]/(X
N
1) 75
1. R
n
= R
n
u
1
R
n
u
s
.
2. R
n
u
i

= F
q
gr(m
i
) .
Demostracion. Inmediata.
Como gr(m
i
) = [C
i
[ entonces se tiene
6.5.13. Corolario. Sean C
1
, . . . , C
s
las distintas clases q-ciclotomicas modulo
n. Entonces
F[X]/(X
n
1)

=
s

i=1
F
q
|C
i
| .
6.5.14. Corolario. Si mcd(n, q) = 1 entonces R
n
es un producto de cuerpos.
6.5.15. Ejemplo. Consideramos F
2
y n = 7.
Usando el Corolario 6.5.13, calculamos las clases 2-ciclotomicas modulo 7.
Son C
0
= 0, C
1
=
_
1, 2, 2
2
_
, C
3
=
_
3, 3 2, 3 2
2
_
. La estructura es:
R
7
= F
2
[X]/(X
7
1)

= F
2
F
2
3 F
2
3.
Ahora viene la parte ardua que es calcular los idempotentes de la descom-
posicion.
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-
ciclotomicas, modulo 7, hay tres factores irreducibles que se construyen, usando
a , una raz septima de 1, as:
1. El de C
0
, que es X + 1.
2. El de C
1
que es (X +)
_
X +
2
_ _
X +
4
_
= X
3
+
_

4
+
2
+
_
X
2
+
_

6
+
5
+
3
_
X + 1.
3. El de C
3
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 coecientes de los polinomios
4
+
2
+
y
3
+
5
+
6
viven en F
2
, luego son 0 o 1. Pero, desafortunadamente, no podemos
saberlo con un metodo jo; 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
2
+ 1)(X
3
+x + 1). Entonces
m
1
= X + 1 u
1
= X
6
+ +X
2
+X + 1
m
2
= X
3
+X
2
+ 1 u
2
= X
4
+X
3
+X
2
+ 1
m
3
= X
3
+X + 1 u
3
= X
4
+X
2
+X + 1
De aqu, todava faltara hacer las identidades de Bezout para obtener los
idempotentes.
76 CAP

ITULO 6. CUERPOS FINITOS


6.6. Automorsmos
6.6.1. Denicion. El grupo de Galois, como siempre, es Gal (F) el grupo de
los automorsmos junto con la composicion.
Si F
q
s/F
q
es una extension, denotamos con Gal (F
q
s/F
q
) los automorsmos
de Gal (F
q
s) que dejan jo a F
q
.
Por (6.1.14) se tiene
6.6.2. Observacion. Un automorsmo de Frobenius es un elemento

p
Gal (F
p
r ) .
Notese que
p
r =
p

(r)
. . .
p
tiene sentido.
Vamos a describir a Gal (F
q
).
Notese que Gal (F
q
) = Gal (F
q
/F
p
).
6.6.3. Teorema. Sea p un n umero primo y r N. Entonces, Gal (F
p
r ) =
p
).
En consecuencia, es un grupo cclico de orden r.
Demostracion. Hacemos q = p y consideramos F
q
r un elemento primitivo
y m

su polinomio mnimo en F
q
. Sabemos que para cada Gal (F
q
), ()
es raz de m

y que esas races son ,


q
, . . . ,
q
r1
, as que no hay mas que
r-distintos automorsmos de
p
) = Gal (F
q
r ).
6.6.4. Corolario. Sea q = p
t
y 0 n t. Entonces x F
q
[
p
n(x) = x =
F
p
mcd(n,t) .
Demostracion. Inmediato del hecho de que x F
q
[
p
n(x) = x es un sub-
cuerpo.
Captulo 7
Codigos cclicos
7.1. Conceptos basicos
7.1.1. Denicion. Un [n, k]-codigo lineal C sobre F se llama codigo cclico si
cumple que es cerrado para permutaciones cclicas; es decir,
(x
0
, . . . , x
n1
) C (x
n1
, . . . , x
n2
) C.
7.1.2. Ejemplos. Vamos a ver algunos ejemplos muy simples
1. El codigo total y el trivial.
2. El codigo de repeticion.
3. El (0000) , (1010) , (0101) , (1111), de dimension 2.
4. El (1100) , (0110) , (0011)) en F
4
2
.
5. Sea P la matriz de permutacion cclica; es decir,
P =
_
0 I
1 0
_
y X F
n
un subconjunto arbitrario. Entonces

XP
i
[ i N
_
sera un
codigo 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. Proposicion. Un codigo lineal C F
n
es cclico si y solo si el ortogonal,
C

es codigo lineal cclico.


Demostracion. Sea P la matriz de permutacion cclica. Entonces y C


y xP
i
= 0 para todo x C y para todo i N.
Por la denicion, la matriz de permutacion es ortogonal; es decir, PP
t
= I.
Como P
n
= I entonces (P
i
)
t
= P
ni
. As, 0 =
_
yP
i
_
x
t
= y xP
ni
= 0.
77
78 CAP

ITULO 7. C

ODIGOS C

ICLICOS
7.2. Codigos cclicos y anillos de polinomios
Seguimos suponiendo que mcd(n, p) = 1. Considerese F
n
con la base canoni-
ca c
n
y R
n
= F
n
/(X
n
1), como hemos estudiado, con su base canonica
A
n
=
_
1, X, X
2
, . . . , X
n
_
(abusando de notacion, porque deberan de tener
barras).
Sea : c
n
A
n
tal que (e
i
) = X
i1
, i = 1, . . . , n. Esta correspondencia
induce un isomorsmo
: F
n
R
n
que dejaremos en notacion ja.
7.2.1. Proposicion. En la situaci on anterior (con ja), sea C F
n
un
codigo lineal. Entonces C es cclico si y solo si (C) es ideal en R
n
.
Demostracion. Inmediata del siguiente diagrama conmutativo.
F
n
R
n
F
n
R
n
? ?
-

P x o x

1
Como ejemplos de codigos cclicos tenemos los ideales obtenidos en el Ejem-
plo 6.5.15.
Como hemos comentado, la denicion de codigo cclico nos impide ver al
codigo
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 : F
4
R
4
con (e
1
) = 1, (e
2
) = X
2
, (e
3
) =
X, (e
4
) = X
3
se puede comprobar facilmente que (D) es ideal en R
n
.
A un mas, los unicos isomorsmos entre F
n
y R
n
que pueden interesar han
de preservar pesos y en consecuencia mandaran la base canonica F
n
en la de
R
n
, pues son los unicos con peso 1.
7.2.2. Proposicion. Un codigo C F
n
lineal es equivalente a un codigo cclico
si y s olo si existe un isomorsmo entre F
n
y R
n
que restringe a una biyeccion
de las bases canonicas.
Demostracion. Inmediata.
A partir de ahora, cuando digamos que C es un codigo cclico, entenderemos
C R
n
= F
n
, abusando de las notacion.
7.2. C

ODIGOS C

ICLICOS Y ANILLOS DE POLINOMIOS 79


7.2.3. Observacion. Repasemos lo que acabamos de ver sobre los ideales en
R
n
. Fijamos una raz n-esima primitiva de la unidad, digamos , y consideramos
las clases q-ciclotomicas modulo n, C
i
1
, . . . , C
i
s
, con o = i
1
, . . . , i
s
un juego
completo de representantes. Sean, como siempre, m
j
= m

i
j
(X) los polinomios
mnimos y u
j
=
X
n
1
m
j
. Sabemos por el Teorema 6.5.12 que los R
n
u
j
son todos los
ideales minimales y que cada R
n
u
j

= F
q
gr(m
j
) = F
q
|C
j
| . Por tanto, dim
F
R
n
u
j
=
gr(m
j
) = [C
j
[.
Sea ahora I R
n
un codigo cclico. Por la Observacion 6.5.6, existe un
polinomio generador (monico) g F[X] tal que I = g) y g [ X
n
1; por eso
abusamos de la notacion y escribimos g en vez de g. Si h =
X
n
1
g
entnces existen
o
1
y o
2
, una particion de o tal que (6.5.5) g =

jS
1
m
j
y h =

kS
2
m
k
;
ademas,
R
n
g =

kS
2
R
n
u
k

=

kS
2
F
q
gr(m
k
)

=

kS
2
F
q
|C
k
| .
De aqu, dim
F
R
n
g = n gr(g) =

kS
2
[C
k
[.
7.2.4. Proposicion. Sea C un codigo cclico en R
n
con polinomio generador
g(X) =

nk
i=0
g
i
X
i
; es decir, gr(g) = n k. Entonces
1. dim
F
C = k.
2.
_
g(X), x g(X), . . . , x
k1
g(X)
_
es base para C.
3. La matriz a continuacion es generadora de C,
G =
_
_
_
_
_
g
0
g
1
g
nk
0 0
0 g
0
g
nk

.
.
.
.
.
.
0 g
0
g
nk
_
_
_
_
_
kn
Demostracion. 1. Acabamos de verlo en la Observacion 7.2.3.
2. Es inmediato por el hecho de tener todos grados distintos. Si

k1
i=0
r
i
X
i
g(X) =
0 entonces r
k1
g
nk
X
n1
= 0, luego r
k1
= 0. Repitiendo el argumento se tiene
r
0
= = r
k1
= 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. Denicion. Sea C un codigo cclico en R
n
con polinomio generador
g(X). Llamaremos polinomio de control de C a
h(X) =
X
n
1
g(X)
es decir, gh = X
n
1 en F[X].
Usando h podemos dar una matriz de control muy facil.
80 CAP

ITULO 7. C

ODIGOS C

ICLICOS
7.2.6. Teorema. Sea C R
n
codigo cclico y h =

k1
i=0
h
i
X
i
su polinomio
de control. Entonces la siguiente matriz es matriz de control para C,
H =
_
_
_
_
_
h
k
h
k1
h
0
0 0
0 h
k
h
0

.
.
.
.
.
.
0 h
k
h
0
_
_
_
_
_
nkn
;
es decir,
H = (a
ij
)
nkn
[ a
ij
=
_

_
0 si j i < 0
h
k(ji)
si 0 j i k
0 si k < j i
Demostracion. Sea c = c(X) un elemento de C. Entonces c = gp, donde g es
el generador, y g un polinomio en R
n
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 coecientes
de los terminos de grado k, . . . , n 1 cero. Supongamos que p =

i=0
k

p
i
X
i
,
con k

< k. Entonces (X
n
1)p = p+X
n
p =

i=0
k

p
i
X
i
+

i=0
k

p
i
X
n+i
,
o sea, que X
k
, . . . , X
n1
tienen coecientes 0.
Es inmediato hacer la cuenta y ver que en el producto hc los coecientes de
los grados k, . . . , n 1 son precisamente las entradas del producto
H
_
_
_
p
0
.
.
.
p
n1
_
_
_ = 0
por tanto H es matriz de control.
Observese entonces que C

no necesariamente esta generado por h.


7.2.7. Denicion. Para un polinomio f(X) =

m
i=0
a
i
X
i
, se dene
f

(X) = X
m
f
_
X
1
_
= X
m

i=0
a
i
X
i
=
m

i=0
a
i
X
mi
7.2.8. Ejercicio. Probar que en la situacion de la denicion anterior
1. Si f [ g entonces f

[ g

.
2. Si g [ X
n
1 entonces g

[ X
n
1.
7.2.9. Corolario. Sea C un codigo con polinomio de control h =

h
i
X
i
.
Entonces C

tiene polinomio generador h

=
1
h(0)
h

.
7.3. CEROS DE UN C

ODIGO C

ICLICO Y MATRIZ DE CONTROL 81


7.3. Ceros de un codigo cclico y matriz de con-
trol
Sea C un codigo cclico de orden n sobre F = F
q
, con mcd(n, q) = 1, sea una
raz n-esima primtitiva de 1, y sea o un juego completo de representantes de las
clases q-ciclotomicas modulo n. Sea g(X) el generador de C (Observacion 6.5.6).
Como sabemos (6.5.5) si g(X) [ X
n
1 entonces
g =

tT S
m

t .
7.3.1. Denicion. En la situacion anterior. Denimos.
1. Los ceros de C son las races de g; es decir,

a
[ a C
t
, t T .
2. Los no ceros son las races de h =
X
n
1
g
, es decir el conjunto
_

b
[ b C
s
, s o T
_
.
7.3.2. Observacion. 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 denicion en (7.2.7).


Usando los ceros de un codigo cclico podemos construir una matriz de con-
trol.
Consideramos a C R
n
sobre F = F
q
, con mcd(n, q) = 1, con polinomio
generador g y sea, usando la notacion de la denicion anterior, T = t
1
, . . . , t
d
.
Vamos a formar la matriz
L =
_
_
_
1
t
1

2t
1
. . .
(n1)t
1
.
.
.
1
t
d

2t
d
. . .
(n1)t
d
_
_
_
|T |n
(7.3.1)
Es muy claro que si c C, visto como coordenadas, Lc
t
= 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 F
q
r el cuerpo de escision de g sobre F
q
. Ahora, expresamos
cada
t
j
como coordenadas de F
q
r visto como espacio vectorial sobre F
q
; es
decir, denotamos
t
j
las coordenadas de
t
j
. Ahora formamos
L =
_
_
_
1
t
1

2t
1
. . .
(n1)t
1
.
.
.
1
t
d

2t
d
. . .
(n1)t
d
_
_
_
|T |rn
(7.3.2)
82 CAP

ITULO 7. C

ODIGOS C

ICLICOS
Vamos a ver que es matriz de control. Primero tenemos que jar una base.
Sea u
1
, . . . , u
r
una base para F
q
r . supongamos que
mt
i
=

r
j=1
a
ji
u
j
. Como
Lc
t
= 0 entonces
0 =
n1

i=0
_
_
r

j=1
a
ji
u
j
_
_
c
i
=
r

j=1
u
j
_
n1

i=0
a
ji
c
i
_
y como los u
j
son linealmente independientes se tiene el resultado.
7.4. Codicacion y decodicacion en c odigos
cclicos
Como hipotesis general, supongamos que tenemos un codigo cclico C
R
n
tal que C = g), con g el polinomio generaodr, con gr(g) = r, as que la
dimension dimC = n r.
Comenzamos con la codicacion. Vamos a ver una decodicacion sistematica.
Supongamos que queremos codicar la palabra a
0
a
nr1
.
1. Hacemos a(X) =

nr1
i=0
a
i
X
ni1
2. Luego operamos a(X) = pg +s, con gr(s) < r.
3. Finalmente hacemos c = a s = pg.
Para decodicar, se puede proceder de la siguiente manera.
1. Se recibe un vector p R
n
.
2. Se divide p = gs + t, con gr(t) < r. Es claro que si p = c + e, entonces
existe s

R
n
tal que p = c

g +e. La unicidad del algoritmo de la division


nos dice que c = c

; luego p t es la palabra buscada.


Esta decodicacion es en realidad una decodicacion 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
= gs
i
+ t
i
, obtenidos
con el algoritmo de la division. Se puede comprobar facilmente que los X
r+i

t
i
= gs
i
son una base para C. Por los grados de los terminos lderes tenemos
independencia lineal, y por el n umero de elementos tenemos que es base.
Ahora, escribimos una matriz generadora. Si t
i
=

r1
j=0
t
i,j
X
j
G =
_
_
_
_
_
t
0,0
t
0,r1
1 0 . . . 0
t
1,0
t
1,r1
0 1 . . . 0
.
.
.
t
nr1,0
t
nr1,r1
0 0 . . . 1
_
_
_
_
_
= (T [ I)
7.4. CODIFICACI

ON Y DECODIFICACI

ON EN C

ODIGOS C

ICLICOS 83

Esta tambien es una matriz de codicacion sistematica, en forma tpica;


as que la matriz de control es H = (I [ T
t
). Uno puede comprobar con un calculo
directo que para un polinomio recibido u =

r
j=0
X
j
+

nr1
i=0
u
r+i
X
r+i
, se
tiene que H(u
0
, . . . , u
n1
)
t
son justo los coecientes del resto de la division
u = gs +t.
84 CAP

ITULO 7. C

ODIGOS C

ICLICOS
Captulo 8
Codigos clasicos que se
realizan como c odigos
cclicos
8.1. Codigos de Hamming
Recordemos la denicion de codigo de Hamming. H
q,r
tiene matriz de control
H
q,r
=
_
de cada matriz de dimension 1 de F
q
r
tomo un vector y lo pongo
_
y sabemos que hay exactamente
q
r
1
q1
.
8.1.1. Observacion. Sea H una matriz tal que
H =
_
H
1
Hq
r
1
q1
_
[r
q
r
1
q1
]
.
Si las columnas son linealmente independientes 2 a 2 entonces H es la matriz
de control de un codigo de Hamming, un
_
q
r
1
q1
,
q
r
1
q1
r, 3
_
-codigo.
8.1.2. Teorema. Todo codigo de Hamming es cclico
Demostracion. Hacemos n =
q
r
1
q1
. Vamos a ver primero que F
q
r es el cuerpo
de escision de X
n
1 sobre F
q
. Notese primero que n(q 1) = q
r
1 y n =
1 + + q
r1
, de donde n > q
r1
1. Ahora considerese una raz de X
n
1,
digamos . Entonces
n
= 1, luego
n(q1)
= 1, as que
q
r
= , de donde F
q
r
contiene al cuerpo de escision, pero n > q
r1
1 as que debe ser justo el cuerpo
de escision.
Ahora, sea una raz n-esima primitiva de la unidad y considerese la matriz
L =
_
1
(n1)
_
85
86 CAP

ITULO 8. C

ODIGOS C

ICLICOS CL

ASICOS
y expresemos esos elementos como se hizo en la Seccion 7.3 de los ceros, viendo
F
q
r como F
q
espacio vectorial,
H =
_
1
(n1)
_
Notese que F
r
q
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
_
a
(ij)
_
(q1)
= 1. Pero a F
q
, luego a
q1
= 1, as que
(ij)(q1)
= 1, de
donde n [ (i j)(q 1); pero mcd(n, q 1) = 1, luego i = j.
8.2. Codigos 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. Denicion. Sea F
q
r el cuerpo de escision de X
n
1 que contiene a F
q
y sea F
q
r una raz n-esima primitiva de la unidad. Sean 2 n y b 0.
Cambiando r, por F
q
r , tenemos cinco parametros, (q, n, , , b).
Llamamos codigo BCH de longitud n y distancia designada sobre F
q
y
lo denotamos B
q
(n, , , b) (el parametro q sale del parentesis) al codigo cclico
generado por
g(X) = mcm
_
m

b (X), m

b+1(X), . . . , m

b+2(X)
_
1. En el caso b = 1, el codigo se llama BCH en sentido restringido (narrow
sense) y se omite el ultimo parametro, es decir, se escribe B
q
(n, , )
2. Si es un elemento primitivo de F
q
r , diremos entonces que el codigo es
BCH primitivo. Notese que esto ocurre si y s olo si n = q
r
1.
Trivialmente, todo codigo de Hamming es BCH (primitivo y restringido),
con parametros b = 1, = 2, d 2.
8.2.2. Proposicion. El codigo B
q
(n, , , b) es el codigo cclico de mayor di-
mension que contiene entre sus ceros al conjunto
_

b
,
b+1
, . . . ,
b+2
_
. De
hecho, el conjunto de sus ceros esta formado por los anteriores elementos y sus
conjugados.
Demostracion. Es muy facil. Sea g(X) como en la denicion de codigo BCH.
Considero un polinomio f(X) tal que f
_

b+i
_
= 0 para todo i = 0, . . . , 2;
entonces g [ f, ya que m

b+i (X) [ f(X). As, g tiene grado mnimo y por tanto


B
q
(n, , , b) tiene dimension maxima.
8.2.3. Observacion. 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
,= 1 para todo i = 1, . . . , 1.
8.2. C

ODIGOS BCH 87
Ademas, el codigo 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 B
q
(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]-codigo cclico sobre F y sea
una raz n-esima primitiva de la unidad en el cuerpo de escision de X
n
1
sobre F. Si existen b 0 y 1 tal que
_

i
[ b i b + 2
_
son ceros de
C, entonces d .
Demostracion. Sea Z =
_

i
[ b i b + 2
_
un subconjunto de los ceros
del codigo, digamos
_

i
j
[ j = 0, . . . , k
_
. Si M es la matriz formada por los
ceros (en la extension de F
q
y p = (p
0
, . . . , p
n1
) es un vector de corcientes de
un polinomio en el codigo, se tiene que Mp = 0; es decir
_
_
_
_
_
_
_
_
_
_
_
_
_
(
i
0
)
0
(
i
0
) . . . (
i
0
)
n1
.
.
.
(
b
)
0
(
b
) . . . (
b
)
n1
.
.
.
(
b+2
)
0
(
b+2
) . . . (
b+2
)
n1
.
.
.
(
i
k
)
0
(
i
k
) . . . (
i
k
)
n1
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
_
p
0
p
1
.
.
.
p
n1
_
_
_
_
_
=
_
_
_
_
_
_
_
_
_
_
_
_
_
0
.
.
.
0
_
_
_
_
_
_
_
_
_
_
_
_
_
Escogemos una palabra p C de modo que su peso sea mnimo; es decir,
(p) = d. Elegimos un subconjunto c
1
, . . . , c
d
del conjunto de columnas de
las las correspondientes a las entradas que comienzan con
b
, . . . ,
b+2
y con
eso formamos la matriz D.
D =
_
_
_
(
b
)
c
1
. . . (
b
)
c
d
.
.
.
(
b+2
)
c
1
. . . (
b+2
)
c
d
_
_
_
Si p

es el vector proyeccion de p en los ndices de las columnas elegidas,


podemos ejecutar el producto y obtenemos Dp

= 0. Si ocurre que d 1,
podemos extraer la submatriz
=
_
_
_
(
b
)
c
1
. . . (
b
)
c
d
.
.
.
(
b+d1
)
c
1
. . . (
b+d1
)
c
d
_
_
_
cuyo determinante es no nulo. Luego p

= 0 implica p

= 0, lo cual es imposible.
8.2.5. Corolario. d (B
q
(n, , , b)) , siempre.
8.2.6. Teorema. Sea C = B
q
(n, , , b) un codigo BCH, donde O
n
(q) = r; es
decir, n [ q
r
1 y r, el primero. Entonces dim
F
q
C n r( 1).
88 CAP

ITULO 8. C

ODIGOS C

ICLICOS CL

ASICOS
Demostracion. Inmediato de la denicion 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, B
2
(31, , ). Puede recorrer 2 29.
Para determinar los codigos primero consideramos las clases 2-ciclotomicas
modulo 31. Estas son:
C
0
= 0
C
1
= 1, 2, 4, 8, 16
C
3
= 3, 6, 12, 24, 17
C
5
= 5, 10, 20, 9, 18
C
7
= 7, 14, 28, 25, 19
C
11
= 11, 22, 13, 26, 21
C
15
= 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 C
1
,
C
3
, C
5
y C
7
5. Se establece la dimension que es n

[C
i
[ involucrados. En este caso,
31 20 = 11.
6. El ultimo calculo de la tabla siguiente es hecho a mano.
Tomando una raz 31-esima primitiva de la unidad se tiene
g(X) C
i
involucradas dim
F
2
C (C)
1 m

0 C
0
31 1
3 m

C
1
26 3
5 m

3 C
1
, C
3
21 5
7 m

3m

5 C
1
, C
3
, C
5
16 7
9 y 11 m

3m

5m

7 C
1
, C
3
, C
5
, C
7
11 11
13 y 15 m

3m

5m

7m

9 C
1
, C
3
, C
5
, C
7
, C
9
6 15
17, . . . , 31 X
31
1 C
1
, . . . , C
15
1 31
Como se puede apreciar, un codigo BCH puede interpretarse con distintos
parametros; de ah la siguiente denicion.
8.2.8. Denicion. Sea C = B
q
(n, , , b) un c odigo BCH. Se llama distancia
de base de C al mayor tal que C = B
q
(n, , , b).
8.3. C

ODIGOS DE REED-SOLOMON 89
8.3. Codigos de Reed-Solomon
Son un caso particular de codigos BCH; de hecho, son un caso particular de
codigos BCH primitivos.
8.3.1. Denicion. Un codigo de Reed-Solomon es un BCH sobre F
q
, donde
n = q 1.
8.3.2. Observaciones.
1. Como n = q 1 entonces F
q
es cuerpo de escision para X
n
1; as que
solo hay factores lineales o, dicho en terminos de clases q-ciclotomicas, todas las
clases q ciclotomicas tienen orden 1.
2. Por lo anterior, si g es el polinomio generador entonces g =

b+2
i=b
(X
i
)
y por tanto
dimC = n + 1 .
3. Si C es un RS-codigo entonces C

tambien lo es. Esto se desprende del


hecho de que las clases ciclotomicas solo tienen un elemento y no hay con-
jugados mas que uno mismo. Esto signica que si los ceros de C contienen a
_

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

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

ITULO 8. C

ODIGOS C

ICLICOS CL

ASICOS
Bibliografa
[1] J. Adamek, 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. Human 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, Codicacion de la Informacion, 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. Rifa y Ll. Huguet, Comunicacion 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

Das könnte Ihnen auch gefallen